« on: August 06, 2016, 01:30:32 pm »
GAME: Slap Stick (Japan)
I'm attempting to discover the pointer tables for in-game text, and so I wrote a pointer sniffer.
Via the sniffer I found a table whose first pointer seems to be $3DC5 at offset 01C4FD. So, I went to offset 01C53D to see what was there. To my surprise, it contained not data, but another pointer. More strangely, that pointer is... $00003DC5.
The pointer points to a pointer with an almost identical signature? What's going on?
August 06, 2016, 01:41:44 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
The table seems to be divided into two sections. The first section is a bunch of 16-bit pointers. They point to a very similar set of what look like 32-bit pointers, and I don't know what those point to.
It takes this form:
16-bit pointers - XXXX YYYY ZZZZ WWWW UUUU
Their corresponding 32-bit entries - 0000XXXX 0100YYYY FFFFZZZZ 0200WWWW FEFFUUUU
In the 32-bit section, the first 16 bits are actual values from the ROM. It actually follows that pattern of alternating increments from 0000 and decrements from FFFF for a little while. Then, those bytes switch to a format that isn't as simple to discern.