Erik's assembly and Atari 2600 programming page


Here you can see my hobbyist work in game programming. Back in high school, I learned Basic and then 8086 assembler programming on my own. Here's a little graphics demo I wrote way back when to teach myself assembler. It can run at full speed even on the 386 I wrote it on.

Then I started on writing a game myself, intending to release it as shareware. I lost the source in a hard drive crash (recovered it only a couple years ago off a floppy), so I never finished it. Somewhere along the line, it got named Solarstar. Press P to pause and unpause, arrow keys move, space bar shoots, and the bracket keys adjust your energy allocation between shields and weapons (you can't shoot if your weapon energy is empty.) It's a fairly impressive graphical display -- five layer parallax scrolling at full speed on a lowly 486/50 with an ISA video card. I'm no artist - those were the best I could do in Deluxe Paint, heh.


Then, as a college freshman several years ago, I came across the Stella mailing list, a resource and community for Atari 2600 programmers. Since I'd been playing games on the console for something like fifteen years, I was really curious as to what made it tick.

To see any of these 2600 projects, you'll need an emulator. The good ones are Z26 for DOS, StellaX for Windows, and PCAE for both.

So, during some semesters of school when I had few classes, I learned to program the machine. My project was dubbed INV for lack of anything better. It was an attempt to show that the little console could indeed do an arcade-accurate 11 x 5 Space Invaders formation rather than the stripped-down 6 x 6 that Atari released. Binary Source

But those invaders use the playfield graphics of the Atari 2600 that were intended to be used for the terrain in games like Combat and Pac-man, resulting in blocky-looking and dull invaders. I then came up with this demo showing that 11 x 5 arcade-accurate invaders are indeed possible on the 2600. Eleven copies of a sprite on one line? Unheard of on the Atari 2600. How do you make a decision in zero cycles whether to display a sprite? Calculate it ahead of time by self-modifying code and running it in RAM! Binary Source

I never quite finished the first one after putting together the second one, and while I was working on the second one I got a full-time programming job, which kinda killed my desire for the Atari projects. (If I was writing code for eight hours a day, the last thing I wanted to do was go home and write more code unpaid. Heh.)

I also threw together a tech demo to show how the 2600 can generate NES-level graphics like in The Legend of Zelda. Binary Source


And so it goes. I've graduated college, with a four-year bachelor's degree in Computer Science and two years of professional co-op and internship programmign experience. I'm looking for a job where I can apply my experience and interest in programming computer and video games. If you have any leads on such, preferably somewhere in or near the New York City area, let me know at erik-at-dos486.com . (Spambots Suck)