Actions

SCHG

Difference between revisions of "Equivalent Subroutines"

From Sonic Retro

m (Added some new Disam Subs into the ? areas of S2B.)
(9 intermediate revisions by 3 users not shown)
Line 8: Line 8:
  
 
{| class="prettytable"
 
{| class="prettytable"
! S1 || S2B || S2 || S2K || S3 || S&K
+
! S1 || S2B || S2 || S2K || S3 || S&K || S3K
 
|-
 
|-
 
|Demo_Time
 
|Demo_Time
Line 14: Line 14:
 
|sub_7E6
 
|sub_7E6
 
{{grey|DemoTime}}
 
{{grey|DemoTime}}
 +
{{green|Do_Updates}}
 
|DemoTime
 
|DemoTime
 
|?
 
|?
 
|$95A
 
|$95A
 +
|?
 
|-
 
|-
 
|Demo_TimeEnd
 
|Demo_TimeEnd
Line 25: Line 27:
 
|?
 
|?
 
|$976
 
|$976
 +
|?
 
|-
 
|-
 
|JoypadInit
 
|JoypadInit
Line 33: Line 36:
 
|1342
 
|1342
 
|$10AE
 
|$10AE
 +
|Init_Controllers
 
|-
 
|-
 
|ReadJoypads
 
|ReadJoypads
Line 41: Line 45:
 
|1372
 
|1372
 
|$10DE
 
|$10DE
 +
|Poll_Controllers
 
|-
 
|-
 
|Joypad_Read
 
|Joypad_Read
Line 50: Line 55:
 
|?
 
|?
 
|$10EC
 
|$10EC
 +
|Poll_Controller
 
|-
 
|-
 
|VDPSetupGame
 
|VDPSetupGame
Line 58: Line 64:
 
|13AE
 
|13AE
 
|$111A
 
|$111A
 +
|Init_VDP
 
|-
 
|-
 
|VDP_Loop
 
|VDP_Loop
Line 67: Line 74:
 
|?
 
|?
 
|$112E
 
|$112E
 +
|$$setRegisters
 
|-
 
|-
 
|VDP_ClrCRAM
 
|VDP_ClrCRAM
Line 76: Line 84:
 
|?
 
|?
 
|$1162
 
|$1162
 +
|$$clearCRAM
 
|-
 
|-
 
|VDPSetupArray
 
|VDPSetupArray
Line 84: Line 93:
 
|?
 
|?
 
|$11A4
 
|$11A4
 +
|VDP_register_values
 
|-
 
|-
 
|ClearScreen
 
|ClearScreen
Line 92: Line 102:
 
|14D4, and 1502
 
|14D4, and 1502
 
|$11CA
 
|$11CA
 +
|Clear_DisplayData
 
|-
 
|-
|PlayMusic
+
|PlaySound
 
|14C0
 
|14C0
 
|sub_135E
 
|sub_135E
Line 100: Line 111:
 
|?
 
|?
 
|$1358
 
|$1358
 +
|?
 
|-
 
|-
|PlaySound
+
|PlaySound_Special
 
|14C6
 
|14C6
 
|sub_1370
 
|sub_1370
Line 108: Line 120:
 
|?
 
|?
 
|$1380
 
|$1380
 +
|?
 
|-
 
|-
 
|PauseGame
 
|PauseGame
Line 116: Line 129:
 
|?
 
|?
 
|$13E4
 
|$13E4
 +
|?
 
|-
 
|-
 
|NemDec
 
|NemDec
Line 124: Line 138:
 
|?
 
|?
 
|$15BA
 
|$15BA
 +
|?
 
|-
 
|-
 
|LoadPLC
 
|LoadPLC
Line 133: Line 148:
 
|?
 
|?
 
|$16FA
 
|$16FA
 +
|?
 
|-
 
|-
 
|LoadPLC2
 
|LoadPLC2
Line 142: Line 158:
 
|?
 
|?
 
|$1746
 
|$1746
 +
|?
 
|-
 
|-
 
|ClearPLC
 
|ClearPLC
Line 150: Line 167:
 
|?
 
|?
 
|$1772
 
|$1772
 +
|?
 
|-
 
|-
 
|ClearPLC_Loop
 
|ClearPLC_Loop
Line 158: Line 176:
 
|?
 
|?
 
|$1778
 
|$1778
 +
|?
 
|-
 
|-
 
|RunPLC_RAM
 
|RunPLC_RAM
Line 167: Line 186:
 
|?
 
|?
 
|$1780
 
|$1780
 +
|?
 
|-
 
|-
 
|RunPLC_ROM
 
|RunPLC_ROM
Line 176: Line 196:
 
|?
 
|?
 
|$1882'''/'''$1892
 
|$1882'''/'''$1892
 +
|?
 
|-
 
|-
 
|Pal_FadeTo
 
|Pal_FadeTo
Line 185: Line 206:
 
|?
 
|?
 
|$3AF0
 
|$3AF0
 +
|?
 
|-
 
|-
 
|Pal_ToBlack
 
|Pal_ToBlack
Line 194: Line 216:
 
|?
 
|?
 
|$3B80
 
|$3B80
 +
|?
 
|-
 
|-
 
|Pal_FadeFrom
 
|Pal_FadeFrom
Line 203: Line 226:
 
|?
 
|?
 
|$3BE4
 
|$3BE4
 +
|?
 
|-
 
|-
 
|Pal_FadeOut
 
|Pal_FadeOut
Line 212: Line 236:
 
|?
 
|?
 
|$3C04
 
|$3C04
 +
|?
 
|-
 
|-
 
|PalLoad1
 
|PalLoad1
Line 220: Line 245:
 
|?
 
|?
 
|$3DBE
 
|$3DBE
 +
|?
 
|-
 
|-
 
|PalLoad2
 
|PalLoad2
Line 228: Line 254:
 
|?
 
|?
 
|$3DDA
 
|$3DDA
 +
|?
 
|-
 
|-
 
|PalLoad3_Water
 
|PalLoad3_Water
Line 236: Line 263:
 
|?
 
|?
 
|$3DF2
 
|$3DF2
 +
|?
 
|-
 
|-
 
|PalLoad4_Water
 
|PalLoad4_Water
Line 244: Line 272:
 
|?
 
|?
 
|$3E0E
 
|$3E0E
 +
|?
 
|-
 
|-
 
|DelayProgram
 
|DelayProgram
Line 250: Line 279:
 
|sub_3384
 
|sub_3384
 
{{grey|DelayProgram}}
 
{{grey|DelayProgram}}
 +
{{green|WaitForVint}}
 
|DelayProgram
 
|DelayProgram
 
|?
 
|?
 
|$1D18
 
|$1D18
 +
|?
 
|-
 
|-
 
|RandomNumber
 
|RandomNumber
Line 261: Line 292:
 
|?
 
|?
 
|$1D24
 
|$1D24
 +
|?
 
|-
 
|-
 
|CalcSine
 
|CalcSine
Line 269: Line 301:
 
|?
 
|?
 
|$1D4C
 
|$1D4C
 +
|?
 
|-
 
|-
 
|ObjectFall
 
|ObjectFall
Line 277: Line 310:
 
|?
 
|?
 
|$1AB32
 
|$1AB32
 +
|?
 
|-
 
|-
 
|SpeedToPos
 
|SpeedToPos
Line 285: Line 319:
 
|?
 
|?
 
|$1AB52
 
|$1AB52
 +
|?
 
|-
 
|-
 
|MarkObjGone
 
|MarkObjGone
Line 294: Line 329:
 
|?
 
|?
 
|$1B588
 
|$1B588
 +
|?
 
|-
 
|-
 
|DisplaySprite
 
|DisplaySprite
Line 302: Line 338:
 
|19240
 
|19240
 
|$1ABC6
 
|$1ABC6
 +
|?
 
|-
 
|-
 
|DeleteObject
 
|DeleteObject
Line 310: Line 347:
 
|?
 
|?
 
|$1ABB6
 
|$1ABB6
 +
|?
 
|-
 
|-
 
|DeleteObject2
 
|DeleteObject2
Line 318: Line 356:
 
|?
 
|?
 
|$1ABB8
 
|$1ABB8
 +
|?
 
|-
 
|-
 
|AnimateSprite
 
|AnimateSprite
Line 324: Line 363:
 
{{grey|AnimateSprite}}
 
{{grey|AnimateSprite}}
 
|AnimateSprite
 
|AnimateSprite
 +
|AnimateSprite
 +
|$1ABE8
 
|?
 
|?
|$1ABE8
 
 
|-
 
|-
 
|SingleObjLoad
 
|SingleObjLoad
|?
+
|SingleObjectLoad
 
|loc_17FDA
 
|loc_17FDA
 
{{grey|SingleObjLoad}}
 
{{grey|SingleObjLoad}}
Line 334: Line 374:
 
|?
 
|?
 
|$1BAF2
 
|$1BAF2
 +
|?
 
|-
 
|-
 
|SingleObjLoad2
 
|SingleObjLoad2
Line 342: Line 383:
 
|?
 
|?
 
|$1BAFA
 
|$1BAFA
 +
|?
 
|-
 
|-
 
|SolidObject
 
|SolidObject
|?
+
|SolidObject
 
|loc_19718
 
|loc_19718
 
{{grey|SolidObject}}
 
{{grey|SolidObject}}
Line 350: Line 392:
 
|?
 
|?
 
|?
 
|?
 +
|sub_1DC56
 
|-
 
|-
 
|PlatformObject
 
|PlatformObject
Line 356: Line 399:
 
{{grey|PlatformObject}}
 
{{grey|PlatformObject}}
 
|PlatformObject
 
|PlatformObject
 +
|?
 
|?
 
|?
 
|?
 
|?
Line 365: Line 409:
 
{{grey|ObjCheckFloorDist}}
 
{{grey|ObjCheckFloorDist}}
 
|ObjCheckFloorDist
 
|ObjCheckFloorDist
 +
|?
 
|?
 
|?
 
|?
 
|?
Line 371: Line 416:
 
|none
 
|none
 
|loc_2D6CC
 
|loc_2D6CC
 +
{{green|BossLoadExplosion}}
 +
|?
 
|?
 
|?
 
|?
 
|?
Line 378: Line 425:
 
|?
 
|?
 
|loc_2DB0E
 
|loc_2DB0E
 +
|?
 
|?
 
|?
 
|?
 
|?
Line 389: Line 437:
 
|?
 
|?
 
|$DCCA
 
|$DCCA
 +
|?
 
|-
 
|-
 
|KillSonic
 
|KillSonic
Line 397: Line 446:
 
|?
 
|?
 
|$10366
 
|$10366
 +
|?
 
|-
 
|-
 
|Sonic_Move
 
|Sonic_Move
Line 405: Line 455:
 
|?
 
|?
 
|$11060
 
|$11060
 +
|?
 
|-
 
|-
 
|Sonic_MoveLeft
 
|Sonic_MoveLeft
Line 411: Line 462:
 
{{grey|Sonic_MoveLeft}}
 
{{grey|Sonic_MoveLeft}}
 
|Knuckles_MoveLeft
 
|Knuckles_MoveLeft
 +
|?
 
|?
 
|?
 
|?
 
|?
 
|-
 
|-
 
|Sonic_MoveRight
 
|Sonic_MoveRight
|?
+
|Sonic_MoveRight
 
|loc_1A746
 
|loc_1A746
 
{{grey|Sonic_MoveRight}}
 
{{grey|Sonic_MoveRight}}
 
|Knuckles_MoveRight
 
|Knuckles_MoveRight
 +
|?
 
|?
 
|?
 
|?
 
|?
 
|-
 
|-
 
|DebugMode
 
|DebugMode
|?
+
|Debug_Mode
 
|loc_41A78
 
|loc_41A78
 
{{grey|DebugMode}}
 
{{grey|DebugMode}}
Line 429: Line 482:
 
|?
 
|?
 
|$92A0E
 
|$92A0E
 +
|?
 
|-
 
|-
 
|Touch_Monitor
 
|Touch_Monitor
Line 438: Line 492:
 
|?
 
|?
 
|$1001A
 
|$1001A
 +
|?
 
|-
 
|-
 
|Touch_Enemy
 
|Touch_Enemy
Line 447: Line 502:
 
|?
 
|?
 
|$100BC
 
|$100BC
 +
|?
 
|-
 
|-
 
|Touch_ChkValue
 
|Touch_ChkValue
Line 456: Line 512:
 
|?
 
|?
 
|$FFD4
 
|$FFD4
 +
|?
 
|-
 
|-
 
|LevSelControls
 
|LevSelControls
Line 464: Line 521:
 
|loc_6B4A
 
|loc_6B4A
 
|sub_7E64
 
|sub_7E64
 +
|?
 
|-
 
|-
 
|Sonic_ChgJumpDir
 
|Sonic_ChgJumpDir
Line 473: Line 531:
 
|?
 
|?
 
|$1164E
 
|$1164E
 +
|?
 
|-
 
|-
 
|Sonic_RollLeft
 
|Sonic_RollLeft
Line 479: Line 538:
 
{{grey|Sonic_RollLeft}}
 
{{grey|Sonic_RollLeft}}
 
|Knuckles_RollLeft
 
|Knuckles_RollLeft
 +
|?
 
|?
 
|?
 
|?
 
|?
Line 487: Line 547:
 
{{grey|Sonic_RollRight}}
 
{{grey|Sonic_RollRight}}
 
|Knuckles_RollRight
 
|Knuckles_RollRight
 +
|?
 
|?
 
|?
 
|?
 
|?
Line 497: Line 558:
 
|?
 
|?
 
|$116DE
 
|$116DE
 +
|?
 
|-
 
|-
 
|Boundary_Bottom
 
|Boundary_Bottom
Line 506: Line 568:
 
|?
 
|?
 
|$1172C
 
|$1172C
 +
|?
 
|-
 
|-
 
|Sonic_Jump
 
|Sonic_Jump
Line 514: Line 577:
 
|?
 
|?
 
|$117DA
 
|$117DA
 +
|?
 
|-
 
|-
 
|Sonic_Floor
 
|Sonic_Floor
Line 520: Line 584:
 
{{grey|Sonic_DoLevelCollision}}
 
{{grey|Sonic_DoLevelCollision}}
 
|Knuckles_DoLevelCollision
 
|Knuckles_DoLevelCollision
 +
|?
 
|?
 
|?
 
|?
 
|?

Revision as of 17:14, 21 March 2013

Please add more subroutines if you know them.

Label format details:

Sonic 1: Hivebrain 2005 label/SVN label (where applicable)

Sonic 2: Nemesis label/Xenowhirl 2007 label/SVN label (where applicable)

S1 S2B S2 S2K S3 S&K S3K
Demo_Time E56 sub_7E6

DemoTime Do_Updates

DemoTime ? $95A ?
Demo_TimeEnd E70 locret_800

DemoTime_End

return_300504 ? $976 ?
JoypadInit 12FC 10EC

JoypadInit

JoypadInit 1342 $10AE Init_Controllers
ReadJoypads 132C 111C

ReadJoypads

ReadJoypads 1372 $10DE Poll_Controllers
Joypad_Read

@read

133A sub_112A

Joypad_Read

Joypad_Read ? $10EC Poll_Controller
VDPSetupGame 1368 sub_1158

VDPSetupGame

VDPSetupGame 13AE $111A Init_VDP
VDP_Loop

@setreg

137C loc_116C

VDP_Loop

? ? $112E $$setRegisters
VDP_ClrCRAM

@clrCRAM

13B0 loc_11A0

VDP_ClrCRAM

? ? $1162 $$clearCRAM
VDPSetupArray 13F2 word_11E2

VDPSetupArray

VDPSetupArray ? $11A4 VDP_register_values
ClearScreen 142A, and 1458 1248, and 1276

ClearScreen

ClearScreen 14D4, and 1502 $11CA Clear_DisplayData
PlaySound 14C0 sub_135E

PlayMusic

PlayMusic ? $1358 ?
PlaySound_Special 14C6 sub_1370

PlaySound

PlaySound ? $1380 ?
PauseGame 14DC sub_1388

PauseGame

PauseGame ? $13E4 ?
NemDec 15FC NemDec_14DE

NemDec

NemDec ? $15BA ?
LoadPLC

AddPLC

173C sub_161E

LoadPLC

LoadPLC ? $16FA ?
LoadPLC2

NewPLC

176E sub_1650

LoadPLC2

LoadPLC2 ? $1746 ?
ClearPLC 179A sub_167C

ClearPLC

ClearPLC ? $1772 ?
ClearPLC_Loop

@loop

17A0 loc_1682 ? ? $1778 ?
RunPLC_RAM

RunPLC

17A8 sub_168A

RunPLC_RAM

RunPLC_RAM ? $1780 ?
RunPLC_ROM

QuickPLC

18A8 sub_178A

RunPLC_ROM

RunPLC_ROM ? $1882/$1892 ?
Pal_FadeTo

PaletteFadeIn

2596 sub_23C6

Pal_FadeTo

Pal_FadeTo ? $3AF0 ?
Pal_ToBlack

@fill

25AE loc_23DE

Pal_ToBlack

Pal_ToBlack ? $3B80 ?
Pal_FadeFrom

PaletteFadeOut

263A sub_246A

Pal_FadeFrom

Pal_FadeFrom ? $3BE4 ?
Pal_FadeOut

FadeOut_ToBlack

265A sub_248A

Pal_FadeOut

Pal_FadeOut ? $3C04 ?
PalLoad1 28E2 2712

PalLoad1

PalLoad1 ? $3DBE ?
PalLoad2 28FE 272E

PalLoad2

PalLoad2 ? $3DDA ?
PalLoad3_Water 2916 2746

PalLoad3_Water

PalLoad3_Water ? $3DF2 ?
PalLoad4_Water 2932 2764

PalLoad4_Water

PalLoad4_Water ? $3E0E ?
DelayProgram

WaitForVBla

31D8 sub_3384

DelayProgram WaitForVint

DelayProgram ? $1D18 ?
RandomNumber 31E4 sub_3390

RandomNumber

RandomNumber ? $1D24 ?
CalcSine 320A sub_33B6

CalcSine

CalcSine ? $1D4C ?
ObjectFall D24E sub_16380

ObjectMoveAndFall

ObjectMoveAndFall ? $1AB32 ?
SpeedToPos D27A sub_163AC

ObjectMove

ObjectMove ? $1AB52 ?
MarkObjGone

RememberState

D2A0 loc_163D2

MarkObjGone

MarkObjGone ? $1B588 ?
DisplaySprite D3C2 sub_164F4

DisplaySprite

DisplaySprite 19240 $1ABC6 ?
DeleteObject D3B4 loc_164E6

DeleteObject

DeleteObject ? $1ABB6 ?
DeleteObject2 Offset_0x00D3B6 sub_164E8

DeleteObject2

DeleteObject2 ? $1ABB8 ?
AnimateSprite D412 sub_16544

AnimateSprite

AnimateSprite AnimateSprite $1ABE8 ?
SingleObjLoad SingleObjectLoad loc_17FDA

SingleObjLoad

SingleObjLoad ? $1BAF2 ?
SingleObjLoad2 E788 loc_17FFA

SingleObjLoad2

SingleObjLoad2 ? $1BAFA ?
SolidObject SolidObject loc_19718

SolidObject

SolidObject ? ? sub_1DC56
PlatformObject ? loc_19C32

PlatformObject

PlatformObject ? ? ?
ObjHitFloor

ObjFloorDist

13898 loc_1EDFA

ObjCheckFloorDist

ObjCheckFloorDist ? ? ?
BossDefeated none loc_2D6CC

BossLoadExplosion

? ? ? ?
BossMove ? loc_2DB0E ? ? ? ?
AddPoints AddPoints sub_40D06

AddPoints

? ? $DCCA ?
KillSonic ? loc_3F926

KillCharacter

KillCharacter ? $10366 ?
Sonic_Move ? loc_1A35A

Sonic_Move

Knuckles_Move ? $11060 ?
Sonic_MoveLeft ? loc_1A6C0

Sonic_MoveLeft

Knuckles_MoveLeft ? ? ?
Sonic_MoveRight Sonic_MoveRight loc_1A746

Sonic_MoveRight

Knuckles_MoveRight ? ? ?
DebugMode Debug_Mode loc_41A78

DebugMode

DebugMode ? $92A0E ?
Touch_Monitor

React_Monitor

? loc_3F73C

TouchMonitor

Touch_Monitor ? $1001A ?
Touch_Enemy

React_Enemy

? loc_3F78C

TouchEnemy

Touch_Enemy ? $100BC ?
Touch_ChkValue

@withiny

? loc_3F6F2

Touch_ChkValue

Touch_ChkValue ? $FFD4 ?
LevSelControls ? loc_94DC

LevSelControls

LevSelControls loc_6B4A sub_7E64 ?
Sonic_ChgJumpDir

Sonic_JumpDirection

? loc_1A8E8

Sonic_ChgJumpDir

Knuckles_ChgJumpDir ? $1164E ?
Sonic_RollLeft ? loc_1A8A2

Sonic_RollLeft

Knuckles_RollLeft ? ? ?
Sonic_RollRight ? loc_1A8C6

Sonic_RollRight

Knuckles_RollRight ? ? ?
Sonic_LevelBound ? loc_1A974

Sonic_LevelBound

Knuckles_LevelBoundaries ? $116DE ?
Boundary_Bottom

@bottom

? loc_1A9B6

Sonic_Boundary_Bottom

Knuckles_Boundary_Bottom ? $1172C ?
Sonic_Jump ? loc_1AA38

Sonic_Jump

Knuckles_Jump ? $117DA ?
Sonic_Floor ? loc_1AEAA

Sonic_DoLevelCollision

Knuckles_DoLevelCollision ? ? ?
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