Actions

SCHG

Sonic CD/MMD Tweaking

From Sonic Retro

SCHG: Sonic CD
Main Article
File Locations
File Locations
Art Editing
Editing Art
Nemesis Format Art
MMDs, A-P
Palmtree Panic MMDs
Collision Chaos MMDs
Tidal Tempest MMDs
Quartz Quadrant MMDs
Wacky Workbench MMDs
Stardust Speedway MMDs
Metallic Madness MMDs
MMDs, S-W
MMD Tweaking
Tweaking MMDs
Maximum rings allowed
Minimum rings for Giant Ring
Rings given by ring
Rings given by Ring Monitor
Invincibility duration
Super Sneakers duration
Regular speed stats
Super Sneakers speed stats
RAM Editing
RAM Editing

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


Sonic Community Hacking Guide
General
Sonic Music Hacking Guide | SonED2 Manual
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic Eraser | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic 2 (Nick Arcade prototype) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (8-bit) | Sonic 2 & Knuckles | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Sonic 3 | Sonic & Knuckles | Sonic 3 & Knuckles | Sonic & Knuckles Collection | Sonic Crackers | Sonic 3D: Flickies' Island | Chaotix | Sonic R PC | Sonic Jam 6 | Sonic Advance | Sonic Advance 2 | Sonic Advance 3 | Sonic Battle | 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 | Shadow the Hedgehog | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Generations
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 | Subroutine Equivalency List | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | VDP Documentation | Official Sega 32X Documentation | Official Mega-CD Documentation | Official Sega Mega Drive Documentation