Chaotix
From Sonic Retro
This is the Sonic Community Hacking Guide for Knuckles' Chaotix.
Contents
Palette Locations
Genesis Format
Palette Offset | Description |
---|---|
$0066C8 | Credits - Flames |
$006E18 | Sound Test - Foreground |
$006E98 | Sound Test - Amy |
$2B3470 | Botanic Base - Morning |
$2B34F0 | Botanic Base - Day |
$2B3570 | Botanic Base - Sunset |
$2B32B6 | Botanic Base - Night |
$2B3CF0 | Amazing Arena - Morning / Day |
$2B3D70 | Amazing Arena - Sunset / Night |
$2B3EF0 | Techno Tower - Morning |
$2B4070 | Techno Tower - Day |
$2B41F0 | Techno Tower - Sunset |
$2B42F0 | Techno Tower - Night |
$2B4470 | Marina Madness - Morning |
$2B44F0 | Marina Madness - Day |
$2B4570 | Marina Madness - Sunset |
$2B45F0 | Marina Madness - Night |
$2B4670 | Introduction - Morning |
$2B46F0 | Introduction - Day |
$2B4770 | Introduction - Sunset |
$2B47F0 | Introduction - Night |
MARS Format
Palette Offset | Description |
---|---|
$00001924 | HUD (maybe Sonic, Tails) |
$0000E7C4 | Espio's Rotating Palette |
$0022921A | Mighty The Armadillo |
$0022923E | Knuckles The Echidna |
$0022925C | Charmy The Bee |
$0022927E | Vector The Crocodile |
$002292A0 | Heavy The Mechanic |
$002292BE | Bomb The Mechanic |
$002292DC | Espio The Chameleon |
$002299D6 | Sega logo |
To convert from standard RGB colors to MARS colors, use HBGDRGB2GBA32XCC.
Art Locations
Genesis Format Art, Nemesis-compressed
Art Offset | Description |
---|---|
$22E100 | 8x8 Menu Font (same as in Sonic Crackers) |
$22E40E | Ring |
$2C2DC8 | Sound Test Amy Rose |
$2C4B20 | Sound Test letters/numbers |
$2C7818 | Sound Test art |
$2CE004 | Special Stage background spheres |
$2CFA40 | Bonus Stage background |
MARS Format Pointers
Note: All pointers for these locations add $2000000 to the listed offset.
Art Offset | Description |
---|---|
$0A0504 | Mighty |
$0B18BC | Knuckles |
$0CB3B4 | Charmy |
$0D4E44 | Vector |
$0F1130 | Bomb |
$0F6A18 | Heavy |
$101304 | Espio |
$11B088 | Mighty ring and hand |
RAM Locations
These locations are offset from the base of RAM ($FF0000, which is mirrored to $FFFF0000).
RAM offset | Size | Description |
---|---|---|
$D460 | $40 words | Genesis palette cache. |
$D560 | $40 words | Copy of the current level's Genesis palette. Used by the Bonus Stage to reload the level. |
$DFDE | Word | Current game mode. Known values:
|
$DFE0 | Word | Current game submode.
|
$DFF2 | Word | Current level:
|
$DFF4 | Word | Current stage number; starts from 0. |
$DFF6 | Word | Current time of day:
|
$E008 | Word | Number of rings. |
$FCE6 | Byte | Current pan of the ring sound; positive is left, negative/zero is right. |
$FCFC | Byte | Current song; only set by a certain function and only used by the Bonus Stage to replay the previous song when exiting. |
$FFD0 | Byte | Current demo number (0-4). |
Other ROM Data
Genesis VDP Register List Locations
Knuckles' Chaotix reloads VDP registers with each game mode. At each address is a list of word corresponding to the register/value words sent to the VDP (unmodified). A word $0 ends the list.
ROM offset | Description |
---|---|
$B34 | Sega screen |
$3736 | Title screen |
$4CE6 | Level |
$5A8A | Special Stage |
Music Playlist
At address $76ED0, a null-terminated list of bytes corresponding to song numbers is given for the five normal levels and the two Isolated Island levels (see RAM address $DFF2). The World Entrance determines which song to play in code, so a code edit would be required. All other game modes play a song directly.
Contributors
- drx - Data offsets (art, palettes), character art format information.
- Heran Bago - Some Nemesis-compressed art locations
- andlabs - More stuff