User | Post |
creaothceann
Posts: 13/50 |
Originally posted by Gideon Zhi The 32 kilobytes following ($20C13-$28C12) are where VRAM is stored. This is mainly picture data, but there's tilemap stuff in there too - could be useful if you're trying to find layout data in a ROM. The rest of it I'm not sure about - some of it contains the graphical data for the preview, and I'm not sure where the sprite tables get stored. That'd probably be something useful for me to learn at some point...
The size of VRAM is 64 KB, and the sprite data is in OAM. Tilemap addresses are in bg?ptr and tile addresses in bg?objptr. The preview data (64x56 16-bit pixel) is in the last 7168 bytes, or may be missing... |
Gideon Zhi
Posts: 4/79 |
That's basically correct. The first C13 bytes contain header information appended to the file by ZSNES itself.
What follows is 128 kilobytes of WRAM. $C13-$10C12 contains WRAM bank $7E $10C13-$20C12 contains WRAM bank $7F. If you're looking for (for example) statistical data in an RPG, it'll be somewhere in that range, but it'll change drastically between games as you are probably aware.
The 32 kilobytes following ($20C13-$28C12) are where VRAM is stored. This is mainly picture data, but there's tilemap stuff in there too - could be useful if you're trying to find layout data in a ROM. The rest of it I'm not sure about - some of it contains the graphical data for the preview, and I'm not sure where the sprite tables get stored. That'd probably be something useful for me to learn at some point... |
creaothceann
Posts: 12/50 |
Originally posted by creaothceann This should be at offset 0090F1EF.
Sorry, that's wrong. The correct one is offset 0C13 (hex) or 3091 (decimal).
I need to check my tools... |
Smallhacker
Posts: 1439/2273 |
Guh... Why didn't I think about that? |
HyperLamer
Posts: 3984/8210 |
Start addresses are easy to find. Use AR/GS codes to modify the first address to something easily-recognizable. |
Smallhacker
Posts: 1436/2273 |
Thanks again. |
creaothceann
Posts: 11/50 |
This should be at offset 0090F1EF. |
Smallhacker
Posts: 1434/2273 |
Thanks, but since that document is next to unreadable to me, can anyone tell me at what address the RAM memory starts? |
creaothceann
Posts: 10/50 |
http://oregonstate.edu/~robinsfr/docs.html
db = byte, dw = word, dd = double word.
The following data is part of "tempdat":
KeyOnStA db 0 KeyOnStB db 0
SDD1BankA db 0 SDD1BankB db 0 SDD1BankC db 0 SDD1BankD db 0 vramread2 db 0 ; previous character for vram read nosprincr db 0 poamaddrs dw 0 ioportval db 0 iohvlatch db 0 ppustatus db 0 |
Smallhacker
Posts: 1433/2273 |
I've searched a bit, but I can't find it. Does anyone know the ZSNES savestate file format? |