Actions

SCHG

Difference between revisions of "Sonic the Hedgehog CD/MMD Tweaking"

From Sonic Retro

(Tweakable locations in a Sonic CD level MMD)
 
(Major cleanup)
Line 1: Line 1:
== European Sonic CD ==
+
Here are some locations in an European Sonic CD level MMD which contain tweakable code (in 68k assembly).
Here are some locations in an level MMD which contain tweakable code (in 68k assembly). <br/>
+
 
<br/>
+
*'''Maximum rings allowed:'''
Number of rings limit: (0xAEFA)<br/>
+
$AEFA:
move.w  (word_FF1512).l,d1 ; Move number of rings into d1 <br/>
+
move.w  (word_FF1512).l,d1 ; Move number of rings into d1
cmpi.w  #$3E8,d1        ; Compare $3E8 (1000) with d1 (number of rings) <br/>
+
cmpi.w  #$3E8,d1        ; Compare $3E8 (1000) with d1 (number of rings)
bcs.s  loc_20AF10      ; If the number of rings is < 1000, branch <br/>
+
bcs.s  loc_20AF10      ; If the number of rings is < 1000, branch
move.w  #$3E7,d1        ; Move $3E7 (999) into d1 <br/>
+
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 <br/>
+
move.w  d1,(word_FF1512).l ; Move d1 back to the address where the number of rings is at
<br/>
+
 
Lowest number of rings required to access the special stage: (0xD50C) <br/>
+
*'''Lowest number of rings required to access the special stage:'''
cmpi.w  #$32,(word_FF1512).l ; Compare 50 with the number of rings <br/>
+
$D50C:
bcc.s  loc_20D51C      ; If number of rings >= 50, allow entrance to the special stage. <br/>
+
cmpi.w  #$32,(word_FF1512).l ; Compare 50 with the number of rings
jmp    sub_20788C      ; Otherwise jump here <br/>
+
bcc.s  loc_20D51C      ; If number of rings >= 50, allow entrance to the special stage.
<br/>
+
jmp    sub_20788C      ; Otherwise jump here
Number of rings you get when you break the ring monitor: (0xA88E) <br/>
+
 
addi.w #$A,(word_FF1512).l ; Add 10 to the current number of rings <br/>
+
*'''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
 +
 
 +
 
 +
{{SCHGuides}}
 +
[[Category:Sonic Community Hacking Guide]]

Revision as of 09:04, 7 August 2008

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


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