I need to change how some of the enemy and item sprites are constructed in the last two levels - what tiles they use and where (metasprite construction or OAM). My versions of some enemies are shaped a little differently, animate a little differently, use different tiles etc.
I have been unable, so far, to find the sprite placement data in the ROM. I searched for specific tiles and their palettes and did not find anything obvious in the hex. (Admittedly, the code is hard to read by sight.)
Mesen's Sprite/OAM RAM (in Memory Tools) is outputting valid metasprite data but I haven't yet spotted anything similar in the ROM.
I would be using Shiru's NES Screen Tool to rework the metasprite construction.
It's possible that there's some compression going on or an unusual format, or that the PPU is assembling bits and pieces of the CHR sprite sheets together, in a way that's different than expected, so the rows it's calling are different. It does that for the title screen, which I've already reworked. The emulators Mesen and FCEUX do not account for this, so I can't really be sure.
Maybe the game skips the palette byte, since every character in the game uses a single palette?
These are my notes on what I was looking for in the ROM (one expected tile and its palette)
71 00 Pirate boss
BF 01 Walrus
68 00 Queen boss (A8 00?)
B6 00 or 02 Cake
A6 ? Diamond
E2, F2 01?? Strange Minnie?
More small questions:
There is a strange version of Minnie in gold on this sprite sheet, with reversed colors. I'm not sure if this actually appears in the game.
The game has a level select cheat, but it seems to mean that you don't get to see the Alice ending. I'm wondering if there's a way to skip to the ending for playtesting purposes.
Also if anyone has experience with ASM 6502 NES coding, I have some additional questions to ask you privately.