Sunday, June 13, 2010

This Book About the Atari 2600 Reminds Us That Programming These Days is Really Candy Ass

I recently read 'Racing The Beam: The Atari Video Computer System'. The book introduces a new field: 'platform studies', which sounds academic and dry, but if you are a technical person, what it is is a nice break from the told and re-told video game mythology those of us who came up in the era of classic video games (roughly the late 70's to the '83 crash) have heard and re-heard: the Pong coin box overflowing, the pizza with a slice missing as Iwatani's inspiration for Pac-Man the truckloads of the hated 'ET: The Extra Terrestrial' cartridges being dumped in a pit in Alamogordo, New Mexico which was then paved over.

Today's programmers, whose 'hello world' programs written in Java require the memory of millions of early 80s Sears Department Stores' Electronic sections full of VCSs have heard stories of the amazing programming feats in the days of old. The Atari 2600 (code name: Stella) featured a whopping 128 bytes of RAM. Not 128M. Not 128K. 128 bytes. You can't even fit a whole Twitter Tweet in there.

'Racing the Beam' gets into the gory details of the platform's design. Of particular interest is the TIA (television interface adapter). Screens were drawn line-by-line (with 192 vertical scan lines), and horizontally the screen was divided into 'color clocks'. 'Racing the beam' refers to the need for code to do all the necessary calculations in these tight time constraints.

Aside from the memory and time constraints, the games were mostly built under tight personnel (usually one person per game) and schedule constraints (although in the chapter about the game 'Adventure', we learn that after a very intense month of prototyping (and essentially laying the groundwork for a whole genre of games), Warren Robinett had to take a month-long vacation to let his brain recover).

How Deep Does It Get?

As I mentioned before, the book does cover the architecture of the system in a block diagram sort of way. While there are no extensive code listings, the chapter on Combat gives a high-level overview of the program's structure and discusses the building blocks for game graphics: 2 hardware sprites, two 'missiles', a 'ball', and a playfied (by default, this was symmetric, so the field could be specified in half the space it would otherwise take).

Brave souls who want to dive deep into Atari 2600 programming can do so now that we have the internet. See the complete disassembly of the Combat code by Nick Bensema and Roger Williams. This is at first horrifying, but after the initial fear I was struck by the thought that this was the product of a single mind, in contrast to the 'product of many minds of varying levels of skill and levels of giving a shit' nature of enterprise software, which can end up being horrifying in its own right, no matter how many new programming wonder-fads and tools are thrown at it.

For all their heroics, the programmers of the Atari 2600 had their share of shame. Tod Frye got some big royalty checks for his 2600 version of Pac Man. He posted them on his office door: whether this was because of social ineptitude or just being an asshole will be debated by platform studies scholars for years. Unfortunately, the game was horrible, as those of us who owned it and played it 3 or 4 times recall. Millions returned the cartridge, other people, like me, just never played it again. I should note that this book does a pretty good job describing the technical reasons the game sucked so bad.

So what is it? Academics? Nostalgia? Geexploitation?


I mentioned at the start of this post how a lot of us have heard the stories of the classic video game era many times. Really great stories stand up to retellings and help pass them along to new generations, who may or may not care. This book does provide a freshness by looking at the 2600 from a technical as well as cultural, historical, and business perspectives. I'd like to read similar books about other great machines of the era, both game machines like the NES and early home computers like the Commodore 64 or the legendary Apple ][. With Maker culture getting people interested in working within the tight constraints of PIC and AVR microcontrollers and the Arduino platform, there's even a practical benefit to looking back at techniques that today's web monkey will have little or no use for.

I'd recommend the book to anybody who loved the Atari 2600 but doesn't want to just take another nostalgia trip down memory lane, or anybody who wants to know how grandpa wrote programs back in the old days.

Friday, June 04, 2010

Not quite destroying Jah work: the least offensive attempts at reggae by non-Jamaicans

Reggae is not for everyone. Unfortunately, over the years it has become associated with dorm room stoners and the likes of Ras Trent of 'Are You There Jah, It's me Ras Trent' fame.

It doesn't really help that people unfamiliar with Jamaican patois only catch a few words and phrases ('Babylon', 'sensimilla', 'Jah', 'Selassie', 'I and I', 'mon', 'ting') and decide that reggae lyrics are written by putting these words in a hat and pulling them out at random.

If those misunderstandings of reggae weren't bad enough, 'reimaginations' of reggae by the likes of Eric Clapton (I Shot The Sheriff) and Guns'n'Roses (Knockin' On Heaven's Door) just rub salt into the wounds.

Reggae is music that took a round-trip from the U.S. to Jamaica and back. Jamaican musicians playing their versions of R&B and 60s pop heard on cheap radios created reggae, and then people like DJ Kool Herc took the sounds and ideas of dub and sound systems to New York City, and hip hop evolved out of that. The Selector became the Hip Hop DJ, and the Reggae DJ became the Hip Hop MC. Remix culture and many genres of electronic music have obvious roots in dub.

This is not a history lesson, though. Instead, let's look at some rare occasions of reggae songs by non reggae artists that weren't complete abominations.

Clash - Police and Thieves

As the Don Letts' 'Punk Rock Movie' showed us, reggae is what punk bands listened to when they were off the clock. I loved the 'sparse instrumental reggae' the Clash played while riding in their bus. Later I'd find out it was actually dub.

The Clash took a stab at a classic reggae track on their debut album. Singer Junior Murvin's reaction to hearing the song was "They have destroyed Jah work!", but as well-meaning attempts at reggae by punk bands go, it's the best.

Police - Walking on the Moon

Sting, who used to be cool once, recorded what you could call bubblegum reggae during the early days of The Police. Sting says Miles Davis collaborator and jazz great Gil Evans once told him he loved the bass line to this song. It's simple but effective, and the lyrics go well with the lightweight music.

Sublime - Santeria

This one's more recent. They get points for talking about a different fringe religion than Rastafarianism here. Unfortunately, taking different drugs than marijuana didn't work out so well for them.

Rush - Vital Signs

Rush is hated by a lot of people who don't understand Rush and are idiots. Back when the band Queen put reactionary 'no synthesizers' labels on their albums, Rush took on the challenge of incorporating them into their sound. They've never shied away from alienating people. This song is the last track on 'Moving Pictures', and it sounds nothing like the rest of the album ('Tom Sawyer', 'Red Barchetta', 'Limelight'). It probably confused a lot of the people who said 'fuck yeah!' when they saw the 'no synthesizers!' label, which is great.

Paul Simon - 'Mother and Child Reunion'

This 1972 song features Jimmy Cliff's backing band, so musically it's the most authentic of the bunch. It's tempting to dismiss this as some form of cultural thievery the way some people dismissed Simon's use of South African musicians and styles on the 'Graceland' album, but whatever the case, it is a great song.

The Orb - 'Towers Of Dub'

Early 90s pranksters and plagiarizers The Orb always had a sense of humor that was welcome in a genre filled with people taking themselves too seriously. This song, with the prank call at the beginning ('If you see Haile Selassie, tell him that Marcus Garvey called, and I'll meet him in Babylon and ting'), the dog barks echoing off to infinity, and the floor-shaking bass line from Jah Wobble, manages to goof on dub and pay tribute at the same time. The Orb kid because they love.

Conclusion: check out 'King Tubbys Meets Rockers Uptown'.