Difference between revisions of "SCUS 942.21 Routines"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
Line 794: Line 794:
 
  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 (Possibly unused)]]
 
  0005d3c4 - 0005d410: [[Find Skillset's Job ID (Possibly unused)]]

Revision as of 05:16, 9 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
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 Custom 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

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)

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
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)

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
...
00044414 - 000444d8: C51 Malloc <- allocate memory
000444dc - 000445fc: ? 0x444dc <-- realloc?
00044600 - 0004466c: C52 Free   <- free memory
^these aren't actually from the library, but custom defined. maybe from another import?

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
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:
00040934 - start of meaningful code
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? note: this, like the RAM malloc that is used, is likely a custom defined function.
00044384 - 000443ec: SMD Realloc? SMD Free?
000443f0 - 00044410: 

...

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
00045938 - end of meaningful code
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?