Due to our recent technical difficulties, we only have OVER NINE THOUSAAAAAAAAAAND of our images and files working. The Sonic Retro staff is working as fast as they can to restore these documents. Please do not report broken links at this time.
SCHG:Sonic CD/MMD Tweaking
From Sonic Retro
| SCHG: Sonic CD |
|---|
| Main Article |
| File Locations |
| File Locations |
| Art Editing |
| Editing Art |
| MMD Tweaking |
| Tweaking MMDs |
Here are some locations in a European Sonic CD level MMD which contain tweakable code (in Motorola 68000 assembly).
Maximum rings allowed
$AEFA: move.w ($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,($FF1512).l ; Move d1 back to the address where the number of rings is at
Minimum rings for Giant Ring
$D50C: cmpi.w #$32,($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
Rings given by ring
$9F1A: addq.w #1,($FF1512).l ; Add 1 to number of rings
Rings given by Ring Monitor
$A88E: addi.w #$A,($FF1512).l ; Add 10 to the current number of rings
Invincibility duration
$A8F8: move.b #1,($FF151F).l ; Enable invicibility move.w #$4B0,($FFFFD032).w ; Set the invincibility duration time to $4B0
Super Sneakers duration
$A95A: move.b #1,($FF1520).l ; Enable super sneakers move.w #$4B0,($FFFFD034).w ; Set the super sneakers duration time to $4B0
Regular speed stats
$4082: move.w #$600,($FFFFF760).w ; Maximum velocity move.w #$C,($FFFFF762).w ; Maximum acceleration
Super Sneakers speed stats
$A968: move.w #$C00,($FFFFF760).w ; Set maximum velocity to $C00 move.w #$18,($FFFFF762).w ; Set maximum acceleration to $18


