[104]tilelocs.txt
SNES Game Tile locations Piken (FDwR_at_hotmail) 2004-04-04 / 1999-12-11 http://oregonstate.edu/~robinsfr/snes.html http://members.tripod.com/FDwR/snes.html Terms: tilemap Any map consisting of tiles field The actual, 'physical' playfield First is the tilemap's offset, then its dimensions, unit size, and sometimes the pixel size of its individual tiles. All savestate WRAM offsets are given in relative hexadecimal offset (to convert to absolute file positions, simply add 3091). ROM positions are relative to the beginning of the image (after the 512 byte header if is there one).
Read moreRead less
SNES Game Tile locations
Piken (FDwR_at_hotmail)
2004-04-04 / 1999-12-11
http://oregonstate.edu/~robinsfr/snes.html
http://members.tripod.com/FDwR/snes.html
Terms:
tilemap Any map consisting of tiles
field The actual, 'physical' playfield
First is the tilemap's offset, then its dimensions, unit size, and
sometimes the pixel size of its individual tiles. All savestate WRAM
offsets are given in relative hexadecimal offset (to convert to absolute
file positions, simply add 3091). ROM positions are relative to the
beginning of the image (after the 512 byte header if is there one).
The tile table (found for 'Zelda' and 'Mario World') is the table used by
the game to translate level blocks into a graphics tilemap on the screen.
Editing it will not change the graphics, but rather the graphic tiles
associated with that tile unit. For example, you could substitute all
rocks for bushes in Zelda, not by changing the tile pixels, but just the
2x2 tile reference for bushes. Note that this does not affect the physical
aspects of the field (you still won't be able to dash through a rock :),
but visually things will be different.
Most of these locations are found in ZSNES savestates where the tilemaps are
uncompressed. To get the memory address as it would be from the SNES's point
of view, simply add 7E0000h (useful if you want to do some hacking to the
level within ZSNES using the debugger).
Aladdin
<ZST> 10000h 16x#:word Main field
Cybernator
<ZST> 12B92h #x#:byte Main field
ChronoTrigger ???
Donkey Kong Country
No wonder I couldn't find any reslembances of a level in WRAM.
There are several long levels stored fully expanded in the ROM.
I actually realized they were levels a long time ago, but didn't know
how they were stored. Compared to normal, they look like they're stored
sideways and backwards, with each of 16 words actually being a vertical
column in the level. The lowest address is the top left of the level.
The highest address is the bottom right. Each word forward is one tile
down. Every 16 words forward is a tile to the right. I still don't know
how the odd shaped levels are stored, but probably something like
"Mario World 2" where pieces are joined together. Most games use 16x16
level tiles, but DKC uses large 32x32 tiles (made of 16 8x8 graphics tiles).
<ROM> 10FF0h 32x28:word Main Island Map
B0000h 16x?:word Mine Cart Madness!
B3B00h ** Platform Perils!
B6960h ** bonus room?
B6B80h ** Trick Track Trek!
1EA91Ch Rambi graphics
203836h 16x?:word Snow Barrel Blast!
207816h 3rd snow level
20A1D6h Rambi Bonus
2101E5h ice caverns
220000h 16x?:word what stinkin level is this?
260D88h 16x?:word Mine Cart Carnage!
290000h 64x?:word pieces of a larger level
2C1800h 16x?:word another curious level
2D23AEh 32x?:word what is it?
387768h 32x?:word another weird structure
<ROM> **Tile Tables**
BE040h-C0000 Mine Tracks
100000h-104760 Underwater
1ABF00h-1AF580 Caves
1BA0CCh-1BCC4C Mine Shafts
20AAD6h Snow
213BE5h Ice Caverns
There were several more curiosities and levels that I left out.
Final Fantasy 2
<ZST> 15B00h Main field
Mario 1
<ZST> 4371 16x13:byte Main field (2 pieces)
11283 32x?:word 8 Background (8 pieces)
The field is loaded in column by column as you walk to the right. Because of
this, only a small portion is available at any given time (a total section
of 32x13 tiles).
Mario 2
<ZST> 2000h 16x15:byte 16x16 Main field (variable pieces)
B100h 16x15:byte Mirror of main field
The levels in this game are extremely simple to find and map, since it just
loads everything in for that level. No matter how many rooms or parts a
level has, it simply loads them all. I'm not sure exactly what the mirror
field is for, possibly for tile solidity detection.
Mario 3
<ZST> 11283 16x27:byte Main field (variable pieces)
19600~16x27:byte Mirror of main field
Mario World
<ZST> C800h 16x27:byte 16x16 Main field (variable pieces)
<ROM> 130000h Base of tile table
Mario World 2: Yoshi's Island
<ZST> 18000h 16x16:word 16x16 Multiple pieces
<ROM> 110000h 256x?:byte Linear graphics
<ROM> 1C0000h 256x?:byte All the level icons
Mario RPG
<ZST> 10000h Main field, front layer
12000h Main field, back layer
1B000h Physical field (edit this to walk
through walls:)
Metroid
<ZST> 10002h #x#:word 16x16 Main field
The field size is variable but is always a multiple of 16. The base is
offset two bytes from an even bank (7F).
Secret of Mana
<ZST> 10000h 128x?:byte Main field
<ZST> 14800h 128x? Secondary field
StarFox
<ROM> 90000h 256x?:byte Linear graphics
Zelda
<ZST> 2000h 64x64:word 16x16 Overworld field (one large piece)
64x64:word 8x8 Underworld tilemap (one large piece)
4000h 64x64:word 8x8 Second story of(if applicable)
128x?:word Overworld pregraphics field?
12000h 64x64:byte 8x8 Underworld field
13000h 64x64:byte 8x8 Second story of underworld (if applicable)
<ROM> 54927h byte 8x8 Overworld map (when X is pressed)
DD508h Link palette
Underworld simply refers to anything not above ground, caves, castles,
dungeons, and the insides of homes.
Modifying the field at 2000h while in the Overworld changes both the tile
looks and physical properties. Modifying any tiles at 2000h while in a
dungeon only changes the look; the attributes remain the same. Change them
at 12000h to change its properties, perhaps to remove a wall or change
where a door takes you.
<ROM> 492032 78000h Base of Overworld tile table
Note that only the Overworld uses a tile table (since it is so large with
varying landscapes), not the dungeons or caves. They instead store the exact
units as they would appear in VRAM. Also, they use an 8x8 playfield rather
than one 16x16.
Retro Replay Retro Gaming History, Reviews & Emulation