Retro Programming

September 6, 2005 | My Projects | By: Mark VandeWettering

From time to time, I get this curious nostalgia for the computers of my youth. Don’t get me wrong: I love having megaflops to burn, and would gleefully accept more. But sometimes I hearken back to the simpler days of my youth and my first computer: an Atari 400 that I bought with the money I earned by mowing lawns and cleaning the volcanic ash from Mt. St. Helens out of gutters. My old Atari was actually a pretty fun machine with a flexible, powerful (for its day) video architecture. The entire OS ROM was (if memory serves) 10K of 6502 assembly code, and I got hold of the assembly source for it, and read it front to back, studying it for its mysteries.

Brain WagonOver the past couple of weeks, I decided to set my clock back even further, and learn how people programmed the Atari 2600: the first programmable video game that became truly popular. I had forgotten just how primitive the thing was:

  • 1.19 Mhz 6507 processor (like a 6502, but with only 4K of addressable memory)
  • So called “player missile graphics”, two 8 bit wide sprites and two one bit wide missiles
  • No framebuffer: all backgrounds are generated “on the fly”

And yet, people made lots of games for these things. In that spirit, I set out to implement a simple game. I haven’t really gotten two far in a couple of hours of programming, but on the right you can see a screen dump of a title screen that was actually generated by writing assembly code, assembling with p65, a 6502 assembler written in perl and then running the binary image on Stella, a 2600 emulator.

I’ll yap about some of the technical details in this evening’s podcast. If you are interested in this gunk, tune in!

Addendum: Josh reports that he’s getting my “don’t steal bandwidth” image when reading this feed in bloglines. I just checked my own bloglines subscription, and it appears to be working fine for me. Is anyone else having problems seeing linked images in bloglines? I put in a special exception for bloglines, so there shouldn’t be any problems (that is, if my weak understanding of how all this stuff works is actually correct). Drop me an email if you are still having difficulties.

Comments

Comment from Josh Bancroft
Time 9/6/2005 at 9:05 am

Hey Mark-

Just wanted to let you know that I’m seeing the “Don’t Steal Bandwidth” image in this post in Bloglines. The rest of your images seem to be coming through OK after the change.

Staying subscribed! 🙂

Josh

Comment from metamerist
Time 9/6/2005 at 6:27 pm

Sigh, I was a teenage Atari computer owner as well. ( It was so much cooler internally than the Apple II.) Still have the the OS source you mentioned in my old closet at my parents’ house. 🙂