owned this note
owned this note
Published
Linked with GitHub
# ROM splitter configuration file
name: "Gex 4 - Deep Cover Gecko"
# checksums from ROM header offsets 0x10 and 0x14
# used for auto configuration detection
checksum1: 0x3EDC7E12
checksum2: 0xE26C1CC9
# base filename used for outputs (please, no spaces)
basename: "Gex_4.u"
ranges:
- [0x000000, 0x000040, "header", "header"]
- [0x000040, 0x001000, "bin", "boot"]
- [0x001000, 0x07D3D0, "asm", "main", 0x80000400]
- [0x1D4660, 0x1D5570, "asm", "other", 0x80113910]
- [0x08BFD0, 0x08DEB0, "asm", "other2", 0x801DA800]
labels:
# OS Boot config variables
- [0x80000300, "osTvType"] # 0 for PAL, 1 for NTSC, 2 for MPAL
- [0x80000304, "osRomType"]
- [0x80000308, "osRomBase"]
- [0x8000030C, "osResetType"]
- [0x80000310, "osCicId"]
- [0x80000314, "osVersion"]
- [0x80000318, "osMemSize"]
- [0x8000031C, "osAppNMIBuffer"]
# Functions
- [0x80000400, "entry_point"]
- [0x800017F0, "osSetTime"]
- [0x800017F8, "__osGetCurrFaultedThread"]
- [0x80009C70, "alHeapCheck"]
- [0x800123FC, "n_alSynFreeFX"]
- [0x8002b4e0, "thread8_entry"]
- [0x80031970, "main"]
- [0x800319CC, "thread1_entry"]
- [0x80031C3C, "thread6_entry"]
- [0x80031E70, "dma_copy"] # dma_copy(a0 = romAddress, a1 = ramAddress, a2 = numBytes)
- [0x800321fc, "thread7_entry"]
- [0x80033CCC, "strcpy"]
- [0x8004FF54, "internal_name_to_level_id"] # internal_name_to_level_id(char* levelName);
- [0x80068A68, "thread3_entry"]
- [0x80068DF0, "guLookAtReflect"]
- [0x80068E5C, "guLookAtReflectF"]
- [0x800693E0, "guMtxF2L"]
- [0x80069520, "guMtxIdentF"]
- [0x80069660, "guPerspective"]
- [0x80069828, "guPerspectiveF"]
- [0x800699E0, "sinf"]
- [0x80069B80, "osInvalDCache"]
- [0x80069D10, "osWritebackDCache"]
- [0x80069D90, "osWritebackDCacheAll"]
- [0x80069DC0, "osCreateMesgQueue"]
- [0x80069DF0, "osCreateThread"]
- [0x80069EC0, "osGetTime"]
- [0x80069F50, "osRecvMesg"]
- [0x8006A080, "osSendMesg"]
- [0x8006A1B0, "osSetThreadPri"]
- [0x8006A280, "osStartThread"]
- [0x8006A3A0, "__osDequeueThread"]
- [0x8006A3D4, "__osFaultedThread"]
- [0x8006A3D8, "__osRunningThread"]
- [0x8006A3DC, "__osActiveQueue"]
- [0x8006A3E0, "__osRunQueue"]
- [0x8006A3E4, "__osThreadTail"]
- [0x8006A780, "osVirtualToPhysical"]
- [0x8006A98C, "alRaw16Pull"]
- [0x8006AD28, "alAdpcmPull"]
- [0x8006B16C, "load_o_0108"]
- [0x8006B320, "alAuxBusPull"]
- [0x8006B400, "alFilterNew"]
- [0x8006B450, "alMainBusPull"]
- [0x8006B650, "alResamplePull"]
- [0x8006B89C, "alLink"]
- [0x8006B8BC, "alUnlink"]
- [0x8006B8F0, "alHeapInit"]
- [0x8006B930, "alHeapDBAlloc"]
- [0x8006B980, "alCopy"]
- [0x8006B9C0, "alSynDelete"]
- [0x8006B9D0, "alSynAddPlayer"]
- [0x8006BA20, "_allocatePVoice"]
- [0x8006BAD8, "alSynAllocVoice"]
- [0x8006BB48, "synallocvoice_o_0048"]
- [0x8006BC00, "alSynStopVoice"]
- [0x8006BC80, "alSynStartVoice"]
- [0x8006BD20, "alSynSetPitch"]
- [0x8006BDB0, "alSynSetVol"]
- [0x8006BE70, "alSynSetPan"]
- [0x8006BF00, "osAiGetLength"]
- [0x8006BF10, "osAiGetStatus"]
- [0x8006C330, "osEPiStartDma"]
- [0x8006C3D0, "osPiStartDma"]
- [0x8006C4B8, "strlen"]
- [0x8006C4DC, "memcpy"]
- [0x8006C510, "sprintf"]
- [0x8006C5A0, "__scTaskReady"]
- [0x8006C5F4, "osScGetCmdQ"]
- [0x8006C5FC, "osScRemoveClient"]
- [0x8006C68C, "osScAddClient"]
- [0x8006C6E4, "osCreateScheduler"]
- [0x8006C7D8, "thread4_entry"]
- [0x8006C8DC, "sched_o_02B8"]
- [0x8006C9DC, "sched_o_02C8"]
- [0x8006CB04, "sched_o_02D8"]
- [0x8006CBE8, "sched_o_0504"]
- [0x8006CCB4, "sched_o_0384"]
- [0x8006CD0C, "sched_o_03F8"]
- [0x8006CDE8, "sched_o_03AC"]
- [0x8006CE20, "sched_o_03E0"]
- [0x8006D040, "_init_lpfilter"]
- [0x8006D0E4, "alFxNew"]
- [0x8006D57C, "alEnvmixerNew"]
- [0x8006D634, "alLoadNew"]
- [0x8006D6E4, "alResampleNew"]
- [0x8006D770, "alAuxBusNew"]
- [0x8006D7CC, "alMainBusNew"]
- [0x8006D828, "alSaveNew"]
- [0x8006D870, "_ldexpf"]
- [0x8006D894, "_frexpf"]
- [0x8006DA48, "alEnvmixerPull"]
- [0x8006DE44, "env_o_01E0"]
- [0x8006E21C, "env_o_0718"]
- [0x8006E49C, "env_o_027C"]
- [0x8006E520, "_doModFunc"]
- [0x8006E5AC, "alFxParamHdl"]
- [0x8006E7B0, "_filterBuffer"]
- [0x8006E84C, "_loadOutputBuffer"]
- [0x8006EA64, "_loadBuffer"]
- [0x8006EA98, "reverb_o_0178"]
- [0x8006EBD4, "_saveBuffer"]
- [0x8006ECB0, "reverb_o_0154"]
- [0x8006ED44, "alFxPull"]
- [0x8006EE20, "reverb_o_00C4"]
- [0x8006EF90, "reverb_o_024C"]
- [0x8006F02C, "reverb_o_05D0"]
- [0x8006F0E8, "alSavePull"]
- [0x8006F190, "alSynSetFXMix"]
- [0x8006F300, "_collectPVoices"]
- [0x8006F354, "alAudioFrame"]
- [0x8006F504, "alSynNew"]
- [0x8006F6F0, "synthesizer_o_0440"]
- [0x8006F784, "synthesizer_o_0370"]
- [0x8006F818, "synthesizer_o_032C"]
- [0x8006F870, "osAiSetFrequency"]
- [0x8006F990, "__CartRomHandle"]
- [0x8006FA04, "osCartRomInit"]
- [0x8006FB10, "osContGetReadData"]
- [0x8006FBAC, "osContStartReadData"]
- [0x8006FC34, "contreaddata_o_0028"]
- [0x8006FCF0, "osMotorInit"]
- [0x8006FF38, "__osMotorAccess"]
- [0x80070080, "__osPfsDeclearPage"]
- [0x80070198, "osPfsAllocateFile"]
- [0x8007038C, "pfsallocatefile_o_0178"]
- [0x800704B0, "__osPfsReleasePages"]
- [0x80070518, "osPfsDeleteFile"]
- [0x8007065C, "pfsdeletefile_o_00EC"]
- [0x80070860, "osPfsFreeBlocks"]
- [0x80070970, "osPfsInitPak"]
- [0x80070B68, "pfsinitpak_o_0050"]
- [0x80071180, "osPfsRepairId"]
- [0x800711E0, "osPfsFindFile"]
- [0x80071380, "__osPfsSelectBank"]
- [0x800713F0, "osCreatePiManager"]
- [0x800715BC, "__Dom2SpeedParam"]
- [0x80071630, "__Dom1SpeedParam"]
- [0x800716A0, "__osPiRawStartDma"]
- [0x800716A4, "__osCurrentHandle"]
- [0x800716AC, "__osPiTable"]
- [0x800716B0, "__osPiDevMgr"]
- [0x80071770, "__osSiRawStartDma"]
- [0x80071820, "osCreateViManager"]
- [0x80071B60, "osViSetSpecialFeatures"]
- [0x80071CD0, "__osViSwapContext"]
- [0x80072AE4, "__osEnqueueAndYield"]
- [0x80072C34, "__osPopThread"]
- [0x800731D0, "__osDisableInt"]
- [0x80073240, "__osRestoreInt"]
- [0x80073310, "sqrtf"]
- [0x80073320, "cosf"]
- [0x80073470, "__osGetCause"]
- [0x80073480, "osGetCount"]
- [0x800734A0, "__osProbeTLB"]
- [0x80073560, "osSetIntMask"]
- [0x800737B0, "osGetThreadPri"]
- [0x800737D0, "osJamMesg"]
- [0x80073910, "__osThreadSave"]
- [0x80073AC0, "kdebugserver"]
- [0x80073C70, "__osRdb_IP6_CurSend"]
- [0x80073C74, "__osRdb_IP6_CurWrite"]
- [0x80073C78, "__osRdb_IP6_Ct"]
- [0x80073C7C, "__osRdb_IP6_Size"]
- [0x80073C80, "__osRdb_IP6_Data"]
- [0x80073C84, "osInitRdb"]
- [0x80073CF0, "__osRdbSend"]
- [0x80073F08, "__osRdb_IP6_Empty"]
- [0x80073F10, "__osRdb_Read_Data_Ct"]
- [0x80073F14, "__osRdb_Read_Data_Buf"]
- [0x80073F18, "osReadHost"]
- [0x80073FE0, "alSynAllocFX"]
- [0x80074080, "__osAiDeviceBusy"]
- [0x800740A0, "osDpSetNextBuffer"]
- [0x8007416C, "osSpTaskLoad"]
- [0x80074380, "osSpTaskYield"]
- [0x800743A0, "osSpTaskYielded"]
- [0x80074510, "osViGetCurrentFramebuffer"]
- [0x80074550, "osViGetNextFramebuffer"]
- [0x80074590, "osViSetEvent"]
- [0x800745F0, "osViSetMode"]
- [0x80074640, "osViSwapBuffer"]
- [0x80074690, "osViBlack"]
- [0x80074744, "__osSiGetAccess"]
- [0x80074784, "__osPiAccessQueue"]
- [0x800747B0, "__osSiRelAccess"]
- [0x800747E0, "osPiGetCmdQueue"]
- [0x800747F0, "__osPiAccessQueueEnabled"]
- [0x800748F0, "__osRdb_DbgRead_Buf"]
- [0x800748F4, "rmonRdbReadBuf"]
- [0x80074AA0, "bcmp"]
- [0x80074BB0, "bcopy"]
- [0x80074ED0, "bzero"]
- [0x80074F70, "_Printf"]
- [0x800750F4, "__rmonIOhandler"]
- [0x800751A4, "__rmonIOputw"]
- [0x80075200, "__rmonIOflush"]
- [0x8007523C, "__rmonSendFault"]
- [0x800759A0, "__osPfsInodeCache"]
- [0x80076430, "__osContRamRead"]
- [0x800764F0, "__osSumcalc"]
- [0x80076524, "__osPfsInodeCacheBank"]
- [0x80076525, "__osPfsInodeCacheChannel"]
- [0x80076630, "__osContRamWrite"]
- [0x80076850, "__osContDataCrc"]
- [0x800768CC, "__osContAddressCrc"]
- [0x80076940, "__osDevMgrMain"]
- [0x80076D00, "__osEPiRawStartDma"]
- [0x80076EF0, "__osEPiRawReadIo"]
- [0x80077060, "__osEPiRawWriteIo"]
- [0x800771D0, "osPfsChecker"]
- [0x80077970, "__osPfsRequestOneChannel"]
- [0x800779E0, "pfsgetstatus_o_0030"]
- [0x80077A74, "pfsgetstatus_o_0084"]
- [0x80077B00, "__osSpRawReadIo"]
- [0x80077B50, "__osSpRawWriteIo"]
- [0x80077BA0, "__osSpRawStartDma"]
- [0x80077C30, "__osResetGlobalIntMask"]
- [0x80077C80, "__osSetGlobalIntMask"]
- [0x80077CC0, "osYieldThread"]
- [0x80077D10, "__osDpDeviceBusy"]
- [0x80077D50, "__osSpGetStatus"]
- [0x80077D60, "__osSpSetStatus"]
- [0x80077D70, "__osSpSetPc"]
- [0x80077DC0, "__osPfsGetInitData"]
- [0x80077E74, "__osPfsRequestData"]
- [0x80077F18, "__osPfsPifRam"]
- [0x80077F3C, "pfsisplug_o_004C"]
- [0x80077F58, "osPfsIsPlug"]
- [0x80077FE0, "pfsisplug_o_0094"]
- [0x800780A0, "__rmonExecute"]
- [0x800788A0, "__rmonSetComm"]
- [0x800788D8, "__rmonPanic"]
- [0x800788E0, "__rmonMQ"]
- [0x800788F8, "__rmonInit"]
- [0x800789C8, "__rmonSetFault"]
- [0x80079DE8, "__rmonSendReply"]
- [0x8007AEA0, "osStopThread"]
- [0x8007B9A0, "lldiv"]
- [0x8007BAD4, "ldiv"]
- [0x8007C310, "__divdi3"]
# Variables
- [0x8007C700, “gRspBoot”] # Boot code for gfx and audio ucode, is 0xD0 bytes long
- [0x8007C7D0, “gGfxSPTask”] # Start of F3DEX2 ucode
- [0x8007DB60, "aspMainDataStart"] # Start of Audio data
- [0x8007DE20, "aspMainTextStart"] # Start of Audio ucode
- [0x8008E8E0, "gThread1Stack"]
- [0x800CABA0, "gAudioOSTask"] # OSTask structure for Audio ucode
- [0x800FF168, "gGfxOSTask"] # OSTask structure for F3DEX2 ucode
- [0x800FF1F8, "gGfxOSTask2"] # OSTask structure for F3DEX2 ucode