SCUS 942.21 Routines
Jump to navigation
Jump to search
Contents
- 1 SCUS_942.21 Data Tables
- 2 SCUS_942.21 RAM
- 3 SUZUKI Music Library
- 4 LIBSPU Sound Processing Unit Library
- 5 LIBGTE Geometry Transformation Engine Library
- 6 LIBETC Callbacks Management Library
- 7 LIBCD Basic CD-ROM & Streaming Library
- 8 LIBC Standard GCC C Library
- 9 LIBGPU Basic Graphics Library
- 10 LIBCARD Memory Card Library
- 11 MURATA Main Program
- 12 Miscellaneous Shared Routines
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: ENTD Open - Initialize Unit Data 00042a10 - 00042aac: Starting Inventory 00042ab0 - 00042b18: ? 0x42ab0 (Starting new game related) 00042b1c - 00042b28: Store Three Consecutive Halfwords 00042b2c - 00042b38: Store 3 Consecutive words 00042b3c - 00042d14: 00042d18 - 00042dd0: Swap Framebuffer Video Output Screen 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: Call BATTLE.BIN: Return 0 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
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?