Video Games

Atari 2600


Bonk is my first, and so far my last, Atari 2600 program. It is not a game per se, but a proof of concept for MIDI sound.

Atari 2600 programming is challenging because the program must set up the registers in the graphics chip for each raster during the time the television is preparing to draw the next raster. That allows time for about 25 machine instructions. Adding the requirement to send two MIDI bits out pin 1 of the right joystick port during each raster makes it even worse.

I worked on the MIDI and scoreboard display loop during my Christmas vacation in 2003. It took 12 hours a day for 6 days. There are no NOPs in the loop, and I had to use some "undocumented" opcodes to fit everything in exactly.

I hope someone will find this demonstration interesting or useful. There may be a more efficient way to do what I have done. All are welcome to take from it what they can use, but I would appreciate hearing about innovations based on my work. (And if a real game ever comes out of it, I would greatly appreciate getting in on the first lot of cartridges.)

Download: binary source