Fire Track for the Sega Game Gear

Published September 01, 2005
Advertisement

I've decided that it's time to develop some Game Gear software. [smile]
I'm going to start with a conversion of the BBC Micro game "Fire Track" which I have previously converted to the TI-83 Plus graphing calculator. It's a simple vertically scrolling space-shooter.


I'll be developing in my own Latenite Z80 editor - by knocking out a few batch files, I'm ready to compile to SMS\GG compatible binaries.

One problem I have is remembering memory locations and port addresses, so I'm writing an include file (gamegear.inc) of the most useful values and routines.asm that will contain a bunch of core reusable routines.
Fire Track was all about superbly smooth scrolling backgrounds, so it makes sense to start this project by developing the scrolling background bit. However, to get anywhere with that I'll need some background tiles to work with - fortunately, I've got my 8x8 background tiles from my TI-83 Plus version. Sadly, they were in black and white so I had to colour them in and tidy them up a bit:

When developing for the TI-83 Plus, memory is a prime concern so I had to keep the number of tiles down. With the Game Gear version, I can hopefully expand the number of tiles, and maybe even make them more... colourful. [rolleyes] Fire Track only had two levels that it repeated, one after another, with a simple palette switch and more enemies to make them "different". In my Fire Track 2 I made it randomly generate levels from a series of "chunks", so I'll probably implement that here.
A very simple program was written to initialise the VDP (video display processor), copy over the pallete and tile data and display all the tiles one after another. The result:

The "tilemap" screen shows the displayed tilemap (by changing VDP registers I can set the position of that clipping rectangle). The top-left screen is what the player would see, the top-right screen is the tile memory. The black shapes just under half way down are NOT intentional, and every test program I have written that writes to the "names" buffer (the area that indicates which tile to display on the grid - a sort of map) corrupts that area. In the emulator it doesn't make much difference, but on hardware it completely fudges everything else.
Ah yes, hardware. How can I test this on a real Game Gear?
First I need a working Game Gear. Cue two half-broken consoles, a screwdriver and some rearrangement:

...and I have one working Game Gear and one completely buggered one. [grin]
I'm using Tototek's GGPro cart to test on hardware.

Using a fairly odd piece of Windows software and a bit of fiddling in the BIOS you can send Game Gear ROMs to the cartridge. It even supports multiple ROMs (it adds a nifty little boot menu). Anyway, in this case I'm only really interested in "ftrack.gg" - and here we go:

Magic! Well, it doesn't appear to do much, I'll give you that. But it works...
Next Entry Scrolling!
0 likes 4 comments

Comments

choffstein
Now that was cool.
September 01, 2005 08:59 AM
benryves
I wrote most of that at about 1AM so it's a bit all-over-the-place - though that matches the style of development in this case. *sigh*

All in all I spent about 4 hours on that last night, and there isn't an awful lot to show for it. [rolleyes]

The TI-83 Plus version looks like this in action:


Seeing as the TI-83 Plus and the Game Gear both have the same CPU (a Zilog Z80) I should be able to copy-and-paste quite a lot of the data and routines. Some things will need to be taken into consideration, though:

- The TI-83 Plus version makes a lot of use of "lists" of data in memory (list of explosions, list of enemies, list of bullets, that sort of thing). To access these lists, I use the index registers which are supposedly quite slow.

- The Game Gear CPU runs at 3MHz. The TI-83 Plus CPU runs at about 6MHz.

- However, all the rendering of the tilemaps/sprites was done in software on the TI-83 Plus. On the Game Gear I have the advantage of a hardware based tilemap/sprite system.

- I'll have to redo all the maps. The current ones are shrunk versions of the BBC Micro game to fit the 12-tiles-wide TI-83 Plus display. The Game Gear can display 20 tiles in width, so I can get much closer to the original maps.

- None of the TI-83 Plus graphics code can be used in the Game Gear one. I'm not sure if/how I'll be able to create parallax scrolling effects. The only way I can think of doing this would be to rewrite the "black" tile, but this is not practical as tiled 8x8 "starfields" will look really rubbish. Mixing a number of different starfield tiles would be tricky too, as the stars would move at a different speed to the tiles they are on which would lead to jumping.

- And, of course, I'll need someone to do the PSG music. [grin]
September 01, 2005 09:26 AM
SKATIN_HARD
That is some awesome stuff. Keep us updated.
September 01, 2005 01:33 PM
Toxic Hippo
Pure awesome. I await future developments [grin]

September 01, 2005 05:08 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement