Somethinghitme

My Code, demos and ideas.

Atari Rom Reader, and color picker

Thursday, Jun 20, 2013

Wanted to share an interesting yet simple project I created the other day. It simply dumps Atari 7800 roms and displays the data via canvas. I've wanted to create a few 7800 games for a long time, but playing the games and taking screenshots to remove sprites takes forever, so I made a simple application to do it for me (for the most part anyway).

7800 Asteroids Rip

This is the result of decoding the asteroids rom for the 7800.

Atari Rom Display

Source for anyone who is interested

It was actually pretty simple to do, first what I did was read up on the 7800 spec and different graphic modes it supports. I found that 160A was the mode used by most 7800 games.  In 160a mode the sprites can have 3 colors , which are represented by a pair of bits.

00 = Background 01 = Color 1 11 = Color 2 10 = Color 3

So what I do is go through the entire rom and check the pair of bits and then draw that to the screen. Also since apparently it was faster, the graphics are stored upside down so I read the rom data in reverse order. I used AngularJS for the application as well just to get my feet with it, and created my own polyfill for the color picker inputs, which I might post about later once its a bit more feature complete.