Tuesday, July 04, 2006

Atari 2600 - Stella wrestling

I spent the last few days working on some atari 2600 stuff, mainly making a good titlescreen/menu structure, which will serve as a basis for future games. I spent quite some time adopting Wonderpix to export my atari 2600 title screen properly.

The 2600 was mainly designed to run 2 games: combat (i.e. 2 tanks shooting a missile at eachother) and pong, therefore all the hardware is oriented towards having 2 monochrome playersprites of 8 pixels width, 2 missiles and a ball. In fact Registers on the 2600 TIA chip are litterly called P0 (player0), P1 (player1), BALL, MISSILE0, MISSILE1. in addition to these sprites you can have a playfield (PF) which consists on a 1-dimensional row of 24 blocks of 8 pixels width, which has to be refreshed each scanline. In short: horror!

The soundchip isn't much better with 2 channels of linear frequencies... thats right LINEAR, so it is very hard to have it output a sound that ressembles a western musical note :s Which is why most music on atari2600 is either not present or completely out of tone/key.
While i've tackeled the music problem last month with a music converter that converts proper note data to interleaved linear notes (e.g a D-2 note, would alter between frequencies that for example approximate C#2 and E-2) which, when you take these limits into account, gave a fair result.

So now it was time to get a proper title screen. The titlescreens are done by using the 6-sprite trick on 2600, which normally can only handle 2 monochrome sprites (as described above).
Basically its a trick used in other 2600 games as well to either display a 6-digit score or a small logo, where you'll be refreshing the sprite data of the second sprite while the first is drawn and visa versa. This way you can have a titlescreen with a maximum of 56x192 pixels. I'm now working on a way to display full color images, so that the title screen will actually be a nice addition to the game other than just a boring monochrome logo before starting the game.

To be continued...

No comments: