Sonic Crackers:ROM map

From Data Crystal
Revision as of 17:34, 17 January 2007 by Hiro1112 (talk | contribs) (added rommap contents)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ROM Contents

0 Header 200 =Code 1E14 =Collision array 3E14 =Curve and resistance mapping 3F14 =Code 3F2A =Something affecting Sonic's movement 44C4 =Pallete (1) - unknown 44E4 =Code 4684 =Palletes (4) - unknown 4704 =Code 6F62 =Palletes (2) - Sega logo 6FA2 =Compressed Art - Sega logo 7348 =Code 749C =Palletes (2) - main menu 74DC =Code - title and menu screens 75DA =Nemesis Compressed Art - alphabet from main menu screens 78E8 =Mappings - title screen 7E08 =Code - field levels 7E98 =Palletes (2) - Sonic & Tails; arms & rings 7ED8 =Code - field levels 835C =Pallete - Rainbow Field cycling 837C =Code 83EA =Pallete - Electric Field cycling 856A =Code 8572 =Pallete - Electric Field cycling 85D4 =Code 8988 =Palletes (2) - Sonic & Tails on field levels 89C8 =Code 8D08 =Palletes (8) - Techno Tower Zone 8E08 =Code 90B6 =Nemesis Compressed Art - borders from menu screens 90EA =Mappings - "SELECT" menu screens 93CA =Code 9C68 =Palletes (2) - Speed Slider Zone 9CA8 =Code 9CF0 =Palletes (2) - Techno Tower Zone (unused) 9D30 =Code EDE4 =Pallete - TTZ cycling EE0C =Code EE4C =Pallete - TTZ cycling EE5C =Code EEBA =Pallete - TTZ cycling EEDA =Code EF38 =Pallete - TTZ cycling EF58 =Code EFA4 =Pallete - TTZ cycling EFD4 =Code FDB0 =Music data 15630 =Unknown 30000 =Uncompressed Art - Numbers and letters from the HUD 30E80 =Nemesis Compressed Art - Orbs / fireballs or something (no pointer points to this item) 30EE2 =Nemesis Compressed Art - SSZ 8x8 tiles 3452C =Enigma Compressed Data - SSZ 16x16 tiles 35762 =Enigma Compressed Data - SSZ 128x128 tiles 39086 =Enigma Compressed Data - SSZ level layout 3931E =SSZ primary collision index 3971E =SSZ secondary collision index 39B1E =Nemesis Compressed Art - SSZ 8x8 bg tiles 3A5FE =Enigma Compressed Data - SSZ 16x16 bg tiles 3A6E8 =Enigma Compressed Data - SSZ 128x128 bg tiles 3A7B8 =Enigma Compressed Data - SSZ bg layout 3A7CE =Nemesis Compressed Art - TTZ 8x8 tiles 3BB24 =Enigma Compressed Data - TTZ 16x16 tiles 3C60A =Enigma Compressed Data - TTZ 128x128 tiles 3ED12 =Enigma Compressed Data - TTZ level layout 3EEC4 =TTZ primary collision index 3F2C4 =TTZ secondary collision index 3F6C4 =Nemesis Compressed Art - TTZ 8x8 bg tiles 409E2 =Enigma Compressed Data - TTZ 16x16 bg tiles 4108C =Enigma Compressed Data - TTZ 128x128 bg tiles 4183E =Enigma Compressed Data - TTZ bg layout 41954 =Uncompressed Art - splash screen 41B9C =Nemesis Compressed Art - springs 41F76 =Nemesis Compressed Art - horizontal spikes 4221E =Nemesis Compressed Art - vertical spikes 42486 =Uncompressed Art - animated patterns in TTZ 44946 =Uncompressed Art - "COMBI" (unused) 44A66 =Uncompressed Art - end-of-level splash screen? (unused) 44F66 =Uncompressed Art - numbers 451E6 =Uncompressed Art - exclaimation mark and minute symbol 45246 =Uncompressed Art - stars and rings (some unused) 45906 =Uncompressed Art - seconds symbol 45926 =Palletes (2) - Rainbow Field 45966 =Compressed Art (Unknown Format) - 8x8 tiles for Rainbow Field 48FE0 =Mappings - Rainbow Field foreground 4B002 =Mappings - Rainbow Field background 4C014 =Palletes (2) - Electric Field 4C054 =Compressed Art (Unknown Format) - 8x8 tiles for Electric Field 5108A =Mappings - Electric Field foreground 530AC =Mappings - Electric Field background 54460 =Empty 60000 =Uncompressed Art - Sonic's arms 64000 =Uncompressed Art - Tails' arms 66680 =Index system for frames used for Sonic's arm 667D8 =Pattern load cues - Sonic's arm 66B34 =Mappings - Sonic's arm 66D5C =Something to do with how Sonic's arm is connected to Sonic 66E26 =Index system for frames used for Sonic 66F92 =Pattern load cues - Sonic 67302 =Mappings - Sonic 6777C =Index system for frames used for Tails' arm 6788C =Pattern load cues - Tails' arm 67B34 =Mappings - Tails' arm 67CD2 =Something to do with how Tails' arm is connected to Tails 67DD2 =Index system for frames used for Tails 67FBE =Pattern load cues - Tails 6852C =Mappings - Tails 68A06 =Code 68A42 =Index system for frames used for Sonic on field levels 68ABA =Pattern load cues - Sonic on field levels 68BE6 =Mappings - Sonic on field levels 68CFA =Code 68D36 =Index system for frames used for Tails on field levels 68DC6 =Pattern load cues - Tails on field levels 68EF2 =Mappings - Tails on field levels 68FD6 =Empty 80000 =Uncompressed Art - Sonic 90000 =Uncompressed Art - Sonic on field levels 98000 =Uncompressed Art - Text A0000 =Uncompressed Art - Tails B0000 =Uncompressed Art - Tails on field levels B3820 =Empty or unused data until end of ROM

Savestate Contents (Speed Slider Zone)

2478 =Unknown 2678 =Collision Data 2E78 =Unknown 3180 =16x16 Tile Mappings 4938 =128x128 Tile Mappings BC38 =Level Layout C238 =16x16 Background Tile Mappings C4F8 =128x128 Background Tile Mappings C878 =Background Layout F85C =Palletes

Savestate Contents (Techno Tower Zone)

2478 =Unknown 2678 =Collision Data 2E78 =Unknown 3180 =16x16 Tile Mappings 3FD0 =128x128 Tile Mappings 9B50 =Level Layout 9D50 =16x16 Background Tile Mappings A748 =128x128 Background Tile Mappings B748 =Background Layout F85C =Palletes

Mappings for Title Screen, Menu and Field Levels

Each image on the game select screen is made up of 8x8 pixel tiles. The way these tiles are arranged is called mappings. Each 8x8 tile is given a two-byte value based on where it appears in the VRAM: Starting at 0000, so that on the title screen 0003 is a hash symbol (#). To change which pallete the tile uses, add 2000 to its value.

Pattern Load Cues for Sonic and Tails:

Pattern load cues tell the game which graphics are to be loaded into the VRAM from the ROM for each frame of Sonic's sprite. Each load cue consists of ten bytes: QQQQ 9704 RRR0 D380 FFFF

QQQQ = The number of tiles that should be read from the ROM, where:

   1000 = 1 tile
   2000 = 2 tiles
   0001 = 10 tiles
   1001 = 11 tiles
   1002 = 21 tiles

RRR = Where to start reading tiles from in the ROM, where 000 is the first of Sonic's tiles in the ROM; 001 is the second etc.

The purpose of all the other bytes is unknown.

Mappings for Sonic and Tails:

Mappings define how the 8x8 tiles are arranged to make up the characters' sprites. Each mappings block consists of six bytes: SS YY TT TT XX ZZ

SS = Size and shape of the piece of sprite, where:

   00 = 1 tile high, 1 tile wide
   01 = 2 tiles high, 1 tile wide
   02 = 3 tiles high, 1 tile wide
   03 = 4 tiles high, 1 tile wide
   04 = 1 tile high, 2 tiles wide
   0E = 3 tiles high, 4 tiles wide
   0F = 4 tiles high, 4 tiles wide (this is the largest possible sprite piece)

YY and XX = Position of the sprite piece.

TTTT = Which tiles from the VRAM are to be displayed on the screen. 0000 is the first tile in the VRAM, 0001 is the second etc.

ZZ = Defines whether there are additional pieces of sprite in the current frame of animation or not. 00 tells the game to assume the next mappings block is part of the same sprite frame. FF tells the game to end the current sprite frame and start a new one.