MM: bg tile bank work

I came up with a method to extend the number of BG tiles from 256 to 768. By using invalid/unused address range of the PPU (for the tilemap sections. So $279c would be normal bank 0, $479c bank1, $879c bank 2). I just finished modifying the backend code for this. Attributes are extended the same way. This should allow for more unique detail in the BG maps.

As for the game itself, I’m writing a hook that reads a shadow map of the current ‘room’ of the stage and provides the alteration to the ppu address of ‘TSAPPUtransfer0NTaddress’ per 32×32 meta tile (a room is 8×8 meta tiles or 256×256 pixels).

So 768 8×8 back ground tiles and 12 background sub-palettes. The additional sub-palettes are not tied to the bank of tiles used either; they’re independent of each other. But the sub-palettes are ‘banked’ or grouped, so a 32×32 meta-tile can use 0-3, or 4-7, or 8-11 sub-palette slot but not mix and match within the metatile. This isn’t a limitation of the backend upgraded emulation code, but rather a compromise to keep minimal breaking and compatibility with original game engine. The color depth is irrelevant to all of this. It can be 2bit or 4bit regardless.


One Response to “MM: bg tile bank work”

  1. Heh, I could expand the BG sub-palette to the full 16 entries, but really even the 12 is overkill for this game.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: