owned this note
owned this note
Published
Linked with GitHub
# ROM splitter configuration file
name: "Forsaken 64"
# checksums from ROM header offsets 0x10 and 0x14
# used for auto configuration detection
checksum1: 0x9E330C01
checksum2: 0x8C0314BA
# base filename used for outputs (please, no spaces)
basename: "Forsaken64.u"
ranges:
- [0x000000, 0x000040, "header", "header"]
- [0x000040, 0x001000, "bin", "boot"]
- [0x001000, 0x001058, "asm", "entry_point", 0x80000400]
- [0x0027C0, 0x003B24, "asm", "main", 0x80001BC0]
- [0x006E50, 0x022C6C, "asm", "other", 0x80006250]
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"]
- [0x80001BC0, "main"]
- [0x80001E34, "print_N64info"] # Not used?
- [0x80002E50, "printf"] # Not implemented
# N64 Library Functions
- [0x8000C280, "cosf"]
- [0x8000C3D0, "guLookAt"]
- [0x8000C754, "guLookAtF"]
- [0x8000CAE0, "sqrtf"]
- [0x8000CAF0, "guMtxF2L"]
- [0x8000CC30, "guMtxIdentF"]
- [0x8000CE4C, "guMtxXFMF"]
- [0x8000CF00, "guPerspective"]
- [0x8000D0C8, "guPerspectiveF"]
- [0x8000D280, "guRotateRPY"]
- [0x8000D40C, "guRotateRPYF"]
- [0x8000D680, "sinf"]
- [0x8000D8F0, "guRandom"]
- [0x8000DAE0, "osCreateMesgQueue"]
- [0x8000DB10, "osCreateThread"]
- [0x8000E244, "__osEnqueueAndYield"]
- [0x8000E394, "__osPopThread"]
- [0x8000E530, "__osDisableInt"]
- [0x8000E550, "__osRestoreInt"]
- [0x8000E570, "osSetIntMask"]
- [0x8000E6E0, "osGetTime"]
- [0x8000E770, "osGetCount"]
- [0x8000E9C0, "osWritebackDCache"]
- [0x8000EAA0, "osRecvMesg"]
- [0x8000EBD0, "osSendMesg"]
- [0x8000ED00, "osSetEventMesg"]
- [0x8000ED60, "osSetThreadPri"]
- [0x8000EE30, "osStartThread"]
- [0x8000EF50, "osStopThread"]
- [0x8000F010, "__osDequeueThread"]
- [0x8000F044, "__osFaultedThread"]
- [0x8000F048, "__osRunningThread"]
- [0x8000F04C, "__osActiveQueue"]
- [0x8000F050, "__osRunQueue"]
- [0x8000F054, "__osThreadTail"]
- [0x8000F360, "osVirtualToPhysical"]
- [0x8000F3C0, "__osProbeTLB"]
- [0x8000F490, "alBnkfNew"]
- [0x8000F524, "alSeqFileNew"]
- [0x8000F564, "bnkf_o_0098"]
- [0x8000F610, "bnkf_o_0118"]
- [0x8000F6A4, "bnkf_o_01D8"]
- [0x8000F6FC, "bnkf_o_0258"]
- [0x8000F7BC, "alLink"]
- [0x8000F7DC, "alUnlink"]
- [0x8000F810, "alHeapInit"]
- [0x8000F850, "alHeapDBAlloc"]
- [0x8000F8A0, "alCSeqGetLoc"]
- [0x8000F914, "alCSeqSetLoc"]
- [0x8000F988, "alCSeqNewMarker"]
- [0x8000FB20, "cseq_o_0194"]
- [0x8000FC20, "alCSeqGetTicks"]
- [0x8000FC28, "alCSeqSecToTicks"]
- [0x8000FCC8, "alCSeqTicksToSec"]
- [0x8000FD44, "__alCSeqNextDelta"]
- [0x8000FDC4, "alCSeqNextEvent"]
- [0x8000FEB8, "alCSeqNew"]
- [0x80010234, "cseq_o_02A4"]
- [0x800102EC, "cseq_o_0088"]
- [0x80010360, "n_alSeqpGetState"]
- [0x80010370, "n_alSeqpPlay"]
- [0x800103A0, "alEvtqFlushType"]
- [0x80010450, "alEvtqFlush"]
- [0x800104B4, "n_alEvtqPostEvent"]
- [0x800104C8, "alEvtqPostEvent"]
- [0x800105D4, "alEvtqNextEvent"]
- [0x8001066C, "alEvtqNew"]
- [0x800106F0, "alCopy"]
- [0x80010730, "n_alSeqpSetBank"]
- [0x80010760, "n_alSeqpSetChlPriority"]
- [0x800107A0, "n_alSeqpSetSeq"]
- [0x800107D0, "n_alSeqpSetVol"]
- [0x80010800, "n_alSeqpStop"]
- [0x800135A0, "alSeqGetLoc"]
- [0x800135BC, "alSeqSetLoc"]
- [0x800135D8, "alSeqGetTicks"]
- [0x800135E0, "alSeqNewMarker"]
- [0x80013688, "seq_o_044C"]
- [0x800136F4, "alSeqSecToTicks"]
- [0x80013784, "alSeqTicksToSec"]
- [0x800137EC, "__alSeqNextDelta"]
- [0x80013854, "alSeqNextEvent"]
- [0x800139BC, "alSeqNew"]
- [0x80013AA4, "seq_o_011C"]
- [0x80013AB8, "seq_o_0040"]
- [0x80013AE8, "seq_o_0020"]
- [0x80013B38, "seq_o_0104"]
- [0x800142E0, "alSndpAllocate"]
- [0x800143A0, "alSndpDeallocate"]
- [0x800143F0, "alSndpSetSound"]
- [0x80014400, "alSndpPlay"]
- [0x80014460, "alSndpStop"]
- [0x800144B0, "alSndpGetState"]
- [0x800144D0, "alSndpSetPitch"]
- [0x80014520, "alSndpSetVol"]
- [0x80014570, "alSndpSetPan"]
- [0x800145C0, "alSndpSetFXMix"]
- [0x80014A8C, "__allocParam"]
- [0x80014B24, "_freePVoice"]
- [0x80014BAC, "_timeToSamples"]
- [0x80014D44, "alFxNew"]
- [0x800154D0, "alLoadParam"]
- [0x8001567C, "alRaw16Pull"]
- [0x80015A18, "alAdpcmPull"]
- [0x80015E5C, "load_o_0108"]
- [0x80015FE0, "alAuxBusParam"]
- [0x80016010, "alAuxBusPull"]
- [0x80016E20, "alFilterNew"]
- [0x80016E40, "alMainBusParam"]
- [0x80016E70, "alMainBusPull"]
- [0x80016FB0, "alResampleParam"]
- [0x80017070, "alResamplePull"]
- [0x80017610, "alFxParam"]
- [0x80017F60, "alHeapCheck"]
- [0x80017F70, "alSynDelete"]
- [0x80017F80, "alSynAddPlayer"]
- [0x80017FD0, "alSynFreeVoice"]
- [0x80018070, "_allocatePVoice"]
- [0x80018128, "alSynAllocVoice"]
- [0x80018198, "synallocvoice_o_0048"]
- [0x80018250, "alSynStopVoice"]
- [0x800182D0, "alSynStartVoice"]
- [0x80018470, "alSynSetPitch"]
- [0x80018500, "alSynSetVol"]
- [0x80018650, "alSynSetPan"]
- [0x800186E0, "alSynSetPriority"]
- [0x800186F0, "alSynAllocFX"]
- [0x80018790, "alCents2Ratio"]
- [0x800189C0, "__osAiDeviceBusy"]
- [0x800189E0, "osSpTaskStartGo"]
- [0x80018A0C, "osSpTaskLoad"]
- [0x80018C20, "__osSpDeviceBusy"]
- [0x80018C40, "__osSpSetStatus"]
- [0x80018C50, "__osSpSetPc"]
- [0x80018C80, "__osSpRawStartDma"]
- [0x80018D80, "osSpTaskYield"]
- [0x80018DA0, "osSpTaskYielded"]
- [0x80018DF0, "__osSpGetStatus"]
- [0x80018E00, "osViGetCurrentLine"]
- [0x80018E10, "osViGetCurrentMode"]
- [0x80019290, "osGetThreadPri"]
- [0x800192C0, "osViSetEvent"]
- [0x80019320, "osViSetMode"]
- [0x80019370, "osViSetSpecialFeatures"]
- [0x800194E0, "osViSetYScale"]
- [0x80019530, "osViSwapBuffer"]
- [0x80019870, "osViBlack"]
- [0x80019960, "__osSiDeviceBusy"]
- [0x800199F0, "osContGetQuery"]
- [0x80019A10, "osContStartQuery"]
- [0x80019A90, "__osSiRawStartDma"]
- [0x80019BA4, "__osSiGetAccess"]
- [0x80019BE4, "__osPiAccessQueue"]
- [0x80019C10, "__osSiRelAccess"]
- [0x80019C40, "osContGetReadData"]
- [0x80019C50, "__osPiAccessQueueEnabled"]
- [0x80019CDC, "osContStartReadData"]
- [0x80019D64, "contreaddata_o_0028"]
- [0x80019FBC, "__osContGetInitData"]
- [0x8001A070, "__osPackRequestData"]
- [0x8001C730, "__osPfsGetInitData"]
- [0x8001C7E4, "__osPfsRequestData"]
- [0x8001C888, "__osPfsPifRam"]
- [0x8001C8AC, "pfsisplug_o_004C"]
- [0x8001C8C8, "osPfsIsPlug"]
- [0x8001C950, "pfsisplug_o_0094"]
- [0x8001E000, "__osPiRawWriteIo"]
- [0x8001E0A0, "osCreatePiManager"]
- [0x8001E230, "__osPiRawStartDma"]
- [0x8001E2A4, "__Dom1SpeedParam"]
- [0x8001E318, "__osCurrentHandle"]
- [0x8001E320, "__osPiTable"]
- [0x8001E324, "__osPiDevMgr"]
- [0x8001ED40, "__osDevMgrMain"]
- [0x8001F100, "__osResetGlobalIntMask"]
- [0x8001F150, "__osSetGlobalIntMask"]
- [0x8001F190, "osYieldThread"]
- [0x8001F1E0, "__osEPiRawReadIo"]
- [0x8001F370, "__osEPiRawWriteIo"]
- [0x8001F4C0, "__osPiCreateAccessQueue"]
- [0x8001F514, "__osPiGetAccess"]
- [0x8001F580, "__osPiRelAccess"]
- [0x8001F5B0, "osPiWriteIo"]
- [0x8001F600, "osPiStartDma"]
- [0x8001F6B0, "osJamMesg"]
- [0x8001F7F0, "osPiGetCmdQueue"]
- [0x8001F810, "bcopy"]
- [0x8001FC2C, "memcpy"]
- [0x8001FC60, "sprintf"]
- [0x8001FCF0, "_Printf"]
- [0x80020970, "lldiv"]
- [0x80020AA4, "ldiv"]
- [0x800215F0, "__divdi3"]
# Variables
- [0x80002F40, "gRspBoot"] # Boot code for gfx and audio ucode, is 0xD0 bytes long
- [0x80003010, "gGfxSPTask"] # Start of F3DEX v1.23 ucode
- [0x800E4CF8, "gGfxOSTask"] # OSTask structure for F3DEX v1.23 ucode
- [0x800E4D38, "gGfxOSTask2"] # OSTask structure for F3DEX v1.23 ucode