I just finished reading Racing the Beam: The Atari Video Computer System (Platform Studies) an interesting read about the Atari 2600 (or Atari VCS as it was orginally known).
You might think that the Atari VCS was one of the early 2D home console systems, which had a number of 2D sprites to move around a two dimensional plane, but you'd be wrong.
The original Atari was more like a "one dimensional" console. That is, its graphics processor had no notion of a two dimensional surface whatsoever, no frame buffer, and not even the concept of two dimensional sprites. The TIA (the Atari VCS's graphics processing chip) supported -
Oh, and the system had 128 bytes of RAM. That's right BYTES.
The above graphic elements are one dimensional in the sense, for each scanline down the display, the programmer had to dynamically reprogram the objects if they needed to change appearance. If you didn't do anything between scanlines the same row of pixels would get repeated down the screen.
This is what the book's title "Racing the Beam" references, since for each scanline the Atari VCS developers were racing the CPU's clock to setup the next scanline during the horizontal blank of the screen.
The names of the various graphic elements were named after Combat and Pong, the two games the system was actually designed to play. The company figured that if they could create other games for the system, then it was a bonus, but it was designed around Combat and Pong, which were popular arcade games at the time. It's incredible to think that the VCS had one of the longest production runs in home console history with over 10 years of service!
Atari VCS ROMs were also 2K-4K for the most part (with 8K and 16K appearing late in the life of the system using bank switching). This small size meant developers would go to huge lengths to save space in the programs, often using graphic data as code, or code as graphics data.
A simply astonishing number of games were created for the Atari VCS which found innovative ways to overcome the limitations of the system (even when it probably wasn't a good idea to try). The book covers a number of landmark games in the system's history, such as Pacman (which is sometimes blamed for the North American game crash of 1983), Pitfall, Star Wars - The Empire Strikes Back (the first licenced Star Wars game) and others.
Pacman was interesting since the game requires Pacman and four ghost characters to be somehow fit into the "two player sprites" Atari VCS. This was accomplished by only drawing each ghost on every fourth frame, which makes the game pretty much unplayable in an emulator -
But as you can see, on a traditional CRT television, it looks fine (thanks to the eye's persistence of vision) -
That said, it's still a pretty poor rendition of Pacman.
Pitfall was also interesting as it's pretty much the first "platform game" that has many recognisable elements of the genre by contemporary standards. The way the game was fit into the cartridge and how it came about from a design perspective is also fascinating and there's an excellent talk on it by David Crane given at this year's GDC.
Anyhow, I'd highly recommend picking up this book, if you were a kid in the 80's, if you have an interest in early computing hardware, or just if you're generally interested in computing, it's a great read.
I'm actually tempted to write an Atari VCS game in assembler as a programming challenge. I used the 6502 quite a bit during my university degree, and the simplicity and purity of coding in against an 8-bit CPU like that is a lot of fun.
Amazon.com - Racing the Beam: The Atari Video Computer System (Platform Studies)
Richard Nichols is an Australian software engineer with a passion for good design and simple solutions.
You could follow him on twitter or subscribe by RSS or email.