Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Sonic Crackers/ROM map

From Data Crystal
Jump to navigation Jump to 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.


References

  • Sonicology The source of the rom map for this game.