Actions

SCHG

Difference between revisions of "Equivalent Subroutines"

From Sonic Retro

m (Added equivalent subroutines from xenowhirl's version)
m (added S2K equivalents)
Line 13: Line 13:
 
|E56
 
|E56
 
|sub_7E6'''/'''DemoTime
 
|sub_7E6'''/'''DemoTime
|?
+
|DemoTime
 
|?
 
|?
 
|$95A
 
|$95A
Line 20: Line 20:
 
|E70
 
|E70
 
|locret_800'''/'''DemoTime_End
 
|locret_800'''/'''DemoTime_End
|?
+
|return_300504
 
|?
 
|?
 
|$976
 
|$976
Line 27: Line 27:
 
|12FC
 
|12FC
 
|10EC'''/'''JoypadInit
 
|10EC'''/'''JoypadInit
|?
+
|JoypadInit
 
|1342
 
|1342
 
|$10AE
 
|$10AE
Line 34: Line 34:
 
|132C
 
|132C
 
|111C'''/'''ReadJoypads
 
|111C'''/'''ReadJoypads
|?
+
|ReadJoypads
 
|1372
 
|1372
 
|$10DE
 
|$10DE
Line 41: Line 41:
 
|133A
 
|133A
 
|sub_112A'''/'''Joypad_Read
 
|sub_112A'''/'''Joypad_Read
|?
+
|Joypad_Read
 
|?
 
|?
 
|$10EC
 
|$10EC
Line 48: Line 48:
 
|1368
 
|1368
 
|sub_1158'''/'''VDPSetupGame
 
|sub_1158'''/'''VDPSetupGame
|?
+
|VDPSetupGame
 
|13AE
 
|13AE
 
|$111A
 
|$111A
Line 69: Line 69:
 
|13F2
 
|13F2
 
|word_11E2'''/'''VDPSetupArray
 
|word_11E2'''/'''VDPSetupArray
|?
+
|VDPSetupArray
 
|?
 
|?
 
|$11A4
 
|$11A4
Line 76: Line 76:
 
|142A, and 1458
 
|142A, and 1458
 
|1248, and 1276'''/'''ClearScreen
 
|1248, and 1276'''/'''ClearScreen
|?
+
|ClearScreen
 
|14D4, and 1502
 
|14D4, and 1502
 
|$11CA
 
|$11CA
Line 83: Line 83:
 
|14C0
 
|14C0
 
|sub_135E'''/'''PlayMusic
 
|sub_135E'''/'''PlayMusic
|?
+
|PlayMusic
 
|?
 
|?
 
|$1358
 
|$1358
Line 90: Line 90:
 
|14C6
 
|14C6
 
|sub_1370'''/'''PlaySound
 
|sub_1370'''/'''PlaySound
|?
+
|PlaySound
 
|?
 
|?
 
|$1380
 
|$1380
Line 97: Line 97:
 
|14DC
 
|14DC
 
|sub_1388'''/'''PauseGame
 
|sub_1388'''/'''PauseGame
|?
+
|PauseGame
 
|?
 
|?
 
|$13E4
 
|$13E4
Line 104: Line 104:
 
|15FC
 
|15FC
 
|NemDec_14DE'''/'''NemDec
 
|NemDec_14DE'''/'''NemDec
|?
+
|NemDec
 
|?
 
|?
 
|$15BA
 
|$15BA
Line 111: Line 111:
 
|173C
 
|173C
 
|sub_161E'''/'''LoadPLC
 
|sub_161E'''/'''LoadPLC
|?
+
|LoadPLC
 
|?
 
|?
 
|$16FA
 
|$16FA
Line 118: Line 118:
 
|176E
 
|176E
 
|sub_1650'''/'''LoadPLC2
 
|sub_1650'''/'''LoadPLC2
|?
+
|LoadPLC2
 
|?
 
|?
 
|$1746
 
|$1746
Line 125: Line 125:
 
|179A
 
|179A
 
|sub_167C'''/'''ClearPLC
 
|sub_167C'''/'''ClearPLC
|?
+
|ClearPLC
 
|?
 
|?
 
|$1772
 
|$1772
Line 139: Line 139:
 
|17A8
 
|17A8
 
|sub_168A'''/'''RunPLC_RAM
 
|sub_168A'''/'''RunPLC_RAM
|?
+
|RunPLC_RAM
 
|?
 
|?
 
|$1780
 
|$1780
Line 146: Line 146:
 
|18A8
 
|18A8
 
|sub_178A'''/'''RunPLC_ROM
 
|sub_178A'''/'''RunPLC_ROM
|?
+
|RunPLC_ROM
 
|?
 
|?
 
|$1882'''/'''$1892
 
|$1882'''/'''$1892
Line 153: Line 153:
 
|2596
 
|2596
 
|sub_23C6'''/'''Pal_FadeTo
 
|sub_23C6'''/'''Pal_FadeTo
|?
+
|Pal_FadeTo
 
|?
 
|?
 
|$3AF0
 
|$3AF0
Line 160: Line 160:
 
|25AE
 
|25AE
 
|loc_23DE'''/'''Pal_ToBlack
 
|loc_23DE'''/'''Pal_ToBlack
|?
+
|Pal_ToBlack
 
|?
 
|?
 
|$3B80
 
|$3B80
Line 167: Line 167:
 
|263A
 
|263A
 
|sub_246A'''/'''Pal_FadeFrom
 
|sub_246A'''/'''Pal_FadeFrom
|?
+
|Pal_FadeFrom
 
|?
 
|?
 
|$3BE4
 
|$3BE4
Line 174: Line 174:
 
|265A
 
|265A
 
|sub_248A'''/'''Pal_FadeOut
 
|sub_248A'''/'''Pal_FadeOut
|?
+
|Pal_FadeOut
 
|?
 
|?
 
|$3C04
 
|$3C04
Line 181: Line 181:
 
|28E2
 
|28E2
 
|2712'''/'''PalLoad1
 
|2712'''/'''PalLoad1
|?
+
|PalLoad1
 
|?
 
|?
 
|$3DBE
 
|$3DBE
Line 188: Line 188:
 
|28FE
 
|28FE
 
|272E'''/'''PalLoad2
 
|272E'''/'''PalLoad2
|?
+
|PalLoad2
 
|?
 
|?
 
|$3DDA
 
|$3DDA
Line 195: Line 195:
 
|2916
 
|2916
 
|2746'''/'''PalLoad3_Water
 
|2746'''/'''PalLoad3_Water
|?
+
|PalLoad3_Water
 
|?
 
|?
 
|$3DF2
 
|$3DF2
Line 202: Line 202:
 
|2932
 
|2932
 
|2764'''/'''PalLoad4_Water
 
|2764'''/'''PalLoad4_Water
|?
+
|PalLoad4_Water
 
|?
 
|?
 
|$3E0E
 
|$3E0E
Line 209: Line 209:
 
|31D8
 
|31D8
 
|sub_3384'''/'''DelayProgram
 
|sub_3384'''/'''DelayProgram
|?
+
|DelayProgram
 
|?
 
|?
 
|$1D18
 
|$1D18
Line 216: Line 216:
 
|31E4
 
|31E4
 
|sub_3390'''/'''RandomNumber
 
|sub_3390'''/'''RandomNumber
|302EEA
+
|RandomNumber
 
|?
 
|?
 
|$1D24
 
|$1D24
Line 223: Line 223:
 
|320A
 
|320A
 
|sub_33B6'''/'''CalcSine
 
|sub_33B6'''/'''CalcSine
|302F10
+
|CalcSine
 
|?
 
|?
 
|$1D4C
 
|$1D4C
Line 230: Line 230:
 
|?
 
|?
 
|sub_F65E'''/'''LoadPLC
 
|sub_F65E'''/'''LoadPLC
|?
+
|LoadPLC
 
|?
 
|?
 
|$16FA
 
|$16FA
Line 237: Line 237:
 
|D24E
 
|D24E
 
|sub_16380'''/'''ObjectMoveAndFall
 
|sub_16380'''/'''ObjectMoveAndFall
|312C6E
+
|ObjectMoveAndFall
 
|?
 
|?
 
|$1AB32
 
|$1AB32
Line 244: Line 244:
 
|D27A
 
|D27A
 
|sub_163AC'''/'''ObjectMove
 
|sub_163AC'''/'''ObjectMove
|312C9A
+
|ObjectMove
 
|?
 
|?
 
|$1AB52
 
|$1AB52
 
|-
 
|-
|MarkObjGone'''/'''RememberState
+
|MarkObjGone
 
|D2A0
 
|D2A0
 
|loc_163D2'''/'''MarkObjGone
 
|loc_163D2'''/'''MarkObjGone
|312CC0
+
|MarkObjGone
 
|?
 
|?
 
|$1B588
 
|$1B588
Line 258: Line 258:
 
|D3C2
 
|D3C2
 
|sub_164F4'''/'''DisplaySprite
 
|sub_164F4'''/'''DisplaySprite
|312D80
+
|DisplaySprite
 
|19240
 
|19240
 
|$1ABC6
 
|$1ABC6
Line 265: Line 265:
 
|D3B4
 
|D3B4
 
|loc_164E6'''/'''DeleteObject
 
|loc_164E6'''/'''DeleteObject
|312D72
+
|DeleteObject
 
|?
 
|?
 
|$1ABB6
 
|$1ABB6
Line 272: Line 272:
 
|?
 
|?
 
|sub_164E8'''/'''DeleteObject2
 
|sub_164E8'''/'''DeleteObject2
|?
+
|DeleteObject2
 
|?
 
|?
 
|$1ABB8
 
|$1ABB8
Line 279: Line 279:
 
|D412
 
|D412
 
|sub_16544'''/'''AnimateSprite
 
|sub_16544'''/'''AnimateSprite
|312DD0
+
|AnimateSprite
 
|?
 
|?
 
|$1ABE8
 
|$1ABE8
Line 286: Line 286:
 
|?
 
|?
 
|loc_17FDA'''/'''SingleObjLoad
 
|loc_17FDA'''/'''SingleObjLoad
|?
+
|SingleObjLoad
 
|?
 
|?
 
|$1BAF2
 
|$1BAF2
Line 293: Line 293:
 
|E788
 
|E788
 
|loc_17FFA'''/'''SingleObjLoad2
 
|loc_17FFA'''/'''SingleObjLoad2
|313D8E
+
|SingleObjLoad2
 
|?
 
|?
 
|$1BAFA
 
|$1BAFA
Line 300: Line 300:
 
|?
 
|?
 
|loc_19718'''/'''SolidObject
 
|loc_19718'''/'''SolidObject
|?
+
|SolidObject
 
|?
 
|?
 
|?
 
|?
Line 307: Line 307:
 
|?
 
|?
 
|loc_19C32'''/'''PlatformObject
 
|loc_19C32'''/'''PlatformObject
|?
+
|PlatformObject
 
|?
 
|?
 
|?
 
|?
Line 314: Line 314:
 
|13898
 
|13898
 
|loc_1EDFA'''/'''ObjCheckFloorDist
 
|loc_1EDFA'''/'''ObjCheckFloorDist
|319102
+
|ObjCheckFloorDist
 
|?
 
|?
 
|?
 
|?
Line 342: Line 342:
 
|?
 
|?
 
|loc_3F926'''/'''KillCharacter
 
|loc_3F926'''/'''KillCharacter
|?
+
|KillCharacter
 
|?
 
|?
 
|$10366
 
|$10366
Line 349: Line 349:
 
|?
 
|?
 
|loc_1A35A'''/'''Sonic_Move
 
|loc_1A35A'''/'''Sonic_Move
|?
+
|Knuckles_Move
 
|?
 
|?
 
|$11060
 
|$11060
Line 356: Line 356:
 
|?
 
|?
 
|loc_1A6C0'''/'''Sonic_MoveLeft
 
|loc_1A6C0'''/'''Sonic_MoveLeft
|?
+
|Knuckles_MoveLeft
 
|?
 
|?
 
|?
 
|?
Line 363: Line 363:
 
|?
 
|?
 
|loc_1A746'''/'''Sonic_MoveRight
 
|loc_1A746'''/'''Sonic_MoveRight
|?
+
|Knuckles_MoveRight
 
|?
 
|?
 
|?
 
|?
Line 370: Line 370:
 
|?
 
|?
 
|loc_41A78'''/'''DebugMode
 
|loc_41A78'''/'''DebugMode
|?
+
|DebugMode
 
|?
 
|?
 
|$92A0E
 
|$92A0E
Line 377: Line 377:
 
|?
 
|?
 
|loc_3F73C'''/'''TouchMonitor
 
|loc_3F73C'''/'''TouchMonitor
|?
+
|Touch_Monitor
 
|?
 
|?
 
|$1001A
 
|$1001A
Line 384: Line 384:
 
|?
 
|?
 
|loc_3F78C'''/'''TouchEnemy
 
|loc_3F78C'''/'''TouchEnemy
|?
+
|Touch_Enemy
 
|?
 
|?
 
|$100BC
 
|$100BC
Line 391: Line 391:
 
|?
 
|?
 
|loc_3F6F2'''/'''Touch_ChkValue
 
|loc_3F6F2'''/'''Touch_ChkValue
|?
+
|Touch_ChkValue
 
|?
 
|?
 
|$FFD4
 
|$FFD4
Line 398: Line 398:
 
|?
 
|?
 
|loc_94DC'''/'''LevSelControls
 
|loc_94DC'''/'''LevSelControls
|?
+
|LevSelControls
|?
+
|LevSelControls
 
|?
 
|?
 
|-
 
|-
Line 405: Line 405:
 
|?
 
|?
 
|loc_1A8E8'''/'''Sonic_ChgJumpDir
 
|loc_1A8E8'''/'''Sonic_ChgJumpDir
|?
+
|Knuckles_ChgJumpDir
 
|?
 
|?
 
|$1164E
 
|$1164E
Line 412: Line 412:
 
|?
 
|?
 
|loc_1A8A2'''/'''Sonic_RollLeft
 
|loc_1A8A2'''/'''Sonic_RollLeft
|?
+
|Knuckles_RollLeft
 
|?
 
|?
 
|?
 
|?
Line 419: Line 419:
 
|?
 
|?
 
|loc_1A8C6'''/'''Sonic_RollRight
 
|loc_1A8C6'''/'''Sonic_RollRight
|?
+
|Knuckles_RollRight
 
|?
 
|?
 
|?
 
|?
Line 426: Line 426:
 
|?
 
|?
 
|loc_1A974'''/'''Sonic_LevelBound
 
|loc_1A974'''/'''Sonic_LevelBound
|?
+
|Knuckles_LevelBoundaries
 
|?
 
|?
 
|$116DE
 
|$116DE
Line 433: Line 433:
 
|?
 
|?
 
|loc_1A9B6'''/'''Sonic_Boundary_Bottom
 
|loc_1A9B6'''/'''Sonic_Boundary_Bottom
|?
+
|Knuckles_Boundary_Bottom
 
|?
 
|?
 
|$1172C
 
|$1172C
Line 440: Line 440:
 
|?
 
|?
 
|loc_1AA38'''/'''Sonic_Jump
 
|loc_1AA38'''/'''Sonic_Jump
|?
+
|Knuckles_Jump
 
|?
 
|?
 
|$117DA
 
|$117DA
Line 447: Line 447:
 
|?
 
|?
 
|loc_1AEAA'''/'''Sonic_DoLevelCollision
 
|loc_1AEAA'''/'''Sonic_DoLevelCollision
|?
+
|Knuckles_DoLevelCollision
 
|?
 
|?
 
|?
 
|?

Revision as of 08:57, 23 May 2009

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
Demo_Time E56 sub_7E6/DemoTime DemoTime ? $95A
Demo_TimeEnd E70 locret_800/DemoTime_End return_300504 ? $976
JoypadInit 12FC 10EC/JoypadInit JoypadInit 1342 $10AE
ReadJoypads 132C 111C/ReadJoypads ReadJoypads 1372 $10DE
Joypad_Read 133A sub_112A/Joypad_Read Joypad_Read ? $10EC
VDPSetupGame 1368 sub_1158/VDPSetupGame VDPSetupGame 13AE $111A
VDP_Loop 137C loc_116C/VDP_Loop ? ? $112E
VDP_ClrCRAM 13B0 loc_11A0/VDP_ClrCRAM ? ? $1162
VDPSetupArray 13F2 word_11E2/VDPSetupArray VDPSetupArray ? $11A4
ClearScreen 142A, and 1458 1248, and 1276/ClearScreen ClearScreen 14D4, and 1502 $11CA
PlayMusic 14C0 sub_135E/PlayMusic PlayMusic ? $1358
PlaySound 14C6 sub_1370/PlaySound PlaySound ? $1380
PauseGame 14DC sub_1388/PauseGame PauseGame ? $13E4
NemDec 15FC NemDec_14DE/NemDec NemDec ? $15BA
LoadPLC 173C sub_161E/LoadPLC LoadPLC ? $16FA
LoadPLC2 176E sub_1650/LoadPLC2 LoadPLC2 ? $1746
ClearPLC 179A sub_167C/ClearPLC ClearPLC ? $1772
ClearPLC_Loop 17A0 loc_1682 ? ? $1778
RunPLC_RAM 17A8 sub_168A/RunPLC_RAM RunPLC_RAM ? $1780
RunPLC_ROM 18A8 sub_178A/RunPLC_ROM RunPLC_ROM ? $1882/$1892
Pal_FadeTo 2596 sub_23C6/Pal_FadeTo Pal_FadeTo ? $3AF0
Pal_ToBlack 25AE loc_23DE/Pal_ToBlack Pal_ToBlack ? $3B80
Pal_FadeFrom 263A sub_246A/Pal_FadeFrom Pal_FadeFrom ? $3BE4
Pal_FadeOut 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 31D8 sub_3384/DelayProgram DelayProgram ? $1D18
RandomNumber 31E4 sub_3390/RandomNumber RandomNumber ? $1D24
CalcSine 320A sub_33B6/CalcSine CalcSine ? $1D4C
LoadPLC ? sub_F65E/LoadPLC LoadPLC ? $16FA
ObjectFall D24E sub_16380/ObjectMoveAndFall ObjectMoveAndFall ? $1AB32
SpeedToPos D27A sub_163AC/ObjectMove ObjectMove ? $1AB52
MarkObjGone D2A0 loc_163D2/MarkObjGone MarkObjGone ? $1B588
DisplaySprite D3C2 sub_164F4/DisplaySprite DisplaySprite 19240 $1ABC6
DeleteObject D3B4 loc_164E6/DeleteObject DeleteObject ? $1ABB6
DeleteObject2 ? sub_164E8/DeleteObject2 DeleteObject2 ? $1ABB8
AnimateSprite D412 sub_16544/AnimateSprite AnimateSprite ? $1ABE8
SingleObjLoad ? loc_17FDA/SingleObjLoad SingleObjLoad ? $1BAF2
SingleObjLoad2 E788 loc_17FFA/SingleObjLoad2 SingleObjLoad2 ? $1BAFA
SolidObject ? loc_19718/SolidObject SolidObject ? ?
PlatformObject ? loc_19C32/PlatformObject PlatformObject ? ?
ObjHitFloor 13898 loc_1EDFA/ObjCheckFloorDist ObjCheckFloorDist ? ?
BossDefeated ? loc_2D6CC ? ? ?
BossMove ? loc_2DB0E ? ? ?
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 ? loc_1A746/Sonic_MoveRight Knuckles_MoveRight ? ?
DebugMode ? loc_41A78/DebugMode DebugMode ? $92A0E
Touch_Monitor ? loc_3F73C/TouchMonitor Touch_Monitor ? $1001A
Touch_Enemy ? loc_3F78C/TouchEnemy Touch_Enemy ? $100BC
Touch_ChkValue ? loc_3F6F2/Touch_ChkValue Touch_ChkValue ? $FFD4
LevSelControls ? loc_94DC/LevSelControls LevSelControls LevSelControls ?
Sonic_ChgJumpDir ? 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 ? 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