Language…
6 users online: anoMaly666, anonimzwx, Gamet2004, Saela, Scags, Tomi P - Guests: 268 - Bots: 388
Users: 64,795 (2,378 active)
Latest user: mathew

Pointer Tables

I've looked through the ROM Map, all.log, and other disassemblies, but I haven't found everything I'm looking for.

My question is, I need to find the locations of the pointer tables for level data (all parts of it) and all the graphics and ExGFX files in-ROM. I've found the tables for the level data on the ROM Map (these are valid after LM's been used, right?), but I still haven't been able to find the pointer table for the graphics. Does anyone know where this table is or has anyone had better luck finding these tables than me?
Hey Sukasa, it's been a while.
From my notes, Layer 1 data is at $45:E000
Layer 2 data is at $45:E600
I'm not sure about Sprite, but I'll bet it's around there somewhere.
As for GFX, you can just open the Super GFX Bypass. All GFX files have the address of where they are written. You can just follow that to the pointers.
----------

Interested in MushROMs? View its progress, source code, and make contributions here.

I tried that, but whether I subtracted the header or not I couldn't find the pointer tables that way :/
Hmm ... my notes have gotten very old.
Sorry about that. Well, you can just open a level, then go to open level address. There's a default address of the current level. You can follow that to the Layer 1 pointers and the layer 2 pointers should follow.
----------

Interested in MushROMs? View its progress, source code, and make contributions here.

nono, I mean in finding the address of the pointer table for the GFX/ExGFX files.
Hmm ... did you convert from PC to SNES?
Anyway, the ExGFX files 80-FF are at $0F:F600
Also, if I remember, you might find ExGFX files 100-FFF at $40:8000.
I seem to not remember where the original GFX files are. =[
----------

Interested in MushROMs? View its progress, source code, and make contributions here.

..That's where the pointer tables start? If so, thanks.
..Ah, I've found the tables with a little help.

Turns out, the pointer tables to graphics are really screwed up, and are split into three 51-byte tables.

the PC Address is *with* a header.
==============================================================================
PCAddr Length Description
==============================================================================
03B92 51 Bytes Low Byte, GFX pointers Table
03BC4 51 Bytes Middle Byte, GFX pointers Table
03BF6 51 Bytes High Byte, GFX pointers Table

HyperHacker
Yes, they like to split things into 3 1-byte tables, for speed I guess. I often just search for one of the bytes "$xx," in all.log and look for groups of small tables, then look at the corresponding byte in the surrounding ones and see if it matches.
My projects - ROM hacks, Gameshark codes, homebrew, useful apps, online 65816 disassembler
SCAM: HomebreWare and Wiiunlocker
Generation over 9000: The first time you see this, put a meme in your signature.