Monday, March 20, 2006

Computer Science Students program Atari 2600 games, using Batari Basic

I know that headline means almost nothing to most of you, but trust me it's cool. The 2600 is probably the most challenging programming environment around these days. The machine has no frame buffer, 128 bytes of system RAM and 4K of ROM space. Graphics must be constructed essentially line by line with the CPU and the overall code timing must in most cases be cycle perfect to sync with the Television for a stable image. No BIOS, just a cpu, some minimal hardware and that's it!

Fred Quimby recently managed to come up with a compiled BASIC language for the 2600 that allows people to program the machine without having to manage all the smaller details and timing normally associated with the machine. The resulting environment is minimal in terms of graphics variety, but runs real time. Programmers can mix 6502 assembly language with BASIC statements to program their game with a very limited set of graphical elements. Sounds messy and it is, but it's also quite fun to push your creativity on a video game icon.

Until recently, the 2600 authors club was fairly exclusive. A small, but talented group of assembly language programmers have continued to push the boundaries of what this machine could do, year after year. Amazing frankly. Batari Basic opened up the experience to others and it seems it's catching on with at least these students who programmed games for their computer science class. (How cool is that?)

Despite the limited environment, there are some good gameplay elements in these project games. If you are into emulation and classic games, IMHO these are worth a look.

Here are some screenshots of the games created!

You can find the student project page here.


Blogger ANUS said...

Hello guys is there a way I can be notifed by e-mail that a reply is posted here?

I'd really want to learn game programming from the ground up.

I know a little assembler but has been awhilesince i touched it.
any place I could get a great fq, some example game code that runs and support to learn this?

April 04, 2006 9:33 PM  
Blogger Doug Dingus said...

I don't think Blogger will let me do that.

If you are wanting to explore the old Atari 2600, I suggest There is a forum there for new Batari Basic users.

Banging around on the old Atari is probably the hardest way to program games, but it's a lot of fun at the same time. 8bit assembly language has an appeal that's hard to kick.

There are many top-notch developers there working on games for the old machine. At the least, you can get a grasp of what does and does not make for an interesting game.

I'm going through that right now with my first effort. Ooze, which can be found on the AA site. Technically, it runs great. However it still does not have that little spark that makes for a game that people will come back to over and over again.

April 04, 2006 10:35 PM  
Blogger Kagan Bulan said...

By Kagan Bulan,
I am becoming obsessed with the idea of programming my own Atari 2600 games and also on studying the structure of the chips that make up the atari 2600 and it's games. Are they EPROM chips? How can I get started? Is there any literature on the assembler language and basic language used to program the Atari 2600 and the techniques used to push the Atari 2600 to it's limits?
Oh, when can I purchase a copy of Rainbow Invaders?

May 19, 2006 9:57 AM  
Blogger Doug Dingus said...

I would go here to start:

The newbie forum is where you can find docs, ask questions, and locate stuff.

From there you will find more info than you can process.

May 19, 2006 2:29 PM  

Post a Comment

<< Home