Snake Rattle 'n' Roll (ROM offset)
Take caution, below info is being steadily researched on at this moment!
Each row x is 64 bytes. $63D0 Main area data starts (the most left tile on the first level, barely visible on the screen) $73CF Main area data ends (the most right tile on the end of the second level, also barely visible) $73D0 The mushrooms in level 2 acts odd. Quite suspecting considering that it's the byte after the main area data... I suspect that the data for the othera area is seperated from the main one, such as the bonus, underwater and arctic area. $63cf This byte is B6, it seems to just mean "end of the text". Changing it just make the game barf. How the game generate the area from the area data in the game. (if the area was 4x4) In hex editor: ABCD EFGH IJKL MNOP In the game: MNOP IJKL EFGH ABCD ---- Tiles ---- Water, Elevated water have waterfall along it's walls, and also have currents (how currents works is unknown at the moment). Ground, the regular chess patterned ground. It's palette varies with the levels. Spike, thoose sharp things you see everywhere in the game Lspike, alternate spike, only looks good next to ground. YBrick, appears as Yellow brick on the first level. (Might vary with level!) ---- Note that tiles marked as "Too high" will be researched further, probably on another level. . $00 = Water level 0 $01 = Ground level 1 $02 = Ground level 4 $03 = Spike level high (can't see the top... it's cut off.) $04 = Ground level 2 $05 = Lspike level 3 $06 = Ground level 12 (might be inaccurate!) $07 = Ground level 14 (used previous pillar as reference) $08 = Lspike level too high (Looks glitched, but only becuse Lspike needs to be next to a level-1 tile to look any good.) $09 = Dspike level too high $0A = Dspike level high $0B = YBrick level high $0C = Dspike level 4 $0D = YBrick level high $0E = Water level high $0F = Dspike level 6 $10 = YBrick level high $11 = Lspike level high $12 = Dspike level high $13 = ground level 5 $14 = Ybrick level high $15 = Ybrick level high $16 = Dspike level high $17 = water level high $18 = Dspike level can see the top (quite high) $19 = Ybrick level high $1a = Lspike level 2 $23 = Water level 3 $2f = GroundC level 5 $3F = Ground level 3 $41 = Water level 3 ---- TODO ---- * Study the intresting tiles in the sixth line before going the brute force way...) * Level 1-10 (and probably 11 too) is stored as one level (I just prove this by replacing every byte between $0x0063D and $0x0063D0 with 01.) Bonus/underwater levels might be stored seperatly, but not too sure about that. * Each level probably have a seperate header for music/pallete and info about the sprites appearing on the levels. Better find thoose. * The height of the "too high" tiles should be replaced with their proper value... now if I only saw a pattern in this.
For anything that seems unclear, please ask Ailure.