Actions

SCHG

Sonic the Hedgehog CD/MMD Tweaking

From Sonic Retro

Revision as of 07:35, 11 August 2008 by Tails92 (talk | contribs)

Here are some locations in an European Sonic CD level MMD which contain tweakable code (in 68k assembly).

Maximum rings allowed

$AEFA:
	move.w  (word_FF1512).l,d1 ; Move number of rings into d1
	cmpi.w  #$3E8,d1        ; Compare $3E8 (1000) with d1 (number of rings)
	bcs.s   loc_20AF10      ; If the number of rings is < 1000, branch
	move.w  #$3E7,d1        ; Move $3E7 (999) into d1
	move.w  d1,(word_FF1512).l ; Move d1 back to the address where the number of rings is at

Lowest number of rings required to access the special stage

$D50C:
	cmpi.w  #$32,(word_FF1512).l ; Compare 50 with the number of rings
	bcc.s   loc_20D51C      ; If number of rings >= 50, allow entrance to the special stage.
	jmp     sub_20788C      ; Otherwise jump here

Number of rings you get when you break the ring monitor

$A88E:
	addi.w #$A,(word_FF1512).l ; Add 10 to the current number of rings

Invincibility duration time

$A8F8:
       move.b #1,(byte_FF151F).l ; Enable invicibility
       move.w #$4b0,($ffffd032).w ; Set the invincibility duration time to $4B0

Super Sneakers duration time

$A95A:
       move.b #1,(byte_FF1520).l ; Enable super sneakers
       move.w #$4B0,($FFFFD034).w ; Set the super sneakers duration time to $4B0

Maximum velocity and accelleration

$4082:
       move.w #$600,($FFFFF760).w ; Maximum velocity
       move.w #$C,($FFFFF762).w ; Maximum accelleration

Maximum velocity and accelleration (with Super sneakers)

$A968:
       move.w #$C00,($FFFFF760).w ; Set maximum velocity to $C00
       move.w #$18,($FFFFF762).w ; Set maximum accelleration to $18

Number of rings you get when you get a ring

$9F1A:
       addq.w #1,(word_FF1512).l ; Add 1 to number of rings


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