Sonic the Hedgehog (16-bit)
From Sonic Retro
Revision as of 00:19, 7 January 2007 by Ss is testing (talk | contribs) (→Object Status Table Breakdown)
Revision as of 00:19, 7 January 2007 by Ss is testing (talk | contribs) (→Object Status Table Breakdown)
This teeny-tiny article needs some work. You can help Sonic Retro by expanding it. |
SKELETON BASED ON SONIC 2 GUIDE
Contents
ROM Hacking
Art Editing
Uncompressed Art Locations
Offset | Description | # of blocks |
---|---|---|
Zone Independent | ||
$1CADA | Numbers used on counters in game | ? |
$21AFE | Sonic | ? |
$6A324 | Giant Ring | ? |
Green Hill Zone | ||
$66AD6 | Waterfall tiles | ? |
$66CD6 | Flower with pointy petals | ? |
$670D6 | Flower with curved petals | ? |
Marble Zone | ||
$6755A | Lava surface | ? |
$67836 | Lava | ? |
$67E56 | Flame torch against stone | ? |
Scrap Brain Zone | ||
$68156 | Steam in background | ? |
Compressed Art Locations - Nemesis
See SCHG:Sonic the Hedgehog/Nemesis Compressed Art.
Compressed Art Locations - Kosinski format
- $3DCF2 - GHZ main level patterns
- $414D4 - LZ main level patterns
- $46016 - MZ main level patterns
- $4A7FE - SLZ main level patterns
- $510F0 - SYZ main level patterns
- $57A66 - SBZ main level patterns
Palette Locations
Usually, it's not really necessary to edit a palette in hex. Palette editors give you instant feedback for each RGB value, and the palette can be easily saved as a separate binary and reimported into the ROM. However, it is sometimes desireable or necessary to do it in hex, and it can't hurt to know how it's done.
These are the ROM offsets of the palettes in Sonic 1, as listed by HivePal:
Name | Offset |
---|---|
Sega Logo (Background) | $2208 |
Sega Logo (SEGA) | $20C0 |
Title Screen | $2288 |
Title Screen - Water Cycle | $1B66 |
Level Select | $2308 |
Sonic | $2388 |
Green Hill | $23A8 |
Green Hill - Water Cycle | $1B86 |
Labyrinth | $2408 |
Labyrinth - Sonic Underwater | $2828 |
Labyrinth - Sonic Underwater (Alt) | $2468 |
Labyrinth - Underwater | $2488 |
Labyrinth - Water Cycle | $1BA6 |
Labyrinth - Conveyor Cycle | $1BC6 |
Labyrinth - Conveyor Cycle Underwater | $1BD8 |
Marble | $24E8 |
Star Light | $2548 |
Star Light lights | $1C52 |
Spring Yard | $25A8 |
Spring Yard - Cycle 1 | $1C76 |
Spring Yard - Cycle 2 | $1C96 |
Scrap Brain Act 1 | $2608 |
Scrap Brain Act 2/Final | $2668 |
Scrap Brain Act 3 | $2748 |
Scrap Brain Act 3 - Sonic Underwater | $2848 |
Scrap Brain Act 3 - Sonic Underwater (Alt) | $27A8 |
Scrap Brain Act 3 - Underwater | $27C8 |
Scrap Brain Act 1/Act 2 - Cycle 1 | $1D0A |
Scrap Brain Act 1/Act 2 - Cycle 2 | $1D1A |
Scrap Brain Act 1/Act 2 - Cycle 3 | $1D2A |
Scrap Brain Act 1/Act 2 - Cycle 4 | $1D3A |
Scrap Brain Act 1/Act 2 - Cycle 5 | $1D46 |
Scrap Brain Act 1/Act 2 - Cycle 6 | $1D56 |
Scrap Brain Act 1/Act 2 - Cycle 7 | $1D66 |
Scrap Brain Act 1/Act 2 - Cycle 8 | $1D86 |
Scrap Brain Act 2 - Cycle 1 | $1D90 |
Scrap Brain Act 2 - Cycle 2 | $1DA0 |
Scrap Brain Act 3 - Water Cycle | $1BEA |
Special Stage - Sonic | $26C8 |
Special Stage No. 1 | $26E8 |
Special Stage No. 2 | $2708 |
Special Stage No. 3 | $2728 |
Special Stage Title Card | $2868 |
Special Stage Cycle 1 | $4ACA |
Special Stage Cycle 2 | $4B12 |
Special Stage Cycle 3 | $4B92 |
Continue - Sonic | $28E8 |
Continue | $2908 |
Ending - Sonic | $2928 |
Ending | $2948 |
Object Editing
Object Pointer List
Mappings Editing
Object Placement
RAM Hacking
Main System Memory Locations
Sprite Status Table
The Sprite Status Table is located at RAM address $D000. Each entry is $40 bytes long. Here is a list of all the values for one entry in the SST:
- $00 - Object type (byte)
- $01 - Action flags (byte)
- $02 - VRAM offset (word)
- $04 - Mappings offset (long)
- $08 - X position on level (word)
- $0A - X position on screen (word)
- $0C - Y position on level (word)
- $0E - Y position on screen (word)
- $10 - Horizontal speed (word)
- $12 - Vertical speed (word)
- $14 - Vertical distance from middle of sprite to bottom of sprite (byte)
- $15 - Horizontal distance from middle of sprite to bottom of sprite (byte)
- $16 - Sprite priority (byte)
- $17 - Width in pixels (byte)
- $18 - Pattern number (byte)
- $19 - Pattern counter (byte)
- $1A - Current animation frame (byte)
- $1B - Time until animation frame changes (byte)
- $1C - Animation (byte)
- $1D - Master animation (byte)
- $1E - Collision size (byte)
- $1F - Collision counter (byte)
- $20 - 1st routine (byte)
- $21 - 2nd routine (byte)
- $22 - Angle (word)
- $24 - Object routine counter (byte)
- $25 - Sub-routine counter (byte)
- $26 - Collision (word)
- $28 - Object sub-type (byte)
- $29-$3F - Unknown, use may depend on object type.