Difference between revisions of "SCUS 942.21 Routines"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
 
(74 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
== SCUS_942.21 Data Tables ==
 +
 +
[[SCUS 942.21 Data Tables]]
 +
 
== SCUS_942.21 RAM ==
 
== SCUS_942.21 RAM ==
  
 
  00010a30 - 00010b3c: [[main]] -> [[start]]
 
  00010a30 - 00010b3c: [[main]] -> [[start]]
 
  [[00010b40 - 00010ba4]]:
 
  [[00010b40 - 00010ba4]]:
  [[00010ba8 - 00011bac]]:
+
  [[00010ba8 - 00011bac]]: [[Battle.bin entry point (deprecated)]]
  [[00011bb0 - 00011bbc]]:
+
  [[00011bb0 - 00011bbc]]: [[Put Stack pointer]]
  [[00011bc0 - 00011bcc]]:
+
  [[00011bc0 - 00011bcc]]: [[Get Stack pointer]]
 
  00011bd0 - 00011bf0: [[Load Data From Disc (0x11bd0)]]
 
  00011bd0 - 00011bf0: [[Load Data From Disc (0x11bd0)]]
 
  [[00011bf4 - 00011dd4]]: [[Load Data From Disc (0x11bf4)]]
 
  [[00011bf4 - 00011dd4]]: [[Load Data From Disc (0x11bf4)]]
  [[00011dd8 - 00011e14]]:
+
  [[00011dd8 - 00011e14]]: [[Reset and Pause CDROM]]
  [[00011e18 - 00011e34]]: [[SsUtReverbOff]]
+
  [[00011e18 - 00011e34]]: [[Reset CD Subsystems]]
  [[00011e38 - 0001201c]]:
+
  [[00011e38 - 0001201c]]: [[Open File to RAM Centre]]
  [[00012020 - 000120f0]]:
+
  [[00012020 - 000120f0]]: [[Draw Now Loading Message]]
 +
==SUZUKI Music Library==
 
  [[000120f4 - 00012168]]:
 
  [[000120f4 - 00012168]]:
 
  [[0001216c - 000121c8]]:
 
  [[0001216c - 000121c8]]:
  [[000121cc - 000121d0]]:
+
  [[000121cc - 000121d0]]: jr r31
  [[000121d4 - 000121d8]]:
+
  [[000121d4 - 000121d8]]: jr r31
 
  [[000121dc - 00012280]]:
 
  [[000121dc - 00012280]]:
 
  [[00012284 - 00012334]]:
 
  [[00012284 - 00012334]]:
Line 22: Line 27:
 
  [[000123cc - 00012440]]:
 
  [[000123cc - 00012440]]:
 
  [[00012444 - 000124a8]]:
 
  [[00012444 - 000124a8]]:
  [[000124ac - 000124b0]]:
+
  [[000124ac - 000124b0]]: jr r31
  [[000124b4 - 000124b8]]:
+
  [[000124b4 - 000124b8]]: jr r31
  [[000124bc - 000124c0]]:
+
  [[000124bc - 000124c0]]: jr r31
  [[000124c4 - 000124c8]]:
+
  [[000124c4 - 000124c8]]: jr r31
 
  [[000124cc - 00012514]]:
 
  [[000124cc - 00012514]]:
 
  00012518 - 0001255c: [[Play Sound Effect (Inner Routine)]] | [[Cursor Sound Effects?]]
 
  00012518 - 0001255c: [[Play Sound Effect (Inner Routine)]] | [[Cursor Sound Effects?]]
Line 75: Line 80:
 
  [[00014148 - 0001417c]]:
 
  [[00014148 - 0001417c]]:
 
  [[00014180 - 00014200]]:
 
  [[00014180 - 00014200]]:
  [[00014204 - 00014208]]:
+
  [[00014204 - 00014208]]: jr r31
 
  [[0001420c - 00014238]]:
 
  [[0001420c - 00014238]]:
  [[0001423c - 00014274]]:
+
  [[0001423c - 00014274]]: [[Set Global Music Variables]]
  [[00014278 - 00014354]]:
+
  [[00014278 - 00014354]]: [[Find space for SMD to MUS]]
 
  [[00014358 - 000143a8]]:
 
  [[00014358 - 000143a8]]:
 
  [[000143ac - 00014428]]:
 
  [[000143ac - 00014428]]:
 
  [[0001442c - 000144cc]]:
 
  [[0001442c - 000144cc]]:
 
  [[000144d0 - 00014540]]:
 
  [[000144d0 - 00014540]]:
  [[00014544 - 00014548]]:
+
  [[00014544 - 00014548]]: jr r31
  [[0001454c - 00014568]]:
+
  [[0001454c - 00014568]]: [[SpuMalloc with extra steps]]
  [[0001456c - 0001458c]]:
+
  [[0001456c - 0001458c]]: [[SpuFree with extra steps]]
 
  [[00014590 - 00014814]]:
 
  [[00014590 - 00014814]]:
 
  [[00014818 - 000148b0]]:
 
  [[00014818 - 000148b0]]:
Line 97: Line 102:
 
  [[00015324 - 00015860]]:
 
  [[00015324 - 00015860]]:
 
  [[00015864 - 00015868]]:
 
  [[00015864 - 00015868]]:
  [[0001586c - 00015870]]:
+
SMD Instructions
  [[00015874 - 00015898]]:
+
  [[0001586c - 00015870]]: [[SMD No Instruction]]
  [[0001589c - 000158b4]]:
+
  [[00015874 - 00015898]]: [[Rest]]
  [[000158b8 - 000158bc]]:
+
  [[0001589c - 000158b4]]: [[Fermata]]
 +
  [[000158b8 - 000158bc]]: [[SMD No Instruction 2]]
 
  [[000158c0 - 000158e4]]:
 
  [[000158c0 - 000158e4]]:
  [[000158e8 - 000158ec]]:
+
  [[000158e8 - 000158ec]]: [[SMD No Instruction 3]]
  [[000158f0 - 000158f4]]:
+
  [[000158f0 - 000158f4]]: [[SMD No Instruction 4]]
  [[000158f8 - 000159d8]]:
+
  [[000158f8 - 000159d8]]: [[Tacet]]
  [[000159dc - 000159ec]]:
+
  [[000159dc - 000159ec]]: [[Loop]]
  [[000159f0 - 00015a0c]]:
+
  [[000159f0 - 00015a0c]]: [[Octave]]
  [[00015a10 - 00015a24]]:
+
  [[00015a10 - 00015a24]]: [[Raise Octave]]
  [[00015a28 - 00015a3c]]:
+
  [[00015a28 - 00015a3c]]: [[Lower Octave]]
  [[00015a40 - 00015a84]]:
+
  [[00015a40 - 00015a84]]: [[Time Signature]]
 
  [[00015a88 - 00015a98]]:
 
  [[00015a88 - 00015a98]]:
 
  [[00015a9c - 00015ab4]]:
 
  [[00015a9c - 00015ab4]]:
  [[00015ab8 - 00015afc]]:
+
  [[00015ab8 - 00015afc]]: [[Repeat]]
  [[00015b00 - 00015b68]]:
+
  [[00015b00 - 00015b68]]: [[Coda]]
  [[00015b6c - 00015bb4]]:
+
  [[00015b6c - 00015bb4]]: [[To Coda]]
 
  [[00015bb8 - 00015bf8]]:
 
  [[00015bb8 - 00015bf8]]:
 
  [[00015bfc - 00015c34]]:
 
  [[00015bfc - 00015c34]]:
 
  [[00015c38 - 00015cac]]:
 
  [[00015c38 - 00015cac]]:
  [[00015cb0 - 00015cd4]]:
+
  [[00015cb0 - 00015cd4]]: [[Tempo]]
 
  [[00015cd8 - 00015d00]]:
 
  [[00015cd8 - 00015d00]]:
 
  [[00015d04 - 00015d40]]:
 
  [[00015d04 - 00015d40]]:
Line 125: Line 131:
 
  [[00015dd0 - 00015de0]]:
 
  [[00015dd0 - 00015de0]]:
 
  [[00015de4 - 00015e2c]]:
 
  [[00015de4 - 00015e2c]]:
  [[00015e30 - 00015e64]]:
+
  [[00015e30 - 00015e64]]: [[Instrument]]
 
  [[00015e68 - 00015e94]]:
 
  [[00015e68 - 00015e94]]:
  [[00015e98 - 00015e9c]]:
+
  [[00015e98 - 00015e9c]]: [[SMD No Instruction 5]]
  [[00015ea0 - 00015ea4]]:
+
  [[00015ea0 - 00015ea4]]: [[SMD No Instruction 6]]
 
  [[00015ea8 - 00015ebc]]:
 
  [[00015ea8 - 00015ebc]]:
 
  [[00015ec0 - 00015ed4]]:
 
  [[00015ec0 - 00015ed4]]:
Line 138: Line 144:
 
  [[00016060 - 00016088]]:
 
  [[00016060 - 00016088]]:
 
  [[0001608c - 000160e0]]:
 
  [[0001608c - 000160e0]]:
  [[000160e4 - 0001610c]]:
+
  [[000160e4 - 0001610c]]: [[Cue]]
 
  [[00016110 - 00016138]]:
 
  [[00016110 - 00016138]]:
  [[0001613c - 00016170]]:
+
  [[0001613c - 00016170]]: [[Naturale]]
 
  [[00016174 - 000161a4]]:
 
  [[00016174 - 000161a4]]:
  [[000161a8 - 000161c0]]:
+
  [[000161a8 - 000161c0]]: [[Attack Time]]
 
  [[000161c4 - 000161dc]]:
 
  [[000161c4 - 000161dc]]:
  [[000161e0 - 000161f8]]:
+
  [[000161e0 - 000161f8]]: [[Sustain]]
 
  [[000161fc - 00016218]]:
 
  [[000161fc - 00016218]]:
  [[0001621c - 00016234]]:
+
  [[0001621c - 00016234]]: [[Sustain 2]]
 
  [[00016238 - 0001625c]]:
 
  [[00016238 - 0001625c]]:
 
  [[00016260 - 00016278]]:
 
  [[00016260 - 00016278]]:
Line 159: Line 165:
 
  [[000163d4 - 000163e8]]:
 
  [[000163d4 - 000163e8]]:
 
  [[000163ec - 0001641c]]:
 
  [[000163ec - 0001641c]]:
  [[00016420 - 000164d0]]:
+
  [[00016420 - 000164d0]]: [[Pitch Shift]]
 
  [[000164d4 - 000165a8]]:
 
  [[000164d4 - 000165a8]]:
 
  [[000165ac - 000165e0]]:
 
  [[000165ac - 000165e0]]:
 
  [[000165e4 - 000165f8]]:
 
  [[000165e4 - 000165f8]]:
 
  [[000165fc - 00016610]]:
 
  [[000165fc - 00016610]]:
  [[00016614 - 0001663c]]:
+
  [[00016614 - 0001663c]]: [[Dynamic]]
 
  [[00016640 - 0001667c]]:
 
  [[00016640 - 0001667c]]:
 
  [[00016680 - 000166c4]]:
 
  [[00016680 - 000166c4]]:
Line 172: Line 178:
 
  [[0001686c - 00016880]]:
 
  [[0001686c - 00016880]]:
 
  [[00016884 - 00016898]]:
 
  [[00016884 - 00016898]]:
  [[0001689c - 000168b8]]:
+
  [[0001689c - 000168b8]]: [[Balance]]
 
  [[000168bc - 000168e8]]:
 
  [[000168bc - 000168e8]]:
 
  [[000168ec - 00016938]]:
 
  [[000168ec - 00016938]]:
Line 191: Line 197:
 
  [[00016e48 - 00016ea0]]:
 
  [[00016e48 - 00016ea0]]:
 
  [[00016ea4 - 00016fb0]]:
 
  [[00016ea4 - 00016fb0]]:
  [[00016fb4 - 00017094]]:
+
 
 +
  [[00016fb4 - 00017094]]: [[Set Instrument]]
 
  [[00017098 - 000170d4]]:
 
  [[00017098 - 000170d4]]:
 
  [[000170d8 - 00017114]]:
 
  [[000170d8 - 00017114]]:
Line 208: Line 215:
 
  [[000178f4 - 0001791c]]:
 
  [[000178f4 - 0001791c]]:
 
  [[00017920 - 00017b48]]:
 
  [[00017920 - 00017b48]]:
  [[00017b4c - 00017bf4]]:
+
  [[00017b4c - 00017bf4]]: [[Set All Voices Release Shift to 6]]
 
  [[00017bf8 - 00017c38]]:
 
  [[00017bf8 - 00017c38]]:
 
  [[00017c3c - 00017c88]]:
 
  [[00017c3c - 00017c88]]:
Line 251: Line 258:
 
  [[00019378 - 000193a0]]:
 
  [[00019378 - 000193a0]]:
 
  [[000193a4 - 00019400]]:
 
  [[000193a4 - 00019400]]:
  [[00019404 - 00019424]]:
+
==LIBSPU Sound Processing Unit Library==
  [[00019428 - 00019444]]:
+
  [[00019404 - 00019424]]: [[_spuDataCallback]]
  [[00019448 - 000194c0]]:
+
  [[00019428 - 00019444]]: [[SsUtReverbOn]]
  [[000194c4 - 00019514]]:
+
  [[00019448 - 000194c0]]: [[SpuQuit]]
  [[00019518 - 000197dc]]:
+
  [[000194c4 - 00019514]]: [[SpuInitMalloc]]
  [[000197e0 - 00019adc]]:
+
  [[00019518 - 000197dc]]: [[SpuMalloc]]
  [[00019ae0 - 00019b58]]:
+
  [[000197e0 - 00019adc]]: [[_spu_gcSPU]]
  [[00019b5c - 00019b7c]]:
+
  [[00019ae0 - 00019b58]]: [[SpuFree]]
  [[00019b80 - 00019d84]]:
+
  [[00019b5c - 00019b7c]]: [[SpuSetNoiseVoice]]
  [[00019d88 - 00019dd4]]:
+
  [[00019b80 - 00019d84]]: [[_SpuSetAnyVoice]]
 +
  [[00019d88 - 00019dd4]]: [[SpuSetNoiseClock]]
 
  [[00019dd8 - 00019e34]]:
 
  [[00019dd8 - 00019e34]]:
  [[00019e38 - 00019f04]]:
+
  [[00019e38 - 00019f04]]: [[SpuSetReverb]]
 
  [[00019f08 - 00019f84]]:
 
  [[00019f08 - 00019f84]]:
 
  [[00019f88 - 0001a010]]:
 
  [[00019f88 - 0001a010]]:
  [[0001a014 - 0001a520]]:
+
  [[0001a014 - 0001a520]]: [[SpuSetReverbModeParam]]
  [[0001a524 - 0001a9f0]]:
+
  [[0001a524 - 0001a9f0]]: [[_spu_setReverbAttr]]
  [[0001a9f4 - 0001aa40]]:
+
  [[0001a9f4 - 0001aa40]]: [[SpuGetReverbModeParam]]
  [[0001aa44 - 0001aab8]]:
+
  [[0001aa44 - 0001aab8]]: [[SpuSetReverbDepth]]
  [[0001aabc - 0001aadc]]:
+
  [[0001aabc - 0001aadc]]: [[SpuSetReverbVoice]]
  [[0001aae0 - 0001ac78]]:
+
  [[0001aae0 - 0001ac78]]: [[SpuClearReverbWorkArea]]
  [[0001ac7c - 0001acec]]:
+
  [[0001ac7c - 0001acec]]: [[SpuReadDecodedData]]
  [[0001acf0 - 0001aef0]]:
+
  [[0001acf0 - 0001aef0]]: [[Set Voices to Release]]
 
  [[0001aef4 - 0001af60]]:
 
  [[0001aef4 - 0001af60]]:
 
  [[0001af64 - 0001afc0]]:
 
  [[0001af64 - 0001afc0]]:
 
  [[0001afc4 - 0001b014]]:
 
  [[0001afc4 - 0001b014]]:
  [[0001b018 - 0001b048]]:
+
  [[0001b018 - 0001b048]]: [[SpuSetTransferMode]]
  [[0001b04c - 0001b06c]]:
+
  [[0001b04c - 0001b06c]]: [[SpuSetTransferCallback]]
  [[0001b070 - 0001b090]]:
+
  [[0001b070 - 0001b090]]: [[SpuSetPitchLFOVoice]]
 
  [[0001b094 - 0001b424]]:
 
  [[0001b094 - 0001b424]]:
 
  [[0001b428 - 0001b4ac]]:
 
  [[0001b428 - 0001b4ac]]:
Line 286: Line 294:
 
  [[0001b720 - 0001b798]]:
 
  [[0001b720 - 0001b798]]:
 
  [[0001b79c - 0001b824]]:
 
  [[0001b79c - 0001b824]]:
  [[0001b828 - 0001b8ac]]:
+
  [[0001b828 - 0001b8ac]]: [[Set Voice Release Shift]]
 
  [[0001b8b0 - 0001b934]]:
 
  [[0001b8b0 - 0001b934]]:
 
  [[0001b938 - 0001b9d0]]:
 
  [[0001b938 - 0001b9d0]]:
 
  [[0001b9d4 - 0001bab4]]:
 
  [[0001b9d4 - 0001bab4]]:
 
  [[0001bab8 - 0001bb58]]:
 
  [[0001bab8 - 0001bb58]]:
  [[0001bb5c - 0001bb94]]:
+
==LIBGTE Geometry Transformation Engine Library==
  [[0001bb98 - 0001bc24]]:
+
  [[0001bb5c - 0001bb94]]: [[rsin]]
  [[0001bc28 - 0001bcc4]]:
+
  [[0001bb98 - 0001bc24]]: [[sin_1]]
  [[0001bcc8 - 0001be18]]:
+
  [[0001bc28 - 0001bcc4]]: [[rcos]]
  [[0001be1c - 0001beb4]]:
+
  [[0001bcc8 - 0001be18]]: [[csqrt_1]]
  [[0001beb8 - 0001bf34]]:
+
  [[0001be1c - 0001beb4]]: [[csqrt]]
  0001bf38 - 0001bfb8: [[Frame Timing Related? (0x1bf38)]]
+
  [[0001beb8 - 0001bf34]]: [[InitGeom]]
 +
  0001bf38 - 0001bfb8: [[Frame Timing Related? (0x1bf38)]] [[SquareRoot0]]
 
  [[0001bfb4 - 0001bfb8]]:
 
  [[0001bfb4 - 0001bfb8]]:
  [[0001bfc8 - 0001c048]]:
+
  [[0001bfc8 - 0001c048]]: [[InvSquareRoot]]
 
  0001c04c - 0001c050: [[Return -1]]
 
  0001c04c - 0001c050: [[Return -1]]
  [[0001c054 - 0001c090]]:
+
  [[0001c054 - 0001c090]]: [[VectorNormalS]] & VectorNormal 8001c068
  [[0001c094 - 0001c0c0]]:
+
  [[0001c094 - 0001c0c0]]: [[VectorNormalSS]]
 
  [[0001c0c4 - 0001c17c]]:
 
  [[0001c0c4 - 0001c17c]]:
  [[0001c180 - 0001c260]]:
+
  [[0001c180 - 0001c260]]: [[MatrixNormal]]
  0001c268 - 0001c2e4: [[Get Square root of r4 dealing with 4096]]
+
  0001c268 - 0001c2e4: [[Get Square root of r4 dealing with 4096]] [[SquareRoot12]]
 
  [[0001c2e8 - 0001c2f0]]:
 
  [[0001c2e8 - 0001c2f0]]:
 
  [[0001c2f4 - 0001c2f8]]:
 
  [[0001c2f4 - 0001c2f8]]:
  [[0001c308 - 0001c464]]:
+
  [[0001c308 - 0001c464]]: [[CompMatrix]]
  [[0001c468 - 0001c570]]:
+
  [[0001c468 - 0001c570]]: [[MulMatrix0]]
  [[0001c574 - 0001c654]]:
+
  [[0001c574 - 0001c654]]: [[MulRotMatrix0]]
  [[0001c658 - 0001c73c]]:
+
  [[0001c658 - 0001c73c]]: [[MulRotMatrix]]
  [[0001c740 - 0001c84c]]:
+
  [[0001c740 - 0001c84c]]: [[SetMulMatrix]]
  [[0001c850 - 0001c9ac]]:
+
  [[0001c850 - 0001c9ac]]: [[ApplyMatrixLV]]
  [[0001c9b0 - 0001c9dc]]:
+
  [[0001c9b0 - 0001c9dc]]: [[ApplyRotMatrix]]
  [[0001c9e0 - 0001cb00]]:
+
  [[0001c9e0 - 0001cb00]]: [[ScaleMatrixL]]
  [[0001cb04 - 0001cb3c]]: [[? 0x1cb04]]
+
  [[0001cb04 - 0001cb3c]]: [[? 0x1cb04]] [[PushMatrixL]]
  [[0001cb40 - 0001cba0]]: [[? 0x1cba4]]
+
  [[0001cb40 - 0001cba0]]:
[[0001cba4 - 0001cbd8]]:
+
[[0001cba4 - 0001cbd8]]: [[? 0x1cba4]] [[PopMatrix]]
 
  [[0001cbdc - 0001cc40]]:
 
  [[0001cbdc - 0001cc40]]:
  [[0001cc44 - 0001cc88]]:
+
  [[0001cc44 - 0001cc88]]: [[ReadRotMatrix]]
  [[0001cc8c - 0001ccd0]]:
+
  [[0001cc8c - 0001ccd0]]: [[ReadLightMatrix]]
  [[0001ccd4 - 0001cd18]]:
+
  [[0001ccd4 - 0001cd18]]: [[ReadColorMatrix]]
  [[0001cd28 - 0001ce30]]:
+
  [[0001cd28 - 0001ce30]]: [[MulMatrix]]
  [[0001ce38 - 0001cf40]]:
+
  [[0001ce38 - 0001cf40]]: [[MulMatrix2]]
 
  [[0001cf48 - 0001cf68]]:
 
  [[0001cf48 - 0001cf68]]:
  [[0001cf78 - 0001d098]]:
+
  [[0001cf78 - 0001d098]]: [[ScaleMatrix]]
 
+
  0001d0a8 - 0001d0d4: [[Store Rotation matrix elements to GTE]] [[SetRotMatrix]]
LIBGTE (Geometry Transformation Engine) (can be extended up or down?)
+
  0001d0d8 - 0001d104: [[Store Light Source Matrix Elements to GTE]] [[SetLightMatrix]]
0001d09c - 0001d0a4:
+
  0001d108 - 0001d134: [[Store Light Color matrix source RGB's to GTE]] [[SetColorMatrix]]
  0001d0a8 - 0001d0d4: [[Store Rotation matrix elements to GTE]]
+
  0001d138 - 0001d154: [[Store Translation Vectors to GTE]] [[SetTransMatrix]]
  0001d0d8 - 0001d104: [[Store Light Source Matrix Elements to GTE]]
+
  0001d158 - 0001d160: [[Get Projection Plane distance from GTE]] [[ReadGeomScreen]]
  0001d108 - 0001d134: [[Store Light Color matrix source RGB's to GTE]]
+
  0001d164 - 0001d184: [[Store Background RGB to GTE]] [[SetBackColor]]
  0001d138 - 0001d154: [[Store Translation Vectors to GTE]]
+
  0001d188 - 0001d1a4: [[Store far color RGB to GTE]] [[SetFarColor]]
  0001d158 - 0001d160: [[Get Projection Plane distance from GTE]]
+
  0001d1a8 - 0001d1bc: [[Store Screen offsets to GTE]]  
  0001d164 - 0001d184: [[Store Background RGB to GTE]]
 
  0001d188 - 0001d1a4: [[Store far color RGB to GTE]]
 
  0001d1a8 - 0001d1bc: [[Store Screen offsets to GTE]]
 
 
  0001d1c0 - 0001d1d0: [[Store Projection plane distance in GTE]]
 
  0001d1c0 - 0001d1d0: [[Store Projection plane distance in GTE]]
  0001d1d4 - 0001d1fc: [[Multiply vector and store results]]
+
  0001d1d4 - 0001d1fc: [[Multiply vector and store results]] [[LightColor]]
  0001d200 - 0001d224: [[Depth Cue Color Light]]
+
  0001d200 - 0001d224: [[Depth Cue Color Light]] [[DpqColorLight]]
  0001d228 - 0001d260: [[Depth Cue Triple]]
+
  0001d228 - 0001d260: [[Depth Cue Triple]] [[DpqColor3]]
 
  0001d264 - 0001d284: [[interpolate]]
 
  0001d264 - 0001d284: [[interpolate]]
  0001d288 - 0001d2ac: [[square vector]]
+
  0001d288 - 0001d2ac: [[square vector]] [[Square12]]
  0001d2b0 - 0001d2d4: [[square matrix/vector (duplicate routine?]]
+
  0001d2b0 - 0001d2d4: [[square matrix/vector (duplicate routine?]] [[Square0]]
 
  0001d2d8 - 0001d2f4: [[SMP 11 AverageSZ3]]
 
  0001d2d8 - 0001d2f4: [[SMP 11 AverageSZ3]]
 
  0001d2f8 - 0001d318: [[SMP 12 AverageSZ4]]
 
  0001d2f8 - 0001d318: [[SMP 12 AverageSZ4]]
  0001d31c - 0001d370: [[calculate outer product of 2 vectors]]
+
  0001d31c - 0001d370: [[calculate outer product of 2 vectors]] [[OuterProduct12]]
  0001d374 - 0001d3c8: [[calculate outer product of 2 vectors 2]]
+
  0001d374 - 0001d3c8: [[calculate outer product of 2 vectors 2]] [[OuterProduct0]]
  0001d3cc - 0001d3e0: [[Get leading 0 or 1 count]]
+
  0001d3cc - 0001d3e0: [[Get leading 0 or 1 count]] [[Lzc]]
  [[0001d3e4 - 0001d414]]:
+
  [[0001d3e4 - 0001d414]]: [[RotTransSV]]
  [[0001d418 - 0001d44c]]:
+
  [[0001d418 - 0001d44c]]: [[SquareSS12]]
  [[0001d450 - 0001d484]]:
+
  [[0001d450 - 0001d484]]: [[SquareSS0]]
  [[0001d488 - 0001d4b4]]:
+
  [[0001d488 - 0001d4b4]]: [[SquareSL12]]
  [[0001d4b8 - 0001d4e4]]:
+
  [[0001d4b8 - 0001d4e4]]: [[SquareSL0]]
  [[0001d4e8 - 0001d510]]:
+
  [[0001d4e8 - 0001d510]]: [[RotTransPers]]
  [[0001d514 - 0001d568]]:
+
  [[0001d514 - 0001d568]]: [[RotTransPers3]]
[[0001d56c - 0001d59c]]:
+
  0001d578 - 0001d59c: [[0x1d578]] [[RotTrans]]
  0001d578 - 0001d59c: [[0x1d578]]
+
0001d56c - 0001d59c: ?
 
+
  [[0001d5a0 - 0001d5c8]]: [[NormalClip]]
  [[0001d5a0 - 0001d5c8]]:
+
  [[0001d5cc - 0001d64c]]: [[RotTransPers4]]
  [[0001d5cc - 0001d64c]]:
+
  [[0001d650 - 0001d8e0]]: [[RotMatrix]]
  [[0001d650 - 0001d8e0]]:
+
  [[0001d8e4 - 0001da64]]: [[ratan2]]
  [[0001d8e4 - 0001da64]]:
+
  [[0001da68 - 0001dacc]]: [[_patch_gte]]
  [[0001da68 - 0001dacc]]:
+
==LIBETC Callbacks Management Library==
  [[0001dad0 - 0001db54]]:
+
  [[0001dad0 - 0001db54]]: PadInit?
  [[0001db58 - 0001db84]]: [[Get Inverted Button Input]] | [[Get Buttons pressed Layer?]]
+
  [[0001db58 - 0001db84]]: [[Get Inverted Button Input]] | [[Get Buttons pressed Layer?]] | [[PadRead]]
  [[0001db88 - 0001dba4]]: pad stop?
+
  [[0001db88 - 0001dba4]]: [[PadStop]]
  [[0001dba8 - 0001dcec]]: [[Vsync call]]
+
  [[0001dba8 - 0001dcec]]: [[VSync call|VSync call]] [[VSYNC]]
  [[0001dcf0 - 0001dd88]]: [[Wait for Vertical Sync]]
+
  [[0001dcf0 - 0001dd88]]: [[Wait for Vertical Sync]] [[v_wait]]
  [[0001dd8c - 0001ddb8]]: reset callback?
+
  [[0001dd8c - 0001ddb8]]: [[ResetCallback]]
  [[0001ddbc - 0001dde8]]: interrupt callback?
+
  [[0001ddbc - 0001dde8]]: [[InterruptCallback]]
 
  [[0001ddec - 0001de18]]: [[DMA Callback]]
 
  [[0001ddec - 0001de18]]: [[DMA Callback]]
 
  [[0001de1c - 0001de4c]]: [[Vsync Callback]]
 
  [[0001de1c - 0001de4c]]: [[Vsync Callback]]
Line 397: Line 403:
 
  [[0001e884 - 0001e890]]: get video mode?
 
  [[0001e884 - 0001e890]]: get video mode?
 
  [[0001e894 - 0001e8c0]]: [[StSetRing]]
 
  [[0001e894 - 0001e8c0]]: [[StSetRing]]
 +
==LIBCD Basic CD-ROM & Streaming Library==
 
  [[0001e8c4 - 0001e950]]: [[CdInit]]
 
  [[0001e8c4 - 0001e950]]: [[CdInit]]
 
  [[0001e954 - 0001e978]]: [[def_cbsync]]
 
  [[0001e954 - 0001e978]]: [[def_cbsync]]
Line 417: Line 424:
 
  [[0001ecc0 - 0001ede8]]: [[CdControlf]]
 
  [[0001ecc0 - 0001ede8]]: [[CdControlf]]
 
  [[0001edec - 0001ef2c]]: [[CdControlb]]
 
  [[0001edec - 0001ef2c]]: [[CdControlb]]
 
 
 
LIBCD (Basic CD-ROM & Streaming) (Can be expanded)
 
 
  [[0001ef30 - 0001ef50]]: [[S 022 CDGetSector2]] <- [[CdMix]]
 
  [[0001ef30 - 0001ef50]]: [[S 022 CDGetSector2]] <- [[CdMix]]
 
  0001ef54 - 0001ef74: [[Load file into RAM 1]] <- [[S 021 CDGetSector]]
 
  0001ef54 - 0001ef74: [[Load file into RAM 1]] <- [[S 021 CDGetSector]]
Line 431: Line 434:
 
  [[0001f938 - 0001fc00]]: [[CD Ready]]
 
  [[0001f938 - 0001fc00]]: [[CD Ready]]
 
  [[0001fc04 - 00020048]]: [[S 016 CdControl]]
 
  [[0001fc04 - 00020048]]: [[S 016 CdControl]]
  [[0002004c - 000200d0]]: [[S 022 CDGetSector2 Inner]]  
+
  [[0002004c - 000200d0]]: [[S 022 CDGetSector2 Inner]] [[CD vol]]
 
  [[000200d4 - 000201b0]]: [[CD Flush]]
 
  [[000200d4 - 000201b0]]: [[CD Flush]]
 
  [[000201b4 - 000202a4]]: [[CD initvol]]
 
  [[000201b4 - 000202a4]]: [[CD initvol]]
Line 440: Line 443:
 
  [[00020750 - 0002075c]]: [[CD set test parmnum]]
 
  [[00020750 - 0002075c]]: [[CD set test parmnum]]
 
  [[00020760 - 0002083c]]: [[callback]]
 
  [[00020760 - 0002083c]]: [[callback]]
00020840 - 00020a5c: [[Call load file into RAM routine]] <- ? I mean it'd be nice if the page existed tbf
 
 
 
  [[00020840 - 00020a60]]: [[Cb read]]
 
  [[00020840 - 00020a60]]: [[Cb read]]
 
  [[00020a64 - 00020c38]]: [[Cd read retry]]
 
  [[00020a64 - 00020c38]]: [[Cd read retry]]
Line 462: Line 463:
 
  [[00021c90 - 00021e48]]: [[dma execute]]
 
  [[00021c90 - 00021e48]]: [[dma execute]]
 
  [[00021e4c - 00021f10]]: [[StRingStatus]]
 
  [[00021e4c - 00021f10]]: [[StRingStatus]]
  [[00021f14 - 00021f1c]]:
+
  [[00021f14 - 00021f1c]]: [[InitHeap]]
  [[00021f24 - 00021f2c]]:
+
  [[00021f24 - 00021f2c]]: [[FlushCache]]
  [[00021f34 - 00021f3c]]:
+
  [[00021f34 - 00021f3c]]: [[_bu_init]]
  [[00021f44 - 00021f4c]]:
+
  [[00021f44 - 00021f4c]]: [[_96_remove]]
  [[00021f54 - 00021f5c]]:
+
  [[00021f54 - 00021f5c]]: [[SetMem]]
  [[00021f64 - 00021f6c]]:
+
  [[00021f64 - 00021f6c]]: [[DeliverEvent]] < NOT related to Game events!!!! [[https://problemkaputt.de/psxspx-bios-event-functions.htm BIOS_events]]
  [[00021f74 - 00021f7c]]:
+
  [[00021f74 - 00021f7c]]: [[OpenEvent]]
  [[00021f84 - 00021f8c]]:
+
  [[00021f84 - 00021f8c]]: [[CloseEvent]]
  [[00021f94 - 00021f9c]]:
+
  [[00021f94 - 00021f9c]]: [[WaitEvent]]
  [[00021fa4 - 00021fac]]:
+
  [[00021fa4 - 00021fac]]: [[TestEvent]]
  [[00021fb4 - 00021fbc]]:
+
  [[00021fb4 - 00021fbc]]: [[EnableEvent]]
  [[00021fc4 - 00021fcc]]:
+
  [[00021fc4 - 00021fcc]]: [[DisableEvent]]
  [[00021fd4 - 00021fdc]]:
+
  [[00021fd4 - 00021fdc]]: [[stopPAD]]
  [[00021fe4 - 00021fec]]:
+
  [[00021fe4 - 00021fec]]: [[PAD_init]]
 
  00021ff4 - 00021ffc: [[PAD_dr]]  (Gets controller button state)
 
  00021ff4 - 00021ffc: [[PAD_dr]]  (Gets controller button state)
  [[00022004 - 0002200c]]:
+
  [[00022004 - 0002200c]]: [[ReturnFromException]]
  [[00022014 - 0002201c]]:
+
  [[00022014 - 0002201c]]: [[ResetEntryInt]]
  [[00022024 - 0002202c]]:
+
  [[00022024 - 0002202c]]: [[HookEntryInt]]
  [[00022034 - 00022040]]:
+
  [[00022034 - 00022040]]: [[Enter Critical Section]]
  [[00022044 - 00022050]]:
+
  [[00022044 - 00022050]]: [[Exit Critical Section]]
 
  [[00022054 - 000221b0]]: [[open]] [[lseek]] [[read]] [[write]] [[close]] [[format]] [[firstfile]] [[nextfile]] [[delete]] [[get error]]
 
  [[00022054 - 000221b0]]: [[open]] [[lseek]] [[read]] [[write]] [[close]] [[format]] [[firstfile]] [[nextfile]] [[delete]] [[get error]]
 
  000220f4 - 000220fc: [[Change Clear Pad]]
 
  000220f4 - 000220fc: [[Change Clear Pad]]
 
  00022104 - 0002210c: [[Change Clear RCnt]]
 
  00022104 - 0002210c: [[Change Clear RCnt]]
  ...                  [[SetRCnt]]
+
  [[00022114 - 000221b0]]: [[SetRCnt]]
 
  [[000221b4 - 000221e8]]: [[GetRCnt]]
 
  [[000221b4 - 000221e8]]: [[GetRCnt]]
 
  [[000221ec - 0002221c]]: [[StartRCnt]]
 
  [[000221ec - 0002221c]]: [[StartRCnt]]
Line 491: Line 492:
 
  [[00022254 - 00022288]]: [[ResetRCnt]]
 
  [[00022254 - 00022288]]: [[ResetRCnt]]
  
LIBC (Standard GCC C Library)
+
==LIBC Standard GCC C Library==
  0002228c - 00022294: [[Write String to Terminal]]
+
  0002228c - 00022294: [[Write String to Terminal]] [[puts]] <not as helpful a title.
 +
[[0002229c - 000222a8]] [[setjmp]]
 +
[[000222ac - 000222b8]] [[strcat]]
 +
[[000222bc - 000222c8]] [[strcmp]]
 +
[[000222cc - 000222d8]] [[strcpy]]
 +
[[0002228c - 00022b94]] <- redundant. encompasses many calls.
 
  000222dc - 000222e4: [[bcopy]] (Copies data from one section of memory to another; like memmove)
 
  000222dc - 000222e4: [[bcopy]] (Copies data from one section of memory to another; like memmove)
 +
000222ec - 000222f8: [[bzero]]
 
  000222fc - 00022304: C43 [[memset]]
 
  000222fc - 00022304: C43 [[memset]]
 
  0002230c - 00022314: C47 [[rand]] | [[Random Number Generator]]
 
  0002230c - 00022314: C47 [[rand]] | [[Random Number Generator]]
 
  0002231c - 00022324: C48 [[srand]] (Sets RNG seed/state)
 
  0002231c - 00022324: C48 [[srand]] (Sets RNG seed/state)
  [[0002228c - 00022b94]] <- encompasses above list of kernal calls
+
  0002232c - 00022338: [[printf]]?
 +
0002233c - 00022b94: [[sprintf]]
 
  00022b98 - 00022ba4: [[C27 strlen]]
 
  00022b98 - 00022ba4: [[C27 strlen]]
 
  00022ba8 - 00022bb4: [[C46 memchr]]
 
  00022ba8 - 00022bb4: [[C46 memchr]]
 
  [[00022bb8 - 00022c20]]: [[Memmove]]
 
  [[00022bb8 - 00022c20]]: [[Memmove]]
...
 
[[00044414 - 000444d8]]: [[C51 Malloc]] <- allocate memory
 
[[000444dc - 000445fc]]: [[? 0x444dc]]
 
[[00044600 - 0004466c]]: [[C52 Free]]  <- free memory
 
  
 
+
==LIBGPU Basic Graphics Library==
LIBGPU (Basic Graphics Library) (can be extended down?)
 
 
  [[00022c24 - 00022d0c]]: [[E00 LoadTpage]]
 
  [[00022c24 - 00022d0c]]: [[E00 LoadTpage]]
 
  [[00022d10 - 00022d74]]: [[E01 LoadClut]]
 
  [[00022d10 - 00022d74]]: [[E01 LoadClut]]
Line 593: Line 596:
 
  [[000259bc - 00025a00]]: [[Calculate GP0(E5h) Set Drawing Offset (X,Y)]] <-- Called by SYS set draw offset -> [[get ofs]]
 
  [[000259bc - 00025a00]]: [[Calculate GP0(E5h) Set Drawing Offset (X,Y)]] <-- Called by SYS set draw offset -> [[get ofs]]
 
  [[00025a04 - 00025a84]]: [[Dereference RECT *tw]] --> [[get tw]]
 
  [[00025a04 - 00025a84]]: [[Dereference RECT *tw]] --> [[get tw]]
 
...
 
 
  [[00025a88 - 00025b40]]: [[get dx]]
 
  [[00025a88 - 00025b40]]: [[get dx]]
 
  [[00025b44 - 00025b58]]: [[_status]]
 
  [[00025b44 - 00025b58]]: [[_status]]
Line 621: Line 622:
 
  [[00027308 - 00027424]]: [[get TIM addr]]
 
  [[00027308 - 00027424]]: [[get TIM addr]]
 
  [[00027428 - 000275bc]]: [[get TMD addr]]
 
  [[00027428 - 000275bc]]: [[get TMD addr]]
 +
==LIBCARD Memory Card Library==
 
  [[000275c0 - 0002873c]]: [[unpack packet]]
 
  [[000275c0 - 0002873c]]: [[unpack packet]]
 
  [[00028740 - 000287b4]]: [[card info]] [[card load]] [[card auto]] [[card status]] [[card clear]]  
 
  [[00028740 - 000287b4]]: [[card info]] [[card load]] [[card auto]] [[card status]] [[card clear]]  
  [[000287b8 - 00028828]]: [[card write]] [[new card]] + ...?
+
  [[000287b8 - 000287c4]]: [[card write]]  
  [[0002882c - 00028860]]:
+
000287c8 - 000287d4: [[new card]]  
  [[00028864 - 00028890]]:
+
000287d8 - 00028828: [[init_card_earlysafe]]
 +
  [[0002882c - 00028860]]: [[StartCARD_earlysafe]]
 +
  [[00028864 - 00028890]]: [[StopCARD_earlysafe]]
 
  [[00028894 - 00028918]]: [[init card]] [[start card]] [[stop card]]
 
  [[00028894 - 00028918]]: [[init card]] [[start card]] [[stop card]]
  [[0002891c - 000289a0]]:
+
  [[0002891c - 000289a0]]: [[early_card_irq_patch]]
  [[000289a4 - 000289d0]]:
+
  [[000289a4 - 000289d0]]:  
  [[000289d4 - 00028a3c]]:
+
  [[000289d4 - 00028a3c]]: [[patch_card_specific_delay]]
 
  [[00028a40 - 00028a54]]:
 
  [[00028a40 - 00028a54]]:
  [[00028a64 - 00028ac8]]:
+
  [[00028a64 - 00028ac8]]: [[patch_uninstall_early_card_irq_handler]]
 
  00028acc - 00040970:
 
  00028acc - 00040970:
  00040934 - start of meaningful code
+
==MURATA Main Program==
  [[00040974 - 000409a0]]:
+
  [[00040934 - 00040970]]: [[Between Gamestates: turn off sound, quit SPU]]
  [[000409a4 - 000409c0]]:
+
  [[00040974 - 000409a0]]: [[Between Gamestate quit sound, get stack pointer]]
  [[000409c4 - 000409fc]]:
+
  [[000409a4 - 000409c0]]: [[Call Battle.bin entry point (deprecated)]]
  [[00040a00 - 00040b84]]:
+
  [[000409c4 - 000409fc]]: [[Get BATTLE.BIN]]
  [[00040b88 - 00040bd4]]:
+
  [[00040a00 - 00040b84]]: [[Initialise FFT Game state]]
 +
  [[00040b88 - 00040bd4]]: Main? decompiler read it as such.
 
  00040bd8 - 00041380: [[Build Image Data for Now Loading message]]
 
  00040bd8 - 00041380: [[Build Image Data for Now Loading message]]
  [[00041384 - 000413a4]]:
+
  [[00041384 - 000413a4]]: [[Build now loading at 128, 00]]
  [[000413a8 - 00041468]]:
+
  [[000413a8 - 00041468]]: [[Add Now Loading Message to OTAG List]]
  [[0004146c - 00041594]]:
+
  [[0004146c - 00041594]]: [[Get EFC FNT (deprecated)]]
  [[00041598 - 00041770]]:
+
  [[00041598 - 00041770]]: [[Initialise Drawing & Display Environments]]
  [[00041774 - 0004188c]]:
+
  [[00041774 - 0004188c]]: [[Draw Squaresoft Logo]]
  [[00041890 - 00041b18]]:
+
  [[00041890 - 00041b18]]: [[Build & Draw Squaresoft Logo]]
  [[00041b1c - 00041d7c]]:
+
  [[00041b1c - 00041d7c]]: [[Draw Squaresoft Logo & Fade out]]
  [[00041d80 - 00041e94]]:
+
  [[00041d80 - 00041e94]]: [[Draw SCEAP.DAT]]
  [[00041e98 - 00042280]]:
+
  [[00041e98 - 00042280]]: [[Build & Draw SCEAP.DAT]]
  [[00042284 - 000424bc]]:
+
  [[00042284 - 000424bc]]: [[Reset Frame Buffer]]
  [[000424c0 - 00042504]]:
+
  [[000424c0 - 00042504]]: [[Reset CDROM, CPU RAM]]
  [[00042508 - 00042580]]:
+
  [[00042508 - 00042580]]: [[Open Zodiac.BIN and move to Frame buffer]]
  [[00042584 - 0004268c]]:
+
  [[00042584 - 0004268c]]: [[Initialise Game Environment]]
 
  [[00042690 - 000427a0]]:
 
  [[00042690 - 000427a0]]:
  [[000427a4 - 0004287c]]:
+
  [[000427a4 - 0004287c]]: [[Open ENTD with event ID]]
  [[00042880 - 0004292c]]:
+
  [[00042880 - 0004292c]]: [[Get Current ENTD Data Pointer]]
  [[00042930 - 00042a0c]]:
+
  [[00042930 - 00042a0c]]:  
 
  00042a10 - 00042aac: [[Starting Inventory]]
 
  00042a10 - 00042aac: [[Starting Inventory]]
 
  [[00042ab0 - 00042b18]]: [[? 0x42ab0]] (Starting new game related)
 
  [[00042ab0 - 00042b18]]: [[? 0x42ab0]] (Starting new game related)
Line 666: Line 671:
 
  [[0004315c - 000434d8]]:
 
  [[0004315c - 000434d8]]:
 
  [[000434dc - 000435a8]]:
 
  [[000434dc - 000435a8]]:
  [[000435ac - 000435b0]]:
+
  [[000435ac - 000435b0]]: jr r31
  [[000435b4 - 000435b8]]:
+
  [[000435b4 - 000435b8]]: jr r31
  [[000435bc - 000435c0]]:
+
  [[000435bc - 000435c0]]: jr r31
 
  [[000435c4 - 0004365c]]:
 
  [[000435c4 - 0004365c]]:
 
  [[00043660 - 00043704]]:
 
  [[00043660 - 00043704]]:
  [[00043708 - 0004370c]]:
+
  [[00043708 - 0004370c]]: jr r31
 
  [[00043710 - 000437d4]]:
 
  [[00043710 - 000437d4]]:
 
  [[000437d8 - 000438cc]]:
 
  [[000437d8 - 000438cc]]:
Line 696: Line 701:
 
  [[00044018 - 00044034]]: [[Play Sound Effect (Ability Learned)]]
 
  [[00044018 - 00044034]]: [[Play Sound Effect (Ability Learned)]]
 
  [[00044038 - 0004405c]]:
 
  [[00044038 - 0004405c]]:
  [[00044060 - 00044088]]:
+
  [[00044060 - 00044088]]: [[__builtin_delete]] edited from source; does not accept arguments. not referenced.
 
  [[0004408c - 000440c8]]:
 
  [[0004408c - 000440c8]]:
 
  [[000440cc - 000440f0]]:
 
  [[000440cc - 000440f0]]:
 
  [[000440f4 - 00044124]]:
 
  [[000440f4 - 00044124]]:
 
  [[00044128 - 00044150]]:
 
  [[00044128 - 00044150]]:
  [[00044154 - 000442b8]]:
+
  [[00044154 - 000442b8]]: [[Open Permanent sound files]]
  [[000442bc - 00044380]]:
+
  [[000442bc - 00044380]]: [[SMD Malloc]]?
  [[00044384 - 000443ec]]:
+
  [[00044384 - 000443ec]]: [[SMD Realloc]]? [[SMD Free]]?
  [[000443f0 - 00044410]]:
+
  [[000443f0 - 00044410]]:  
...
+
[[00044414 - 000444d8]]: [[C51 Malloc]] <- allocate memory
 +
[[000444dc - 000445fc]]: [[? 0x444dc]] <-- realloc?
 +
[[00044600 - 0004466c]]: [[C52 Free]]  <- free memory
 
  [[00044670 - 00044690]]:
 
  [[00044670 - 00044690]]:
 
  [[00044694 - 000446c4]]: [[Load Data From Disc (0x44694)]]
 
  [[00044694 - 000446c4]]: [[Load Data From Disc (0x44694)]]
  [[000446c8 - 000446d4]]:
+
  [[000446c8 - 000446d4]]: [[Check File Still Loading]]
  [[000446d8 - 000447b8]]:
+
  [[000446d8 - 000447b8]]: [[Get SMD]]
  [[000447bc - 0004489c]]:
+
  [[000447bc - 0004489c]]: [[Get TIM]]
  [[000448a0 - 00044950]]:
+
  [[000448a0 - 00044950]]: [[Get WD]]
  [[00044954 - 0004498c]]:
+
  [[00044954 - 0004498c]]: [[Get DAT as WD]]
  [[00044990 - 000449c8]]:
+
  [[00044990 - 000449c8]]: [[Get BIN as TIM]]
  [[000449cc - 000449e8]]:
+
  [[000449cc - 000449e8]]: [[C52 Free but with extra steps]]
  [[000449ec - 000449f4]]:
+
  [[000449ec - 000449f4]]: jr r31
  [[000449f8 - 000449fc]]:
+
  [[000449f8 - 000449fc]]: jr r31
  [[00044a00 - 00044a04]]:
+
  [[00044a00 - 00044a04]]: jr r31
  [[00044a08 - 00044a30]]:
+
  [[00044a08 - 00044a30]]: Error exception? used but deprecated.
 
  [[00044a34 - 00044a5c]]: [[? 0x44a34]]
 
  [[00044a34 - 00044a5c]]: [[? 0x44a34]]
  [[00044a60 - 00044a78]]: [[? 0x44a60]]
+
  [[00044a60 - 00044a78]]: [[Get OTAG list]]
  [[00044a7c - 00044ac8]]:
+
  [[00044a7c - 00044ac8]]: [[Set Otag List]]
 
  [[00044acc - 00044b64]]:
 
  [[00044acc - 00044b64]]:
 
  [[00044b68 - 00044b9c]]:
 
  [[00044b68 - 00044b9c]]:
 
  [[00044ba0 - 00044e7c]]:
 
  [[00044ba0 - 00044e7c]]:
  [[00044e80 - 00045130]]:
+
  [[00044e80 - 00045130]]: [[Build ZODIAC.BIN image]]
  [[00045134 - 00045150]]:
+
  [[00045134 - 00045150]]: [[Call Build ZODIAC.BIN Image]]
  [[00045154 - 000451c8]]:
+
  [[00045154 - 000451c8]]: [[Open Frame.BIN and move to frame buffer]]
  [[000451cc - 00045230]]:
+
  [[000451cc - 00045230]]: [[Open WORLD.BIN & WLDCORE.BIN]]
  [[00045234 - 00045264]]:
+
  [[00045234 - 00045264]]: [[Open WORLD.BIN]]
  [[00045268 - 000452e8]]:
+
  [[00045268 - 000452e8]]: [[Open WORLD file]]
 
  [[000452ec - 000454c8]]:
 
  [[000452ec - 000454c8]]:
 
  000454cc - 0004571c:
 
  000454cc - 0004571c:
  [[00045720 - 000458b4]]:
+
  [[00045720 - 000458b4]]: [[Initialise memory card events]]
  [[000458b8 - 000458fc]]:
+
  [[000458b8 - 000458fc]]: [[Get OPEN.BIN to RAM 1]]
  [[00045900 - 00045938]]:
+
  [[00045900 - 00045938]]: [[Get OPEN.BIN to RAM 2]]
00045938 - end of meaningful code
+
==Miscellaneous Shared Routines==
 
  0004593c - 0004f1cc:
 
  0004593c - 0004f1cc:
 
  0004f1d0 - 0004f20c: [[Geomancy_tiles_type_to_ability_table]]
 
  0004f1d0 - 0004f20c: [[Geomancy_tiles_type_to_ability_table]]
Line 785: Line 792:
 
  0005cc64 - 0005cc94: [[Store X into Y ]] (r4 = Loading Pointer, r5 = Storing Pointer)
 
  0005cc64 - 0005cc94: [[Store X into Y ]] (r4 = Loading Pointer, r5 = Storing Pointer)
 
  0005cc98 - 0005ce70: [[Calculate Random Equipment]]
 
  0005cc98 - 0005ce70: [[Calculate Random Equipment]]
  0005ce74 - 0005d0b8: [[Calculate Learned Abilities]]
+
  0005ce74 - 0005d0b8: [[Learn Job Abilities]] | [[Calculate Learned Abilities]]
 
  0005d0bc - 0005d3c0: [[Calculate Unit's R/S/M]]
 
  0005d0bc - 0005d3c0: [[Calculate Unit's R/S/M]]
  0005d3c4 - 0005d410: [[Find Skillset's Job ID (Not used?)]]
+
  0005d3c4 - 0005d410: [[Find Skillset's Job ID (Possibly unused)]]
 
  0005d414 - 0005d46c: [[Status Initialization]]
 
  0005d414 - 0005d46c: [[Status Initialization]]
 
  0005d470 - 0005d4cc: [[Nullify CT/Initialize Death Counter]]
 
  0005d470 - 0005d4cc: [[Nullify CT/Initialize Death Counter]]

Latest revision as of 08:18, 16 October 2024

SCUS_942.21 Data Tables

SCUS 942.21 Data Tables

SCUS_942.21 RAM

00010a30 - 00010b3c: main -> start
00010b40 - 00010ba4:
00010ba8 - 00011bac: Battle.bin entry point (deprecated)
00011bb0 - 00011bbc: Put Stack pointer
00011bc0 - 00011bcc: Get Stack pointer
00011bd0 - 00011bf0: Load Data From Disc (0x11bd0)
00011bf4 - 00011dd4: Load Data From Disc (0x11bf4)
00011dd8 - 00011e14: Reset and Pause CDROM
00011e18 - 00011e34: Reset CD Subsystems
00011e38 - 0001201c: Open File to RAM Centre 
00012020 - 000120f0: Draw Now Loading Message

SUZUKI Music Library

000120f4 - 00012168:
0001216c - 000121c8:
000121cc - 000121d0: jr r31
000121d4 - 000121d8: jr r31
000121dc - 00012280:
00012284 - 00012334:
00012338 - 0001237c:
00012380 - 000123c8:
000123cc - 00012440:
00012444 - 000124a8:
000124ac - 000124b0: jr r31
000124b4 - 000124b8: jr r31
000124bc - 000124c0: jr r31
000124c4 - 000124c8: jr r31
000124cc - 00012514:
00012518 - 0001255c: Play Sound Effect (Inner Routine) | Cursor Sound Effects?
00012560 - 000125a4:
000125a8 - 00012608: Play Sound Effect (Inner Routine For Ability Learned)
0001260c - 00012660:
00012664 - 000126e4:
000126e8 - 00012744:
00012748 - 000127b0:
000127b4 - 0001285c:
00012860 - 00012910:
00012914 - 0001298c:
00012990 - 00012a1c:
00012a20 - 00012aac:
00012ab0 - 00012b68:
00012b6c - 00012c54:
00012c58 - 00012cb0:
00012cb4 - 00012d3c:
00012d40 - 00012e78:
00012e7c - 00012e84:
00012e88 - 00012f04:
00012f08 - 00013010:
00013014 - 00013090:
00013094 - 00013110:
00013114 - 000131ec:
000131f0 - 000131f4:
000131f8 - 0001325c:
00013260 - 000132cc:
000132d0 - 00013324:
00013328 - 0001339c:
000133a0 - 000133d0:
000133d4 - 0001347c:
00013480 - 00013538:
0001353c - 00013540:
00013544 - 000135a4:
000135a8 - 000135f8:
000135fc - 00013630:
00013634 - 00013638:
0001363c - 000136bc:
000136c0 - 00013784:
00013788 - 000137d4:
000137d8 - 000138a8:
000138ac - 00013b1c:
00013b20 - 00013f70: Play Sound Effect (Worker Routine) | Cursor Sound Effects?
00013f74 - 00013fbc:
00013fc0 - 00014020:
00014024 - 00014074:
00014078 - 00014144:
00014148 - 0001417c:
00014180 - 00014200:
00014204 - 00014208: jr r31
0001420c - 00014238:
0001423c - 00014274: Set Global Music Variables
00014278 - 00014354: Find space for SMD to MUS
00014358 - 000143a8:
000143ac - 00014428:
0001442c - 000144cc:
000144d0 - 00014540:
00014544 - 00014548: jr r31
0001454c - 00014568: SpuMalloc with extra steps
0001456c - 0001458c: SpuFree with extra steps
00014590 - 00014814:
00014818 - 000148b0:
000148b4 - 000149d8:
000149dc - 00014f14:
00014f18 - 00014f54:
00014f58 - 00014ff4:
00014ff8 - 00015094:
00015098 - 00015134:
00015138 - 00015320:
00015324 - 00015860:
00015864 - 00015868:

SMD Instructions

0001586c - 00015870: SMD No Instruction
00015874 - 00015898: Rest
0001589c - 000158b4: Fermata
000158b8 - 000158bc: SMD No Instruction 2
000158c0 - 000158e4:
000158e8 - 000158ec: SMD No Instruction 3
000158f0 - 000158f4: SMD No Instruction 4
000158f8 - 000159d8: Tacet
000159dc - 000159ec: Loop
000159f0 - 00015a0c: Octave
00015a10 - 00015a24: Raise Octave
00015a28 - 00015a3c: Lower Octave
00015a40 - 00015a84: Time Signature
00015a88 - 00015a98:
00015a9c - 00015ab4:
00015ab8 - 00015afc: Repeat
00015b00 - 00015b68: Coda
00015b6c - 00015bb4: To Coda
00015bb8 - 00015bf8:
00015bfc - 00015c34:
00015c38 - 00015cac:
00015cb0 - 00015cd4: Tempo
00015cd8 - 00015d00:
00015d04 - 00015d40:
00015d44 - 00015d80:
00015d84 - 00015dcc:
00015dd0 - 00015de0:
00015de4 - 00015e2c:
00015e30 - 00015e64: Instrument
00015e68 - 00015e94:
00015e98 - 00015e9c: SMD No Instruction 5
00015ea0 - 00015ea4: SMD No Instruction 6
00015ea8 - 00015ebc:
00015ec0 - 00015ed4:
00015ed8 - 00015f14:
00015f18 - 00015f40:
00015f44 - 00015fb0:
00015fb4 - 00016030:
00016034 - 0001605c:
00016060 - 00016088:
0001608c - 000160e0:
000160e4 - 0001610c: Cue
00016110 - 00016138:
0001613c - 00016170: Naturale
00016174 - 000161a4:
000161a8 - 000161c0: Attack Time
000161c4 - 000161dc:
000161e0 - 000161f8: Sustain
000161fc - 00016218:
0001621c - 00016234: Sustain 2
00016238 - 0001625c:
00016260 - 00016278:
0001627c - 00016294:
00016298 - 000162b0:
000162b4 - 000162d4:
000162d8 - 00016300:
00016304 - 0001632c:
00016330 - 00016360:
00016364 - 000163b8:
000163bc - 000163d0:
000163d4 - 000163e8:
000163ec - 0001641c:
00016420 - 000164d0: Pitch Shift
000164d4 - 000165a8:
000165ac - 000165e0:
000165e4 - 000165f8:
000165fc - 00016610:
00016614 - 0001663c: Dynamic
00016640 - 0001667c:
00016680 - 000166c4:
000166c8 - 00016768:
0001676c - 00016830:
00016834 - 00016868:
0001686c - 00016880:
00016884 - 00016898:
0001689c - 000168b8: Balance
000168bc - 000168e8:
000168ec - 00016938:
0001693c - 00016970:
00016974 - 00016a10:
00016a14 - 00016ad4:
00016ad8 - 00016aec:
00016af0 - 00016b04:
00016b08 - 00016b7c:
00016b80 - 00016bf4:
00016bf8 - 00016c6c:
00016c70 - 00016cb4:
00016cb8 - 00016d60:
00016d64 - 00016dbc:
00016dc0 - 00016de8:
00016dec - 00016e10:
00016e14 - 00016e44:
00016e48 - 00016ea0:
00016ea4 - 00016fb0:
00016fb4 - 00017094: Set Instrument
00017098 - 000170d4:
000170d8 - 00017114:
00017118 - 00017420:
00017424 - 00017498:
0001749c - 00017630:
00017634 - 00017644:
00017648 - 0001768c:
00017690 - 000176e0:
000176e4 - 00017740:
00017744 - 000177bc:
000177c0 - 00017808:
0001780c - 00017874:
00017878 - 000178e0:
000178e4 - 000178f0:
000178f4 - 0001791c:
00017920 - 00017b48:
00017b4c - 00017bf4: Set All Voices Release Shift to 6
00017bf8 - 00017c38:
00017c3c - 00017c88:
00017c8c - 00017d48:
00017d4c - 00017da0:
00017da4 - 00017e34:
00017e38 - 00017e78:
00017e7c - 00017eb4: Get Sound Effect Data For ability effects?
00017eb8 - 00017f40:
00017f44 - 00017f68:
00017f6c - 00018054:
00018058 - 0001808c:
00018090 - 0001813c:
00018140 - 0001823c:
00018240 - 000182fc:
00018300 - 000183bc:
000183c0 - 000183fc:
00018400 - 00018488:
0001848c - 000184dc:
000184e0 - 000184ec:
000184f0 - 0001850c:
00018510 - 00018514:
00018518 - 00018650:
00018654 - 00018658:
0001865c - 000186b8:
000186bc - 000186c0:
000186c4 - 000186e0:
000186e4 - 000187d8:
000187dc - 00018854:
00018858 - 00018ae8:
00018aec - 00018cb4:
00018cb8 - 00018d84:
00018d88 - 00018e40:
00018e44 - 000190d0:
000190d4 - 00019158:
0001915c - 000191c0:
000191c4 - 00019208:
0001920c - 000192ac:
000192b0 - 000192e8:
000192ec - 00019348:
0001934c - 00019374:
00019378 - 000193a0:
000193a4 - 00019400:

LIBSPU Sound Processing Unit Library

00019404 - 00019424: _spuDataCallback
00019428 - 00019444: SsUtReverbOn
00019448 - 000194c0: SpuQuit
000194c4 - 00019514: SpuInitMalloc
00019518 - 000197dc: SpuMalloc
000197e0 - 00019adc: _spu_gcSPU
00019ae0 - 00019b58: SpuFree
00019b5c - 00019b7c: SpuSetNoiseVoice
00019b80 - 00019d84: _SpuSetAnyVoice
00019d88 - 00019dd4: SpuSetNoiseClock
00019dd8 - 00019e34:
00019e38 - 00019f04: SpuSetReverb
00019f08 - 00019f84:
00019f88 - 0001a010:
0001a014 - 0001a520: SpuSetReverbModeParam
0001a524 - 0001a9f0: _spu_setReverbAttr
0001a9f4 - 0001aa40: SpuGetReverbModeParam
0001aa44 - 0001aab8: SpuSetReverbDepth
0001aabc - 0001aadc: SpuSetReverbVoice
0001aae0 - 0001ac78: SpuClearReverbWorkArea
0001ac7c - 0001acec: SpuReadDecodedData
0001acf0 - 0001aef0: Set Voices to Release
0001aef4 - 0001af60:
0001af64 - 0001afc0:
0001afc4 - 0001b014:
0001b018 - 0001b048: SpuSetTransferMode
0001b04c - 0001b06c: SpuSetTransferCallback
0001b070 - 0001b090: SpuSetPitchLFOVoice
0001b094 - 0001b424:
0001b428 - 0001b4ac:
0001b4b0 - 0001b624:
0001b628 - 0001b6a0:
0001b6a4 - 0001b71c:
0001b720 - 0001b798:
0001b79c - 0001b824:
0001b828 - 0001b8ac: Set Voice Release Shift
0001b8b0 - 0001b934:
0001b938 - 0001b9d0:
0001b9d4 - 0001bab4:
0001bab8 - 0001bb58:

LIBGTE Geometry Transformation Engine Library

0001bb5c - 0001bb94: rsin
0001bb98 - 0001bc24: sin_1
0001bc28 - 0001bcc4: rcos
0001bcc8 - 0001be18: csqrt_1
0001be1c - 0001beb4: csqrt 
0001beb8 - 0001bf34: InitGeom
0001bf38 - 0001bfb8: Frame Timing Related? (0x1bf38) SquareRoot0
0001bfb4 - 0001bfb8:
0001bfc8 - 0001c048: InvSquareRoot
0001c04c - 0001c050: Return -1
0001c054 - 0001c090: VectorNormalS & VectorNormal 8001c068
0001c094 - 0001c0c0: VectorNormalSS
0001c0c4 - 0001c17c:
0001c180 - 0001c260: MatrixNormal
0001c268 - 0001c2e4: Get Square root of r4 dealing with 4096 SquareRoot12
0001c2e8 - 0001c2f0:
0001c2f4 - 0001c2f8:
0001c308 - 0001c464: CompMatrix
0001c468 - 0001c570: MulMatrix0
0001c574 - 0001c654: MulRotMatrix0
0001c658 - 0001c73c: MulRotMatrix
0001c740 - 0001c84c: SetMulMatrix
0001c850 - 0001c9ac: ApplyMatrixLV
0001c9b0 - 0001c9dc: ApplyRotMatrix
0001c9e0 - 0001cb00: ScaleMatrixL
0001cb04 - 0001cb3c: ? 0x1cb04 PushMatrixL
0001cb40 - 0001cba0: 
0001cba4 - 0001cbd8: ? 0x1cba4 PopMatrix
0001cbdc - 0001cc40:
0001cc44 - 0001cc88: ReadRotMatrix
0001cc8c - 0001ccd0: ReadLightMatrix
0001ccd4 - 0001cd18: ReadColorMatrix
0001cd28 - 0001ce30: MulMatrix
0001ce38 - 0001cf40: MulMatrix2
0001cf48 - 0001cf68:
0001cf78 - 0001d098: ScaleMatrix
0001d0a8 - 0001d0d4: Store Rotation matrix elements to GTE SetRotMatrix
0001d0d8 - 0001d104: Store Light Source Matrix Elements to GTE SetLightMatrix
0001d108 - 0001d134: Store Light Color matrix source RGB's to GTE SetColorMatrix
0001d138 - 0001d154: Store Translation Vectors to GTE SetTransMatrix
0001d158 - 0001d160: Get Projection Plane distance from GTE ReadGeomScreen
0001d164 - 0001d184: Store Background RGB to GTE SetBackColor
0001d188 - 0001d1a4: Store far color RGB to GTE SetFarColor
0001d1a8 - 0001d1bc: Store Screen offsets to GTE 
0001d1c0 - 0001d1d0: Store Projection plane distance in GTE
0001d1d4 - 0001d1fc: Multiply vector and store results LightColor
0001d200 - 0001d224: Depth Cue Color Light DpqColorLight
0001d228 - 0001d260: Depth Cue Triple DpqColor3
0001d264 - 0001d284: interpolate
0001d288 - 0001d2ac: square vector Square12
0001d2b0 - 0001d2d4: square matrix/vector (duplicate routine? Square0
0001d2d8 - 0001d2f4: SMP 11 AverageSZ3
0001d2f8 - 0001d318: SMP 12 AverageSZ4
0001d31c - 0001d370: calculate outer product of 2 vectors OuterProduct12
0001d374 - 0001d3c8: calculate outer product of 2 vectors 2 OuterProduct0
0001d3cc - 0001d3e0: Get leading 0 or 1 count Lzc
0001d3e4 - 0001d414: RotTransSV
0001d418 - 0001d44c: SquareSS12
0001d450 - 0001d484: SquareSS0
0001d488 - 0001d4b4: SquareSL12
0001d4b8 - 0001d4e4: SquareSL0
0001d4e8 - 0001d510: RotTransPers
0001d514 - 0001d568: RotTransPers3
0001d578 - 0001d59c: 0x1d578 RotTrans
0001d56c - 0001d59c: ?
0001d5a0 - 0001d5c8: NormalClip
0001d5cc - 0001d64c: RotTransPers4
0001d650 - 0001d8e0: RotMatrix
0001d8e4 - 0001da64: ratan2
0001da68 - 0001dacc: _patch_gte

LIBETC Callbacks Management Library

0001dad0 - 0001db54: PadInit?
0001db58 - 0001db84: Get Inverted Button Input | Get Buttons pressed Layer? | PadRead
0001db88 - 0001dba4: PadStop
0001dba8 - 0001dcec: VSync call VSYNC
0001dcf0 - 0001dd88: Wait for Vertical Sync v_wait
0001dd8c - 0001ddb8: ResetCallback
0001ddbc - 0001dde8: InterruptCallback
0001ddec - 0001de18: DMA Callback
0001de1c - 0001de4c: Vsync Callback
0001de50 - 0001de7c: Vsync Callbacks
0001de80 - 0001deac: Stop Callback
0001deb0 - 0001dedc: Restart Callback
0001dee0 - 0001deec: Check Callback
0001def0 - 0001df04: get intr mask
0001df08 - 0001df20: set intr mask
0001df24 - 0001dffc: start intr
0001e000 - 0001e1e4: trap intr
0001e1e8 - 0001e338: set intr
0001e33c - 0001e3e4: stop intr
0001e3e8 - 0001e46c: restart intr
0001e470 - 0001e498: memclr?
0001e49c - 0001e4f0: start intr vsync
0001e4f4 - 0001e568: trap intr vsync
0001e56c - 0001e594: set intr vsync
0001e598 - 0001e5c0: another memclr?
0001e5c4 - 0001e610: start intr DMA
0001e614 - 0001e794: trap intr DMA
0001e798 - 0001e83c: set intr DMA
0001e840 - 0001e868: another memclr?
0001e86c - 0001e880: set video mode?
0001e884 - 0001e890: get video mode?
0001e894 - 0001e8c0: StSetRing

LIBCD Basic CD-ROM & Streaming Library

0001e8c4 - 0001e950: CdInit
0001e954 - 0001e978: def_cbsync
0001e97c - 0001e9a0: def_cbready
0001e9a4 - 0001e9c8: def_cbread
0001e9cc - 0001e9d8: CdStatus
0001e9dc - 0001e9e8: CdMode
0001e9ec - 0001e9f8: CdLastCom
0001e9fc - 0001ea08: CdLastPos
0001ea0c - 0001ea74: CdReset
0001ea78 - 0001ea94: CdFlush
0001ea98 - 0001eaac: CdSetDebug
0001eab0 - 0001eae0: CdComstr
0001eae4 - 0001eb14: CdIntstr
0001eb18 - 0001eb34: CdSync
0001eb38 - 0001eb54: CdReady
0001eb58 - 0001eb6c: CdSyncCallback
0001eb70 - 0001eb84: CdReadyCallback
0001eb88 - 0001ecbc: CdControl
0001ecc0 - 0001ede8: CdControlf
0001edec - 0001ef2c: CdControlb
0001ef30 - 0001ef50: S 022 CDGetSector2 <- CdMix
0001ef54 - 0001ef74: Load file into RAM 1 <- S 021 CDGetSector
0001ef78 - 0001ef98: CdDataCallback
0001ef9c - 0001efb8: CDDataSync
0001efbc - 0001f0bc: S 002 CDIntToPos
0001f0c0 - 0001f13c: SYS CDPosToInt
0001f140 - 0001f6b4: getintr
0001f6b8 - 0001f934: CD Sync
0001f938 - 0001fc00: CD Ready
0001fc04 - 00020048: S 016 CdControl
0002004c - 000200d0: S 022 CDGetSector2 Inner CD vol
000200d4 - 000201b0: CD Flush
000201b4 - 000202a4: CD initvol
000202a8 - 000202f4: CD initintr
000202f8 - 000204e0: CD init
000204e4 - 0002064c: CD datasync
00020650 - 0002074c: Load file into RAM <- S 021 CDGetSector inner?
00020750 - 0002075c: CD set test parmnum
00020760 - 0002083c: callback
00020840 - 00020a60: Cb read
00020a64 - 00020c38: Cd read retry
00020c3c - 00020d40: CdRead
00020d44 - 00020e0c: CdReadSync
00020e10 - 00020e24: CdReadCallback
00020e28 - 00020eb8: CdRead2
00020ebc - 00020ed8: StCdInterrupt2
00020edc - 00020f38: StClearRing
00020f3c - 00020f90: 
00020f94 - 00021020: data ready callback
00021024 - 00021080: StGetBacklog
00021084 - 00021108: StSetStream
0002110c - 000211c4: StFreeRing
000211c8 - 00021204: init ring status
00021208 - 000212c8: StGetNext
000212cc - 000212e8: StSetMask?
000212ec - 00021c58: StCdInterrupt
00021c5c - 00021c8c: mem2mem
00021c90 - 00021e48: dma execute
00021e4c - 00021f10: StRingStatus
00021f14 - 00021f1c: InitHeap
00021f24 - 00021f2c: FlushCache
00021f34 - 00021f3c: _bu_init
00021f44 - 00021f4c: _96_remove
00021f54 - 00021f5c: SetMem
00021f64 - 00021f6c: DeliverEvent < NOT related to Game events!!!! [BIOS_events]
00021f74 - 00021f7c: OpenEvent
00021f84 - 00021f8c: CloseEvent
00021f94 - 00021f9c: WaitEvent
00021fa4 - 00021fac: TestEvent
00021fb4 - 00021fbc: EnableEvent
00021fc4 - 00021fcc: DisableEvent
00021fd4 - 00021fdc: stopPAD
00021fe4 - 00021fec: PAD_init
00021ff4 - 00021ffc: PAD_dr  (Gets controller button state)
00022004 - 0002200c: ReturnFromException
00022014 - 0002201c: ResetEntryInt
00022024 - 0002202c: HookEntryInt
00022034 - 00022040: Enter Critical Section
00022044 - 00022050: Exit Critical Section
00022054 - 000221b0: open lseek read write close format firstfile nextfile delete get error
000220f4 - 000220fc: Change Clear Pad
00022104 - 0002210c: Change Clear RCnt
00022114 - 000221b0: SetRCnt
000221b4 - 000221e8: GetRCnt
000221ec - 0002221c: StartRCnt
00022220 - 00022250: StopRCnt
00022254 - 00022288: ResetRCnt

LIBC Standard GCC C Library

0002228c - 00022294: Write String to Terminal puts <not as helpful a title.
0002229c - 000222a8 setjmp
000222ac - 000222b8 strcat
000222bc - 000222c8 strcmp
000222cc - 000222d8 strcpy
0002228c - 00022b94 <- redundant. encompasses many calls.
000222dc - 000222e4: bcopy (Copies data from one section of memory to another; like memmove)
000222ec - 000222f8: bzero
000222fc - 00022304: C43 memset
0002230c - 00022314: C47 rand | Random Number Generator
0002231c - 00022324: C48 srand (Sets RNG seed/state)
0002232c - 00022338: printf?
0002233c - 00022b94: sprintf
00022b98 - 00022ba4: C27 strlen
00022ba8 - 00022bb4: C46 memchr
00022bb8 - 00022c20: Memmove

LIBGPU Basic Graphics Library

00022c24 - 00022d0c: E00 LoadTpage
00022d10 - 00022d74: E01 LoadClut
00022d78 - 00022ddc: E02 LoadClut2
00022de0 - 00022eac: E03 SetDefDrawEnv
00022eb0 - 00022ee8: E04 SetDefDispEnv
00022eec - 00022f28: FONT SetDumpFnt
00022f2c - 00022fcc: FONT FntLoad
00022fd0 - 00023284: FONT FntOpen
00023288 - 000235a8: FONT FntFlush
000235ac - 00023988: FONT FntPrint
0002398c - 00023a50: P00 GetTpage
00023a54 - 00023a68: P01 GetClut
00023a6c - 00023b38: P02 DumpTpage
00023b3c - 00023b78: P03 DumpClut
00023b7c - 00023b94: P04 NextPrim
00023b98 - 00023bb0: P05 IsEndPrim
00023bb4 - 00023bec: P06 AddPrim
00023bf0 - 00023c28: P07 AddPrims
00023c2c - 00023c4c: P08 CatPrim
00023c50 - 00023c64: P09 TermPrim
00023c68 - 00023c8c: P10 SetSemiTrans
00023c90 - 00023cb4: P11 SetShadeTex
00023cb8 - 00023cc8: P12 SetPolyF3
00023ccc - 00023cdc: P13 SetPolyFT3
00023ce0 - 00023cf0: P14 SetPolyG3
00023cf4 - 00023d04: P15 SetPolyGT3
00023d08 - 00023d18: P16 SetPolyF4
00023d1c - 00023d2c: P17 SetPolyFT4
00023d30 - 00023d40: P18 SetPolyG4
00023d44 - 00023d54: P19 SetPolyGT4
00023d58 - 00023d68: P20 SetSprt8
00023d6c - 00023d7c: P21 SetSprt16
00023d80 - 00023d90: P22 SetSprt
00023d94 - 00023da4: P23 SetTile1
00023da8 - 00023db8: P24 SetTile8
00023dbc - 00023dcc: P25 SetTile16
00023dd0 - 00023de0: P26 SetTile
00023de4 - 00023df4: P27 SetLineF2
00023df8 - 00023e08: P28 SetLineG2
00023e0c - 00023e28: P29 SetLineF3
00023e2c - 00023e48: P30 SetLineG3
00023e4c - 00023e68: P31 SetLineF4
00023e6c - 00023e88: P32 SetLineG4
00023e8c - 00023e9c: SetBlockFill
00023ea0 - 00023eb8: SetDrawMove
00023ebc - 00023f6c: P33 SetDrawTPage
00023f70 - 00023fd0: P34 SetDrawMove -> SetDrawLoad
00023fd4 - 00024008: P36 MargePrim (where is P35?)
0002400c - 00024188: P37 DumpDrawEnv
0002418c - 00024234: P37 DumpDispEnv
00024238 - 0002438c: SYS ResetGraph
00024390 - 000244a0: SYS SetGraphReverse
000244a4 - 0002450c: SYS SetGraphDebug
00024510 - 000245b8: SYS SetGraphQueue
000245bc - 000245c8: SYS GetGraphType
000245cc - 000245d8: SYS GetGraphDebug
000245dc - 00024634: SYS DrawSyncCallback
00024638 - 000246d0: SYS SetDispMask
000246d4 - 0002473c: SYS DrawSync
00024740 - 00024864: SYS Manip Image Inner -> SYS CheckRECT
00024868 - 000248f8: SYS ClearImage
000248fc - 0002495c: SYS LoadImage
00024960 - 000249c0: SYS StoreImage
000249c4 - 00024a84: SYS MoveImage
00024a88 - 00024b3c: SYS ClearOtag
00024b40 - 00024bd4: SYS ClearOtagR
00024bd8 - 00024c34: SYS DrawPrim
00024c38 - 00024ca8: SYS DrawOtag
00024cac - 00024d6c: SYS PutDrawEnv
00024d70 - 00024e48: SYS DrawOtagEnv
00024e4c - 00024e80: SYS GetDrawEnv
00024e84 - 00025330: SYS PutDispEnv
00025334 - 00025368: SYS GetDispEnv
0002536c - 0002539c: SYS GetODE
000253a0 - 000253d8: P38 SetTexWindow
000253dc - 0002545c: SYS SetDrawArea
00025460 - 000254a0: SYS SetDrawOffset
000254a4 - 000254c8: P40 SetDrawSTP
000254cc - 00025520: P41 SetDrawMode
00025524 - 000257c4: SetDrawEnv
000257c8 - 00025820: get mode
00025824 - 000258ec: Calculate GP0(E3h) Set Drawing Area top left      } -> get cs
000258f0 - 000259b8: Calculate GP0(E4h) Set Drawing Area bottom right  } Called by SYS set draw area -> get ce
000259bc - 00025a00: Calculate GP0(E5h) Set Drawing Offset (X,Y) <-- Called by SYS set draw offset -> get ofs
00025a04 - 00025a84: Dereference RECT *tw --> get tw
00025a88 - 00025b40: get dx
00025b44 - 00025b58: _status
00025b5c - 00025c40: _otc
00025c44 - 00025e58: _clr
00025e5c - 000260ac: _dws
000260b0 - 00026348: _drs
0002634c - 00026370: _ctl
00026374 - 00026384: get ctl
00026388 - 000263d4: _cwb
000263d8 - 00026420: _cwc
00026424 - 00026450: _param
00026454 - 00026474: _addque
00026478 - 00026758: _addque2
0002675c - 00026a54: _exeque
00026a58 - 00026b90: _reset
00026b94 - 00026cd8: _sync
00026cdc - 00026d0c: set alarm
00026d10 - 00026e78: get alarm
00026e7c - 00026f54: _version
00026f58 - 00026f80: memset, again?
00026f84 - 00026fb0: GPU cw, memcpy (again?), OpenTIM
00026fb4 - 00027018: ReadTIM
0002701c - 00027058: OpenTMD
0002705c - 00027304: ReadTMD
00027308 - 00027424: get TIM addr
00027428 - 000275bc: get TMD addr

LIBCARD Memory Card Library

000275c0 - 0002873c: unpack packet
00028740 - 000287b4: card info card load card auto card status card clear 
000287b8 - 000287c4: card write 
000287c8 - 000287d4: new card 
000287d8 - 00028828: init_card_earlysafe
0002882c - 00028860: StartCARD_earlysafe
00028864 - 00028890: StopCARD_earlysafe
00028894 - 00028918: init card start card stop card
0002891c - 000289a0: early_card_irq_patch
000289a4 - 000289d0: 
000289d4 - 00028a3c: patch_card_specific_delay
00028a40 - 00028a54:
00028a64 - 00028ac8: patch_uninstall_early_card_irq_handler
00028acc - 00040970:

MURATA Main Program

00040934 - 00040970: Between Gamestates: turn off sound, quit SPU
00040974 - 000409a0: Between Gamestate quit sound, get stack pointer
000409a4 - 000409c0: Call Battle.bin entry point (deprecated)
000409c4 - 000409fc: Get BATTLE.BIN
00040a00 - 00040b84: Initialise FFT Game state
00040b88 - 00040bd4: Main? decompiler read it as such.
00040bd8 - 00041380: Build Image Data for Now Loading message
00041384 - 000413a4: Build now loading at 128, 00
000413a8 - 00041468: Add Now Loading Message to OTAG List
0004146c - 00041594: Get EFC FNT (deprecated)
00041598 - 00041770: Initialise Drawing & Display Environments
00041774 - 0004188c: Draw Squaresoft Logo
00041890 - 00041b18: Build & Draw Squaresoft Logo
00041b1c - 00041d7c: Draw Squaresoft Logo & Fade out
00041d80 - 00041e94: Draw SCEAP.DAT
00041e98 - 00042280: Build & Draw SCEAP.DAT
00042284 - 000424bc: Reset Frame Buffer
000424c0 - 00042504: Reset CDROM, CPU RAM
00042508 - 00042580: Open Zodiac.BIN and move to Frame buffer
00042584 - 0004268c: Initialise Game Environment
00042690 - 000427a0:
000427a4 - 0004287c: Open ENTD with event ID
00042880 - 0004292c: Get Current ENTD Data Pointer
00042930 - 00042a0c: 
00042a10 - 00042aac: Starting Inventory
00042ab0 - 00042b18: ? 0x42ab0 (Starting new game related)
00042b1c - 00042b28: Store Three Consecutive Halfwords
00042b2c - 00042b38:
00042b3c - 00042d14:
00042d18 - 00042dd0:
00042dd4 - 00043158:
0004315c - 000434d8:
000434dc - 000435a8:
000435ac - 000435b0: jr r31
000435b4 - 000435b8: jr r31
000435bc - 000435c0: jr r31
000435c4 - 0004365c:
00043660 - 00043704:
00043708 - 0004370c: jr r31
00043710 - 000437d4:
000437d8 - 000438cc:
000438d0 - 00043954:
00043958 - 000439bc:
000439c0 - 00043a34:
00043a38 - 00043a8c:
00043a90 - 00043b40:
00043b44 - 00043b50:
00043b54 - 00043b9c:
00043ba0 - 00043be4:
00043be8 - 00043c38:
00043c3c - 00043c84:
00043c88 - 00043cd0:
00043cd4 - 00043d1c:
00043d20 - 00043d7c:
00043d80 - 00043ddc:
00043de0 - 00043efc:
00043f00 - 00043f34:
00043f38 - 00043f4c:
00043f50 - 00043f84:
00043f88 - 00043ff4:
00043ff8 - 00044014: Play Sound Effect | Play Sound Effect? (value in r4 decides sound effect)
00044018 - 00044034: Play Sound Effect (Ability Learned)
00044038 - 0004405c:
00044060 - 00044088: __builtin_delete edited from source; does not accept arguments. not referenced.
0004408c - 000440c8:
000440cc - 000440f0:
000440f4 - 00044124:
00044128 - 00044150:
00044154 - 000442b8: Open Permanent sound files
000442bc - 00044380: SMD Malloc? 
00044384 - 000443ec: SMD Realloc? SMD Free?
000443f0 - 00044410: 
00044414 - 000444d8: C51 Malloc <- allocate memory
000444dc - 000445fc: ? 0x444dc <-- realloc?
00044600 - 0004466c: C52 Free   <- free memory
00044670 - 00044690:
00044694 - 000446c4: Load Data From Disc (0x44694)
000446c8 - 000446d4: Check File Still Loading
000446d8 - 000447b8: Get SMD
000447bc - 0004489c: Get TIM
000448a0 - 00044950: Get WD
00044954 - 0004498c: Get DAT as WD
00044990 - 000449c8: Get BIN as TIM
000449cc - 000449e8: C52 Free but with extra steps
000449ec - 000449f4: jr r31
000449f8 - 000449fc: jr r31
00044a00 - 00044a04: jr r31
00044a08 - 00044a30: Error exception? used but deprecated.
00044a34 - 00044a5c: ? 0x44a34
00044a60 - 00044a78: Get OTAG list
00044a7c - 00044ac8: Set Otag List
00044acc - 00044b64:
00044b68 - 00044b9c:
00044ba0 - 00044e7c:
00044e80 - 00045130: Build ZODIAC.BIN image
00045134 - 00045150: Call Build ZODIAC.BIN Image
00045154 - 000451c8: Open Frame.BIN and move to frame buffer
000451cc - 00045230: Open WORLD.BIN & WLDCORE.BIN
00045234 - 00045264: Open WORLD.BIN
00045268 - 000452e8: Open WORLD file
000452ec - 000454c8:
000454cc - 0004571c:
00045720 - 000458b4: Initialise memory card events
000458b8 - 000458fc: Get OPEN.BIN to RAM 1
00045900 - 00045938: Get OPEN.BIN to RAM 2

Miscellaneous Shared Routines

0004593c - 0004f1cc:
0004f1d0 - 0004f20c: Geomancy_tiles_type_to_ability_table
0004f210 - 00059abc:
00059854 - 00059abc: Initialize Status Check Data
00059ac0 - 00059ac4:
00059ac8 - 00059aec: Clear Party | Initialize Party ID to FF
00059af0 - 00059b14: Get Party Data Pointer
00059b18 - 00059bac: Unit Initialization 
00059bb0 - 00059d58: Save Unit to Party | Add Unit to Party/Store Unit's Party Data
00059d5c - 00059e14: Find Free Party Index | Find Free Party Slot
00059e18 - 00059ed0: Create Monster Egg
00059ed4 - 00059f90: Generate Party Unit In Empty Slot | Find Empty Party Slot and Generate Unit
00059f94 - 00059fdc: Find Unit's Party Data Location
00059fe0 - 00059ff8: Remove Unit from Party
00059ffc - 0005a3dc: Out of Battle Unit Generation
0005a3e0 - 0005a3fc: Generate Unit's Base Raw Stats Prep
0005a400 - 0005a444: Prep for Generating Base Raw Stats
0005a448 - 0005a51c: Generate Unit's Base Raw Stats
0005a520 - 0005a564: Transfer Job's Growths/Mults to Unit
0005a568 - 0005a634: Get Ability ID From Skillset | Load Ability From Skillset
0005a638 - 0005a728: Store Skillset's Abilities
0005a72c - 0005a880: Calculate Ability Pointers and Type
0005a884 - 0005a8a0: Get Item Data Pointer
0005a8a4 - 0005a8d0: Get Job Data Pointer
0005a8d4 - 0005a9b0: Initialize Unit's Job Data
0005a9b4 - 0005aafc: Unit Battle Initialization
0005ab00 - 0005ab44: Equipment/Move/Jump +X/Name Storing/Generation
0005ab48 - 0005ac18: Store Ramza's Name/Birthday/Zodiac
0005ac1c - 0005b034: ENTD Data Calculation
0005b038 - 0005b0cc: Prep for Initializing Unit's Job Data
0005b0d0 - 0005b2b0: Initialize Unit's Battle Data
0005b2b4 - 0005b4fc: Calculate Unit Jobs and Skillsets from ENTD | Calculate ENTD Unit Jobs
0005b500 - 0005b5d8: Get Random Unlocked Job | Sprite Set and Random Secondary Job Calculation
0005b5dc - 0005b79c: Transfer Job's Data to Unit's Data
0005b7a0 - 0005b828: Enable Unit's R/S/M Flags
0005b82c - 0005b87c: R/S/M Flag Setting
0005b880 - 0005ba6c: Calculate Actual Stats (Used for Stat Capping as well)
0005ba70 - 0005bdac: Calculate Unit's Abilities
0005bdb0 - 0005bdec: Monster Equipment Storing
0005bdf0 - 0005c278: Calculate/Store ENTD Unit Equipment
0005c27c - 0005c394: Equippable Item Setting (Support/Female-only)
0005c398 - 0005c5c4: Equipment Stat Setting
0005c5c8 - 0005c8e8: Equipment Attribute Setting
0005c8ec - 0005c980: Move/Jump +X Calculation (can be used to load data at start of battle)
0005c984 - 0005cbcc: Store/Generate Character Names
0005cbd0 - 0005cc60: Calculate Highest Party Level
0005cc64 - 0005cc94: Store X into Y  (r4 = Loading Pointer, r5 = Storing Pointer)
0005cc98 - 0005ce70: Calculate Random Equipment
0005ce74 - 0005d0b8: Learn Job Abilities | Calculate Learned Abilities
0005d0bc - 0005d3c0: Calculate Unit's R/S/M
0005d3c4 - 0005d410: Find Skillset's Job ID (Possibly unused)
0005d414 - 0005d46c: Status Initialization
0005d470 - 0005d4cc: Nullify CT/Initialize Death Counter
0005d4d0 - 0005d5b8: Float/Current Statuses/Status Immunities/Status CT
0005d5bc - 0005d5dc: Status Setting/Checking + Equip/R/S/M Stats Prep
0005d5e0 - 0005d600: Status Setting/Checking + Equip/R/S/M Stats Prep 2 (Level Up)
0005d604 - 0005d624: Status Setting/Checking + Equip/R/S/M Stats Prep 3
0005d628 - 0005d87c: Status Setting/Checking + Equip/R/S/M Stats
0005d880 - 0005d8f8: Check if Unit Leveled UP
0005d8fc - 0005da0c: Level Unit to Specific Level
0005da10 - 0005db6c: Level Up Section
0005db70 - 0005dc10: Status CT Setting
0005dc14 - 0005dd44: Calculate Unlocked Jobs
0005dd48 - 0005ded4: Proposition JP Gain
0005ded8 - 0005def0: Store 3-Byte Data
0005def4 - 0005df34: Calculate Job Level
0005df38 - 0005dfa8: Initialize Unit's Job Levels
0005dfac - 0005dfd0: Initialize Some Unit Data
0005dfd4 - 0005e014: Minimum SP Capping/War Trophy Nulling/Status Initialization
0005e018 - 0005e04c: Get Ability's Range
0005e050 - 0005e084: Get Ability's AoE
0005e088 - 0005e0c8: Calculate Unit's Palette/Portrait (return Portrait)
0005e0cc - 0005e11c: Pass/Fail Roll | Check if Random is greater/equal to Chance
0005e120 - 0005e1ac: Get Unit's Portrait/Palette  **changes sprite that's loaded in battle
0005e1b0 - 0005e1fc: Does Unit Have Status In Set | Status Checks (r5 = set to check)
0005e200 - 0005e228: Get Known Abilities
0005e22c - 0005e250: Copy Byte Data (20 Bytes) (Used Action data) | Transfer Target ID? Through Mount Data
0005e254 - 0005e284: Store X Byte into Y
0005e288 - 0005e474: Get Total Equipment Quantity (Equip Change/Formation Screen?)
0005e478 - 0005e4e4: Initialize Unit's X/Y+Facing/Battle Rewards
0005e4e8 - 0005e5d4: Find Action Highest Order Status Effect | Get Lowest Order Status' 0x08 Check Data? (Status Checks 2)
0005e5d8 - 0005e640: Calculate Zodiac Symbol
0005e644 - 0005e66c: Data Nullifying (requires r5 = Limit, and r4 = Starting location)
0005e670 - 0005e6c8: Increase Casualties/Injured Counters
0005e6cc - 0005e740: Inflicted Status Changes
0005e744 - 0005e774: Store Current Statuses
0005e778 - 0005e7a4: Transfer Last Ability Used CT
0005e7a8 - 0005e8e4: Status infliction/removal?
0005e8e8 - 0005e908: ? removed code?