Saturday 1 October 2022

Characters, Tiles and Sprites

Just a quick update.

Yesterday I made some inroads into decoding the object tables for each area. I know the identifier bytes now for most of the static ground-based objects, including the Sol Citadels/Towers.

What this means is that I can now, in theory, generate the definitive map with the locations of all the Sol Towers. This is something I've wanted to do for well over a decade now.

It's interesting to note that the locations are per-area, which means different areas can (and likely do) have different locations for Sol Towers even when comprising overlapping areas of the global map.

And as an aside; these objects are all hardware sprites, not tiles, which surprises me a little. It would explain why you sometimes see them jitter by 1 pixel against the background when scrolling in MAME. It will be interesting to deduce whether it's a 'feature' of MAME, or a feature of the real hardware.

And way back in 2011 I was working on an FPGA implementation of Xevious and, like for my other FPGA projects, had developed a tool in C to convert the graphics ROMs and palette/clut PROMs to a more convenient format, as well as display them. I was using gcc (MinGW) and the (old) Allegro graphics library on Windows at the time.

Tonight I resurrected that tool, using a more up-to-date build toolchain and the new Allegro library. That took quite a bit of stuffing around identifying, downloading, installing and configuring the right components. Then I had to port the tool to the latest Allegro API - it's quite different from the old one. Fortunately I had my more recent Scramble tool as a reference.


Foreground layer tiles

Background layer tiles

Sprite tiles

This means I can now attempt to generate the maps; both area and global.

At this point I'm undecided whether to continue with the RE, or continue with the maps...

No comments:

Post a Comment