0xC210E is the beginning of Field 00’s level data. It ends at
0xC3191, and in its entirety it’s 0x1084 bytes big. It includes the tiles to use for the level, starting point for the player, sprites and physical properties of each tile. Probably time and music bytes too. Tile set to use isn’t, however, defined in this bunch of data.
The mystery begins at
0xC3015. Or, to be honest, anywhere in the data where there’s these strange combos. Check this out:
0xC3015: 8E 4D 8D 4D 8C 4D 8B 00 4D 8A 4D 89 4D 88 4D 87 00 4D 86 4D 85 4D 84 4D 83 00 ...
Now, those 00s (and other evil purposeless bytes and byte combos) are scattered through the level data. The bytes never appear as a constant stream, it’s always four bytes max, then that combo breaker 00 or 04 or 00 0F 2C or some crazy ‘useless’ byte shows up.
But regardless, it’s a start. Right now I’ve got to flee, but I’ll be posting more of my findings, mostly sprite construction data, as soon as I get home.
In the meantime, screw around in that area.
The graphics are compressed, but below are Bank 0 and Bank 1 from the first level.
Okay, slowly getting the hang of this. First off, let me explain the property byte in bits.
VHBP AL?N --------- V is for Vertical flip of the tile. H is for Horizontal flip of the tile. B is for Behind. If this bit is set, you (and all sprites, for that matter) will be hiding behind this tile. P AL are for PALette. 8 palettes to choose from. ? is... I don't know. Seems to a some kind of a hybrid bit between bank and palette selection. Another interesting this is that this bit is never set. N is for Bank. If not set, load graphics from bank 0, if set, from 1.
I’ve also confirmed that the purpose of the
00s is not physical attribute defining. The first
$28B bytes are used for defining physmaps and possibly sprites too. Editing any of the bytes in this area will not result in visual changes (except the total garbage-fest that occurs when editing a wrong byte).
Original information discovered by Naulahauta.