Actions

SCHG

Sonic the Hedgehog CD (prototype 510)/MMD Breakdown

From Sonic Retro

SCHG: Sonic CD 510 Beta
Main Article
File Locations
File Locations
Art Editing
Compressed Art
*.MMD Editing
*.MMD Breakdown
Object Layout
Level Layout
Palettes
General Tweaking
General Tweaking

General Information

Pointer guidelines

The MMD header is always at $200000. However, code may be loaded and run from RAM, so any code in an MMD past $100 should be considered running from the offset pointed to at ($2).l

Header format

The MMD header consists of the following:

Location Size Function
$0 Byte DMNA flag
$2 Long RAM location for RAM run code (Optional)
$6 Word Size of code to be loaded to RAM (Optional)
$8 Long Code entry point
$C Long Horizontal Interrupt Location (Optional)
$10 Long Vertical Interrupt Location (Optional)

Level MMDs

Object layout

The object layout of a level MMD starts at 7320. The object positioning of an object is formatted as follows:

XXXX YYYY OOSS FFFF

I think this is the same type of positioning as S1. XXXX is 2 bytes long, and is the X location of the object. YYYY is 2 bytes long as well, and is the Y location of the object. OO is a byte long, and is the primary object type. SS is also a byte long, and is the object's subtype. An object's subtype is a value that is used to determine what type of one object it is. For example, take the Orbinaut from LZ in S1. If you changed its subtype to a certain value, it would never fire its spikes like the Orbinaut in SLZ.

Level layout

The level layout of a level MMD begins at 3AB76. It's basically an array of tile values. An array is just a huge collection of data, to put it simply. The values go left to right for one row, and then after that row is cleared go to the next row. Let's say I wanted to make the following level layout.


00 00 00 00
00 00 00 12
09 09 11 10


Pretend that the 09 is normal ground, 10 is deeper ground, 11 is the first part of a slope going up, and 12 is the second part of a slope going up. This would appear in a grid of tiles as:

SCD510LL.png


This would appear in hex as 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 09 09 09 09 09 09 11 10. I hope that you understood this section.

Palettes

The palettes are in the same format as the Mega Drive; 0BGR. For example, 068A would be blue to 6 lightness, green to 8 lightness, and red to A lightness. Note that the colors can only be in increments of two.

So color 066C would be blue to 6 lightness, green to 6 lightness, and red to C lightness. This would make THIS COLOR. Hopefully you understand this.

These are the palette locations in the level MMDs:

Offset Name
$5D0 Sonic 1 Palette (line 1)
$5F0 Sonic 1 Palette (line 2)
$610 Sonic 1 Palette (line 3)
$630 Sonic 1 Palette (line 4)
$650 Sonic 1 level select Palette (line 1)
$670 Sonic 1 level select Palette (line 2)
$690 Sonic 1 level select Palette (line 3)
$6B0 Sonic 1 level select Palette (line 4)
$6D0 Sonic's Palette
$6F0 Zone Palette (line 1)
$710 Zone Palette (line 2)
$730 Zone Palette (line 3)
$750 Mirror of Zone Palette (line 1)
$770 Mirror of Zone Palette (line 2)
$790 Cycling Palette of Level
$7B0 Mirror
$7D0 Mirror
$7F0 Mirror
$EDE4 Amy's Palette (used to substitute zone palette line 1)


References


Sonic Community Hacking Guide
General
SonED2 Manual | Subroutine Equivalency List
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (Master System) | Sonic 3 | Sonic 3 & Knuckles | Chaotix | Sonic Jam | Sonic Jam 6 | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Forces
Technical information
Sonic Eraser | Sonic 2 (Nick Arcade prototype) | Sonic CD (prototype; 1992-12-04) | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Tails Adventures | Sonic Crackers | Sonic 3D: Flickies' Island | Sonic & Knuckles Collection | Sonic R | Sonic Shuffle | Sonic Advance | Sonic Advance 3 | Sonic Battle | Shadow the Hedgehog | Sonic Rush | Sonic Classic Collection | Sonic Free Riders | Sonic Lost World
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | SMPS Music Hacking Guide | Mega Drive technical information