More splits (text only)

This commit is contained in:
robojumper
2025-07-13 14:04:32 +02:00
parent 8229189d34
commit c84977df63
17 changed files with 579 additions and 245 deletions
+4
View File
@@ -29,6 +29,10 @@ force_active: [
"ModuleConstructorsX",
"ModuleDestructorsX",
]
block_relocations:
# OSInit
- source: 0x803a2a9c
- source: 0x803a2b04
extract:
- symbol: DOL_BACKUP_FONT
header: d/dol_backup_error_font.inc
+259 -19
View File
@@ -2513,35 +2513,275 @@ revolution/ai/ai.c:
.sdata start:0x805748F8 end:0x80574900
.sbss start:0x80575E00 end:0x80575E40
RVL_SDK/arc/ARC.c:
revolution/arc/arc.c:
.text start:0x8039B570 end:0x8039BF58 align:16
.data start:0x8054D8C8 end:0x8054D938
.sdata start:0x80574900 end:0x80574908
RVL_SDK/ax/AX.c:
.text start:0x8039BF60 end:0x803A1CA0 align:16
revolution/ax/AX.c:
.text start:0x8039BF60 end:0x8039BFC8 align:16
RVL_SDK/os/OS.c:
.text start:0x803A1CA0 end:0x803B059C align:16
revolution/ax/AXAlloc.c:
.text start:0x8039BFD0 end:0x8039C4BC align:16
RVL_SDK/exi/EXI.c:
.text start:0x803B05A0 end:0x803B2368 align:16
revolution/ax/AXAux.c:
.text start:0x8039C4C0 end:0x8039CD54 align:16
RVL_SDK/si/SI.c:
.text start:0x803B2370 end:0x803B3498 align:16
revolution/ax/AXCL.c:
.text start:0x8039CD60 end:0x8039D858 align:16
RVL_SDK/vi/VI.c:
.text start:0x803B34A0 end:0x803B7F3C align:16
revolution/ax/AXOut.c:
.text start:0x8039D860 end:0x8039E098 align:16
RVL_SDK/mtx/MTX.c:
.text start:0x803B7F40 end:0x803B98FC align:16
revolution/ax/AXSPB.c:
.text start:0x8039E0A0 end:0x8039E4CC align:16
RVL_SDK/gx/GX.c:
.text start:0x803B9900 end:0x803C3060 align:16
revolution/ax/AXVPB.c:
.text start:0x8039E4D0 end:0x8039F288 align:16
RVL_SDK/dvd/DVD.c:
.text start:0x803C3060 end:0x803CC0A8 align:16
revolution/ax/AXProf.c:
.text start:0x8039F290 end:0x8039F2D0 align:16
RVL_SDK/mem/MEM.c:
.text start:0x803CC0B0 end:0x803CDD20 align:16
revolution/axfx/AXFXReverbHi.c:
.text start:0x8039F2D0 end:0x8039F374 align:16
revolution/axfx/AXFXReverbHiExp.c:
.text start:0x8039F380 end:0x803A01A4 align:16
revolution/axfx/AXFXReverbStdExp.c:
.text start:0x803A01B0 end:0x803A0EDC align:16
revolution/axfx/AXFXReverbStdExpDpl2.c:
.text start:0x803A0EE0 end:0x803A1C50 align:16
revolution/axfx/AXFXHooks.c:
.text start:0x803A1C50 end:0x803A1C94 align:16
.sdata start:0x80574918 end:0x80574920
revolution/base/PPCArch.c:
.text start:0x803A1CA0 end:0x803A1EC0 align:16
revolution/os/OS.c:
.text start:0x803A1EC0 end:0x803A33A0 align:16
revolution/os/OSAlarm.c:
.text start:0x803A33A0 end:0x803A3C58 align:16
revolution/os/OSAlloc.c:
.text start:0x803A3C60 end:0x803A3F80 align:16
revolution/os/OSArena.c:
.text start:0x803A3F80 end:0x803A4074 align:16
revolution/os/OSAudioSystem.c:
.text start:0x803A4080 end:0x803A4540 align:16
revolution/os/OSCache.c:
.text start:0x803A4540 end:0x803A4B98 align:16
revolution/os/OSContext.c:
.text start:0x803A4BA0 end:0x803A559C align:16
revolution/os/OSError.c:
.text start:0x803A55A0 end:0x803A5B2C align:16
revolution/os/OSExec.c:
.text start:0x803A5B30 end:0x803A73D8 align:16
revolution/os/OSFatal.c:
.text start:0x803A73E0 end:0x803A8008 align:16
revolution/os/OSFont.c:
.text start:0x803A8010 end:0x803A8CF8 align:16
revolution/os/OSInterrupt.c:
.text start:0x803A8D00 end:0x803A94D0 align:16
revolution/os/OSLink.c:
.text start:0x803A94D0 end:0x803A9FF4 align:16
revolution/os/OSMessage.c:
.text start:0x803AA000 end:0x803AA20C align:16
revolution/os/OSMemory.c:
.text start:0x803AA210 end:0x803AAA8C align:16
revolution/os/OSMutex.c:
.text start:0x803AAA90 end:0x803AADAC align:16
revolution/os/OSReboot.c:
.text start:0x803AADB0 end:0x803AAE34 align:16
revolution/os/OSReset.c:
.text start:0x803AAE40 end:0x803AB84C align:16
revolution/os/OSRtc.c:
.text start:0x803AB850 end:0x803AC300 align:16
revolution/os/OSSync.c:
.text start:0x803AC300 end:0x803AC380 align:16
revolution/os/OSThread.c:
.text start:0x803AC380 end:0x803ADAE8 align:16
revolution/os/OSTime.c:
.text start:0x803ADAF0 end:0x803ADF1C align:16
revolution/os/OSUtf.c:
.text start:0x803ADF20 end:0x803AE170 align:16
revolution/os/OSIpc.c:
.text start:0x803AE170 end:0x803AE1A8 align:16
revolution/os/OSStateTM.c:
.text start:0x803AE1B0 end:0x803AE8B4 align:16
revolution/os/OSPlayRecord.c:
.text start:0x803AE8C0 end:0x803AEFDC align:16
revolution/os/OSStateFlags.c:
.text start:0x803AEFE0 end:0x803AF1F8 align:16
revolution/os/OSNet.c:
.text start:0x803AF200 end:0x803AF79C align:16
revolution/os/OSNandbootInfo.c:
.text start:0x803AF7A0 end:0x803AF9A8 align:16
revolution/os/OSPlayTime.c:
.text start:0x803AF9B0 end:0x803B0188 align:16
revolution/os/OSCrc.c:
.text start:0x803B0190 end:0x803B02C4 align:16
revolution/os/OSLaunch.c:
.text start:0x803B02D0 end:0x803B04D4 align:16
revolution/os/__ppc_eabi_init.c:
.text start:0x803B04E0 end:0x803B059C align:16
revolution/exi/EXIBios.c:
.text start:0x803B05A0 end:0x803B1E98 align:16
revolution/exi/EXIUart.c:
.text start:0x803B1EA0 end:0x803B21DC align:16
revolution/exi/EXICommon.c:
.text start:0x803B21E0 end:0x803B2368 align:16
revolution/si/SIBios.c:
.text start:0x803B2370 end:0x803B33A4 align:16
revolution/si/SISamplingRate.c:
.text start:0x803B33B0 end:0x803B3498 align:16
revolution/vi/vi.c:
.text start:0x803B34A0 end:0x803B5EF0 align:16
revolution/vi/i2c.c:
.text start:0x803B5EF0 end:0x803B6804 align:16
revolution/vi/vi3in1.c:
.text start:0x803B6810 end:0x803B7F3C align:16
revolution/mtx/mtx.c:
.text start:0x803B7F40 end:0x803B8CF8 align:16
revolution/mtx/mtxvec.c:
.text start:0x803B8D00 end:0x803B8ED8 align:16
revolution/mtx/mtx44.c:
.text start:0x803B8EE0 end:0x803B9108 align:16
revolution/mtx/vec.c:
.text start:0x803B9110 end:0x803B9584 align:16
revolution/mtx/quat.c:
.text start:0x803B9590 end:0x803B98FC align:16
revolution/gx/GXInit.c:
.text start:0x803B9900 end:0x803BAA90 align:16
revolution/gx/GXFifo.c:
.text start:0x803BAA90 end:0x803BB6C8 align:16
revolution/gx/GXAttr.c:
.text start:0x803BB6D0 end:0x803BC954 align:16
revolution/gx/GXMisc.c:
.text start:0x803BC960 end:0x803BD214 align:16
revolution/gx/GXGeometry.c:
.text start:0x803BD220 end:0x803BD824 align:16
revolution/gx/GXFrameBuf.c:
.text start:0x803BD830 end:0x803BE338 align:16
revolution/gx/GXLight.c:
.text start:0x803BE340 end:0x803BEAA4 align:16
revolution/gx/GXTexture.c:
.text start:0x803BEAB0 end:0x803BFD50 align:16
revolution/gx/GXBump.c:
.text start:0x803BFD50 end:0x803C0394 align:16
revolution/gx/GXTev.c:
.text start:0x803C03A0 end:0x803C0A64 align:16
revolution/gx/GXPixel.c:
.text start:0x803C0A70 end:0x803C1270 align:16
revolution/gx/GXDraw.c:
.text start:0x803C1270 end:0x803C1E80 align:16
revolution/gx/GXDisplayList.c:
.text start:0x803C1E80 end:0x803C2064 align:16
revolution/gx/GXTransform.c:
.text start:0x803C2070 end:0x803C2828 align:16
revolution/gx/GXPerf.c:
.text start:0x803C2830 end:0x803C3060 align:16
revolution/dvd/dvdfs.c:
.text start:0x803C3060 end:0x803C3A58 align:16
revolution/dvd/dvd.c:
.text start:0x803C3A60 end:0x803C8864 align:16
revolution/dvd/dvdqueue.c:
.text start:0x803C8870 end:0x803C8AF0 align:16
revolution/dvd/dvderror.c:
.text start:0x803C8AF0 end:0x803C9508 align:16
revolution/dvd/dvdidutils.c:
.text start:0x803C9510 end:0x803C9600 align:16
revolution/dvd/dvdFatal.c:
.text start:0x803C9600 end:0x803C9768 align:16
revolution/dvd/dvdDeviceError.c:
.text start:0x803C9770 end:0x803C99FC align:16
revolution/dvd/dvd_broadway.c:
.text start:0x803C9A00 end:0x803CC0A8 align:16
revolution/mem/mem_heapCommon.c:
.text start:0x803CC0B0 end:0x803CC93C align:16
revolution/mem/mem_expHeap.c:
.text start:0x803CC940 end:0x803CD598 align:16
revolution/mem/mem_frameHeap.c:
.text start:0x803CD5A0 end:0x803CDBA0 align:16
revolution/mem/mem_allocator.c:
.text start:0x803CDBA0 end:0x803CDBFC align:16
revolution/mem/mem_list.c:
.text start:0x803CDC00 end:0x803CDD20 align:16
RVL_SDK/dsp/DSP.c:
.text start:0x803CDD20 end:0x803CE868 align:16
+195 -195
View File
@@ -1,4 +1,4 @@
__check_pad3_80004000 = .init:0x80004000; // type:function size:0x28 scope:local
__check_pad3 = .init:0x80004000; // type:function size:0x28 scope:local
__set_debug_bba = .init:0x80004030; // type:function size:0xC scope:local
__get_debug_bba = .init:0x80004040; // type:function size:0x8 scope:local
__start = .init:0x80004050; // type:function size:0x168 scope:weak
@@ -21708,16 +21708,16 @@ AXSetVoicePriority = .text:0x8039C420; // type:function size:0x9C
__AXAuxInit = .text:0x8039C4C0; // type:function size:0x114
__AXGetAuxAInput = .text:0x8039C5E0; // type:function size:0x34
__AXGetAuxAOutput = .text:0x8039C620; // type:function size:0x1C
fn_8039C640 = .text:0x8039C640; // type:function size:0x20
fn_8039C660 = .text:0x8039C660; // type:function size:0x20
fn_8039C680 = .text:0x8039C680; // type:function size:0x20
fn_8039C6A0 = .text:0x8039C6A0; // type:function size:0x20
__AXGetAuxAInputDpl2 = .text:0x8039C640; // type:function size:0x20
__AXGetAuxAOutputDpl2R = .text:0x8039C660; // type:function size:0x20
__AXGetAuxAOutputDpl2Ls = .text:0x8039C680; // type:function size:0x20
__AXGetAuxAOutputDpl2Rs = .text:0x8039C6A0; // type:function size:0x20
__AXGetAuxBInput = .text:0x8039C6C0; // type:function size:0x34
__AXGetAuxBOutput = .text:0x8039C700; // type:function size:0x1C
fn_8039C720 = .text:0x8039C720; // type:function size:0x20
fn_8039C740 = .text:0x8039C740; // type:function size:0x20
fn_8039C760 = .text:0x8039C760; // type:function size:0x20
fn_8039C780 = .text:0x8039C780; // type:function size:0x20
__AXGetAuxBInputDpl2 = .text:0x8039C720; // type:function size:0x20
__AXGetAuxBOutputDpl2R = .text:0x8039C740; // type:function size:0x20
__AXGetAuxBOutputDpl2Ls = .text:0x8039C760; // type:function size:0x20
__AXGetAuxBOutputDpl2Rs = .text:0x8039C780; // type:function size:0x20
__AXGetAuxCInput = .text:0x8039C7A0; // type:function size:0x34
__AXGetAuxCOutput = .text:0x8039C7E0; // type:function size:0x1C
__AXProcessAux = .text:0x8039C800; // type:function size:0x3AC
@@ -21733,7 +21733,7 @@ __AXNextFrame = .text:0x8039CDA0; // type:function size:0x9BC
__AXClInit = .text:0x8039D760; // type:function size:0x50
AXSetMode = .text:0x8039D7B0; // type:function size:0x8
AXGetMode = .text:0x8039D7C0; // type:function size:0x8
fn_8039D7D0 = .text:0x8039D7D0; // type:function size:0x8
AXSetCompressor = .text:0x8039D7D0; // type:function size:0x8
AXGetAuxAReturnVolume = .text:0x8039D7E0; // type:function size:0x8
AXGetAuxBReturnVolume = .text:0x8039D7F0; // type:function size:0x8
AXGetAuxCReturnVolume = .text:0x8039D800; // type:function size:0x8
@@ -21743,35 +21743,35 @@ AXSetAuxBReturnVolume = .text:0x8039D840; // type:function size:0x8
AXSetAuxCReturnVolume = .text:0x8039D850; // type:function size:0x8
__AXOutNewFrame = .text:0x8039D860; // type:function size:0x260
__AXOutAiCallback = .text:0x8039DAC0; // type:function size:0xB0
fn_8039DB70 = .text:0x8039DB70; // type:function size:0xC
fn_8039DB80 = .text:0x8039DB80; // type:function size:0x54
__AXDSPInitCallback = .text:0x8039DB70; // type:function size:0xC
__AXDSPResumeCallback = .text:0x8039DB80; // type:function size:0x54
__AXDSPDoneCallback = .text:0x8039DBE0; // type:function size:0x10
fn_8039DBF0 = .text:0x8039DBF0; // type:function size:0x4
__AXDSPRequestCallback = .text:0x8039DBF0; // type:function size:0x4
__AXOutInitDSP = .text:0x8039DC00; // type:function size:0xEC
__AXOutInit = .text:0x8039DCF0; // type:function size:0x1F8
AXRegisterCallback = .text:0x8039DEF0; // type:function size:0x44
AXRmtGetSamplesLeft = .text:0x8039DF40; // type:function size:0x2C
AXRmtGetSamples = .text:0x8039DF70; // type:function size:0xC4
AXRmtAdvancePtr = .text:0x8039E040; // type:function size:0x58
fn_8039E0A0 = .text:0x8039E0A0; // type:function size:0xC
fn_8039E0B0 = .text:0x8039E0B0; // type:function size:0x6C
fn_8039E120 = .text:0x8039E120; // type:function size:0x6C
__AXGetStudio = .text:0x8039E0A0; // type:function size:0xC
__AXDepopFadeMain = .text:0x8039E0B0; // type:function size:0x6C
__AXDepopFadeRmt = .text:0x8039E120; // type:function size:0x6C
__AXPrintStudio = .text:0x8039E190; // type:function size:0x178
fn_8039E310 = .text:0x8039E310; // type:function size:0x58
fn_8039E370 = .text:0x8039E370; // type:function size:0x15C
fn_8039E4D0 = .text:0x8039E4D0; // type:function size:0x8
fn_8039E4E0 = .text:0x8039E4E0; // type:function size:0x550
__AXSPBInit = .text:0x8039E310; // type:function size:0x58
__AXDepopVoice = .text:0x8039E370; // type:function size:0x15C
__AXGetNumVoices = .text:0x8039E4D0; // type:function size:0x8
__AXServiceVPB = .text:0x8039E4E0; // type:function size:0x550
__AXSyncPBs = .text:0x8039EA30; // type:function size:0x310
fn_8039ED40 = .text:0x8039ED40; // type:function size:0x8
fn_8039ED50 = .text:0x8039ED50; // type:function size:0x40
fn_8039ED90 = .text:0x8039ED90; // type:function size:0x30
fn_8039EDC0 = .text:0x8039EDC0; // type:function size:0x28C
__AXGetPBs = .text:0x8039ED40; // type:function size:0x8
__AXSetPBDefault = .text:0x8039ED50; // type:function size:0x40
__AXVPBInit = .text:0x8039ED90; // type:function size:0x30
__AXVPBInitCommon = .text:0x8039EDC0; // type:function size:0x28C
AXSetVoiceState = .text:0x8039F050; // type:function size:0x70
AXSetVoiceAddr = .text:0x8039F0C0; // type:function size:0xE8
AXGetLpfCoefs = .text:0x8039F1B0; // type:function size:0xBC
AXSetMaxDspCycles = .text:0x8039F270; // type:function size:0x8
AXGetMaxVoices = .text:0x8039F280; // type:function size:0x8
__AXGetCurrentProfile = .text:0x8039F290; // type:function size:0x40 scope:local
__AXGetCurrentProfile = .text:0x8039F290; // type:function size:0x40
AXFXReverbHiInit = .text:0x8039F2D0; // type:function size:0x64
AXFXReverbHiShutdown = .text:0x8039F340; // type:function size:0x24
AXFXReverbHiCallback = .text:0x8039F370; // type:function size:0x4
@@ -21781,7 +21781,7 @@ AXFXReverbHiExpCallback = .text:0x8039F580; // type:function size:0x524
__AllocDelayLine = .text:0x8039FAB0; // type:function size:0x174 scope:local
__BzeroDelayLines = .text:0x8039FC30; // type:function size:0x124 scope:local
__FreeDelayLine = .text:0x8039FD60; // type:function size:0x114 scope:local
fn_8039FE80 = .text:0x8039FE80; // type:function size:0x324
__InitParams = .text:0x8039FE80; // type:function size:0x324 scope:local
AXFXReverbStdExpGetMemSize = .text:0x803A01B0; // type:function size:0x60
AXFXReverbStdExpInit = .text:0x803A0210; // type:function size:0x17C
AXFXReverbStdExpSettings = .text:0x803A0390; // type:function size:0xD0
@@ -21809,7 +21809,7 @@ AXFXGetHooks = .text:0x803A1C80; // type:function size:0x14
PPCMfmsr = .text:0x803A1CA0; // type:function size:0x8 scope:global
PPCMtmsr = .text:0x803A1CB0; // type:function size:0x8 scope:global
PPCMfhid0 = .text:0x803A1CC0; // type:function size:0x8 scope:global
fn_803A1CD0 = .text:0x803A1CD0; // type:function size:0x8
PPCMthid0 = .text:0x803A1CD0; // type:function size:0x8
PPCMfl2cr = .text:0x803A1CE0; // type:function size:0x8 scope:global
PPCMtl2cr = .text:0x803A1CF0; // type:function size:0x8 scope:global
PPCMtdec = .text:0x803A1D00; // type:function size:0x8 scope:weak
@@ -21825,7 +21825,7 @@ PPCMffpscr = .text:0x803A1DA0; // type:function size:0x20 scope:global
PPCMtfpscr = .text:0x803A1DC0; // type:function size:0x28 scope:global
PPCMfhid2 = .text:0x803A1DF0; // type:function size:0x8 scope:global
PPCMthid2 = .text:0x803A1E00; // type:function size:0x8 scope:global
fn_803A1E10 = .text:0x803A1E10; // type:function size:0xC
PPCMfwpar = .text:0x803A1E10; // type:function size:0xC
PPCMtwpar = .text:0x803A1E20; // type:function size:0x8 scope:global
PPCDisableSpeculation = .text:0x803A1E30; // type:function size:0x28 scope:global
PPCSetFpNonIEEEMode = .text:0x803A1E60; // type:function size:0x8 scope:global
@@ -21934,26 +21934,26 @@ PackArgs = .text:0x803A5B30; // type:function size:0x180
Utf16ToArg = .text:0x803A5CB0; // type:function size:0x158
PackInstallerArgs = .text:0x803A5E10; // type:function size:0x1CC
Run = .text:0x803A5FE0; // type:function size:0x3C
Callback = .text:0x803A6020; // type:function size:0xC
Callback = .text:0x803A6020; // type:function size:0xC scope:local
__OSGetExecParams = .text:0x803A6030; // type:function size:0x24 scope:global
callback = .text:0x803A6060; // type:function size:0x8
__OSLaunchNextFirmware = .text:0x803A6070; // type:function size:0x7FC
__OSLaunchMenu = .text:0x803A6870; // type:function size:0xC8 scope:global
__OSBootDolSimple = .text:0x803A6940; // type:function size:0x754
__OSBootDol = .text:0x803A70A0; // type:function size:0x1E0
OSExec = .text:0x803A7280; // type:function size:0x158
OSExecl = .text:0x803A7280; // type:function size:0x158
ScreenReport = .text:0x803A73E0; // type:function size:0x328
ConfigureVideo = .text:0x803A7710; // type:function size:0x120
OSFatal = .text:0x803A7830; // type:function size:0x1E8 scope:global
Halt = .text:0x803A7A20; // type:function size:0x5E8
GetFontCode = .text:0x803A8010; // type:function size:0x138
Decode = .text:0x803A8150; // type:function size:0x1A8
OSGetFontEncode = .text:0x803A8300; // type:function size:0x78 scope:global
OSSetFontEncode = .text:0x803A8380; // type:function size:0x310
ReadFont = .text:0x803A8690; // type:function size:0x118
OSLoadFont = .text:0x803A87B0; // type:function size:0xF8
ParseStringS = .text:0x803A88B0; // type:function size:0x1B4
ParseStringW = .text:0x803A8A70; // type:function size:0x288
OSSetFontEncode = .text:0x803A8300; // type:function size:0x78 scope:global
ReadFont = .text:0x803A8380; // type:function size:0x310
OSLoadFont = .text:0x803A8690; // type:function size:0x118
ParseStringS = .text:0x803A87B0; // type:function size:0xF8
ParseStringW = .text:0x803A88B0; // type:function size:0x1B4
OSGetFontTexel = .text:0x803A8A70; // type:function size:0x288
OSDisableInterrupts = .text:0x803A8D00; // type:function size:0x14 scope:global
OSEnableInterrupts = .text:0x803A8D20; // type:function size:0x14 scope:global
OSRestoreInterrupts = .text:0x803A8D40; // type:function size:0x24 scope:global
@@ -21985,53 +21985,53 @@ OSGetPhysicalMem1Size = .text:0x803AA210; // type:function size:0xC
OSGetPhysicalMem2Size = .text:0x803AA220; // type:function size:0xC scope:global
OSGetConsoleSimulatedMem1Size = .text:0x803AA230; // type:function size:0xC scope:global
OSGetConsoleSimulatedMem2Size = .text:0x803AA240; // type:function size:0xC scope:global
fn_803AA250 = .text:0x803AA250; // type:function size:0x3C
OnShutdown = .text:0x803AA250; // type:function size:0x3C scope:local
MEMIntrruptHandler = .text:0x803AA290; // type:function size:0x48 scope:local
fn_803AA2E0 = .text:0x803AA2E0; // type:function size:0xC8
fn_803AA3B0 = .text:0x803AA3B0; // type:function size:0x80
fn_803AA430 = .text:0x803AA430; // type:function size:0xD4
fn_803AA510 = .text:0x803AA510; // type:function size:0xD4
fn_803AA5F0 = .text:0x803AA5F0; // type:function size:0xA8
fn_803AA6A0 = .text:0x803AA6A0; // type:function size:0xD4
fn_803AA780 = .text:0x803AA780; // type:function size:0xA8
OSProtectRange = .text:0x803AA2E0; // type:function size:0xC8
ConfigMEM1_24MB = .text:0x803AA3B0; // type:function size:0x80
ConfigMEM2_52MB = .text:0x803AA430; // type:function size:0xD4
ConfigMEM2_56MB = .text:0x803AA510; // type:function size:0xD4
ConfigMEM2_64MB = .text:0x803AA5F0; // type:function size:0xA8
ConfigMEM2_112MB = .text:0x803AA6A0; // type:function size:0xD4
ConfigMEM2_128MB = .text:0x803AA780; // type:function size:0xA8
RealMode = .text:0x803AA830; // type:function size:0x18
BATConfig = .text:0x803AA850; // type:function size:0x120 scope:local
fn_803AA970 = .text:0x803AA970; // type:function size:0x44
__OSRestoreCodeExecOnMEM1 = .text:0x803AA970; // type:function size:0x44
__OSInitMemoryProtection = .text:0x803AA9C0; // type:function size:0xCC scope:global
OSInitMutex = .text:0x803AAA90; // type:function size:0x38
OSLockMutex = .text:0x803AAAD0; // type:function size:0xDC
OSUnlockMutex = .text:0x803AABB0; // type:function size:0xC8
__OSUnlockAllMutex = .text:0x803AAC80; // type:function size:0x6C
OSTryLockMutex = .text:0x803AACF0; // type:function size:0xBC
fn_803AADB0 = .text:0x803AADB0; // type:function size:0x6C
__OSReboot = .text:0x803AADB0; // type:function size:0x6C
OSGetSaveRegion = .text:0x803AAE20; // type:function size:0x14
OSRegisterShutdownFunction = .text:0x803AAE40; // type:function size:0x88 scope:global
__OSCallShutdownFunctions = .text:0x803AAED0; // type:function size:0xB0
__OSShutdownDevices = .text:0x803AAF80; // type:function size:0x180 scope:global
fn_803AB100 = .text:0x803AB100; // type:function size:0xE0
fn_803AB1E0 = .text:0x803AB1E0; // type:function size:0x11C
fn_803AB300 = .text:0x803AB300; // type:function size:0xD4
OSRebootSystem = .text:0x803AB100; // type:function size:0xE0
OSShutdownSystem = .text:0x803AB1E0; // type:function size:0x11C
OSRestart = .text:0x803AB300; // type:function size:0xD4
__OSReturnToMenu = .text:0x803AB3E0; // type:function size:0x288 scope:local
OSReturnToMenu = .text:0x803AB670; // type:function size:0x40 scope:global
fn_803AB6B0 = .text:0x803AB6B0; // type:function size:0x40
fn_803AB6F0 = .text:0x803AB6F0; // type:function size:0xA4
fn_803AB7A0 = .text:0x803AB7A0; // type:function size:0x58
OSReturnToDataManager = .text:0x803AB6B0; // type:function size:0x40
__OSReturnToMenuForError = .text:0x803AB6F0; // type:function size:0xA4
__OSHotResetForError = .text:0x803AB7A0; // type:function size:0x58
OSGetResetCode = .text:0x803AB800; // type:function size:0x30 scope:global
OSResetSystem = .text:0x803AB830; // type:function size:0x1C scope:global
fn_803AB850 = .text:0x803AB850; // type:function size:0x138
WriteSramCallback = .text:0x803AB850; // type:function size:0x138
__OSInitSram = .text:0x803AB990; // type:function size:0x200 scope:global
UnlockSram = .text:0x803ABB90; // type:function size:0x2E0 scope:local
__OSSyncSram = .text:0x803ABE70; // type:function size:0x10 scope:global
fn_803ABE80 = .text:0x803ABE80; // type:function size:0x124
__OSReadROM = .text:0x803ABE80; // type:function size:0x124
OSGetWirelessID = .text:0x803ABFB0; // type:function size:0x78
OSSetWirelessID = .text:0x803AC030; // type:function size:0x9C
__OSGetRTCFlags = .text:0x803AC0D0; // type:function size:0x11C scope:global
__OSClearRTCFlags = .text:0x803AC1F0; // type:function size:0x110 scope:global
__OSSystemCallVectorStart = .text:0x803AC300; // type:label scope:global
fn_803AC300 = .text:0x803AC300; // type:function size:0x20
SystemCallVector = .text:0x803AC300; // type:function size:0x20
__OSSystemCallVectorEnd = .text:0x803AC31C; // type:label scope:global
__OSInitSystemCall = .text:0x803AC320; // type:function size:0x60 scope:global
fn_803AC380 = .text:0x803AC380; // type:function size:0x4
DefaultSwitchThreadCallback = .text:0x803AC380; // type:function size:0x4
OSSetSwitchThreadCallback = .text:0x803AC390; // type:function size:0x70
__OSThreadInit = .text:0x803AC400; // type:function size:0x284 scope:global
OSInitThreadQueue = .text:0x803AC690; // type:function size:0x10 scope:global
@@ -22056,31 +22056,31 @@ OSSuspendThread = .text:0x803AD670; // type:function size:0x18C
OSSleepThread = .text:0x803AD800; // type:function size:0xF0 scope:global
OSWakeupThread = .text:0x803AD8F0; // type:function size:0xF8
OSSetThreadPriority = .text:0x803AD9F0; // type:function size:0xEC
OSThreadGetBasePriority = .text:0x803ADAE0; // type:function size:0x8
OSGetThreadPriority = .text:0x803ADAE0; // type:function size:0x8
OSGetTime = .text:0x803ADAF0; // type:function size:0x18 scope:global
OSGetTick = .text:0x803ADB10; // type:function size:0x8 scope:global
__OSGetSystemTime = .text:0x803ADB20; // type:function size:0x64 scope:global
__OSTimeToSystemTime = .text:0x803ADB90; // type:function size:0x58
fn_803ADBF0 = .text:0x803ADBF0; // type:function size:0x32C
OSTicksToCalendarTime = .text:0x803ADBF0; // type:function size:0x32C
OSUTF8to32 = .text:0x803ADF20; // type:function size:0x114
OSUTF16to32 = .text:0x803AE040; // type:function size:0x70
fn_803AE0B0 = .text:0x803AE0B0; // type:function size:0x7C
OSUTF32toANSI = .text:0x803AE0B0; // type:function size:0x7C
OSUTF32toSJIS = .text:0x803AE130; // type:function size:0x40
__OSGetIPCBufferHi = .text:0x803AE170; // type:function size:0x8
__OSGetIPCBufferLo = .text:0x803AE180; // type:function size:0x8
__OSInitIPCBuffer = .text:0x803AE190; // type:function size:0x18 scope:global
fn_803AE1B0 = .text:0x803AE1B0; // type:function size:0xEC
fn_803AE2A0 = .text:0x803AE2A0; // type:function size:0xEC
OSSetResetCallback = .text:0x803AE1B0; // type:function size:0xEC
OSSetPowerCallback = .text:0x803AE2A0; // type:function size:0xEC
__OSInitSTM = .text:0x803AE390; // type:function size:0x118 scope:global
fn_803AE4B0 = .text:0x803AE4B0; // type:function size:0x7C
__OSShutdownToSBY = .text:0x803AE4B0; // type:function size:0x7C
__OSHotReset = .text:0x803AE530; // type:function size:0x74 scope:global
fn_803AE5B0 = .text:0x803AE5B0; // type:function size:0xF8
__OSSetVIForceDimming = .text:0x803AE5B0; // type:function size:0xF8
__OSUnRegisterStateEvent = .text:0x803AE6B0; // type:function size:0x78 scope:global
fn_803AE730 = .text:0x803AE730; // type:function size:0x10
__OSVIDimReplyHandler = .text:0x803AE730; // type:function size:0x10
__OSDefaultResetCallback = .text:0x803AE740; // type:function size:0x4 scope:local
__OSDefaultPowerCallback = .text:0x803AE750; // type:function size:0x4 scope:local
__OSStateEventHandler = .text:0x803AE760; // type:function size:0x154 scope:local
fn_803AE8C0 = .text:0x803AE8C0; // type:function size:0xC
PlayRecordAlarmCallback = .text:0x803AE8C0; // type:function size:0xC
PlayRecordCallback = .text:0x803AE8D0; // type:function size:0x4B4 scope:local
__OSStartPlayRecord = .text:0x803AED90; // type:function size:0x54 scope:global
__OSStopPlayRecord = .text:0x803AEDF0; // type:function size:0x1EC scope:global
@@ -22090,22 +22090,22 @@ __OSInitNet = .text:0x803AF200; // type:function size:0xB4 scope:global
NWC24iPrepareShutdown = .text:0x803AF2C0; // type:function size:0xB8 scope:global
NWC24iSynchronizeRtcCounter = .text:0x803AF380; // type:function size:0x94 scope:global
NWC24SuspendScheduler = .text:0x803AF420; // type:function size:0x100 scope:global
fn_803AF520 = .text:0x803AF520; // type:function size:0x6C
fn_803AF590 = .text:0x803AF590; // type:function size:0xB8
fn_803AF650 = .text:0x803AF650; // type:function size:0x124
fn_803AF780 = .text:0x803AF780; // type:function size:0x1C
fn_803AF7A0 = .text:0x803AF7A0; // type:function size:0xB0
fn_803AF850 = .text:0x803AF850; // type:function size:0x158
NWC24iRequestShutdown = .text:0x803AF520; // type:function size:0x6C
NWC24Shutdown_ = .text:0x803AF590; // type:function size:0xB8
NWC24iSetRtcCounter_ = .text:0x803AF650; // type:function size:0x124
CallbackAsyncIpc = .text:0x803AF780; // type:function size:0x1C
__OSCreateNandbootInfo = .text:0x803AF7A0; // type:function size:0xB0
__OSWriteNandbootInfo = .text:0x803AF850; // type:function size:0x158
OSPlayTimeIsLimited = .text:0x803AF9B0; // type:function size:0x18 scope:global
fn_803AF9D0 = .text:0x803AF9D0; // type:function size:0x1BC
fn_803AFB90 = .text:0x803AFB90; // type:function size:0x114
__OSPlayTimeFadeLastAIDCallback = .text:0x803AF9D0; // type:function size:0x1BC
__OSWriteExpiredFlag = .text:0x803AFB90; // type:function size:0x114
__OSWriteExpiredFlagIfSet = .text:0x803AFCB0; // type:function size:0x18 scope:global
fn_803AFCD0 = .text:0x803AFCD0; // type:function size:0xEC
__OSPlayTimeRebootThread = .text:0x803AFCD0; // type:function size:0xEC
__OSPlayTimeAlarmExpired = .text:0x803AFDC0; // type:function size:0xA0 scope:local
__OSGetPlayTime = .text:0x803AFE60; // type:function size:0x1CC scope:global
__OSInitPlayTime = .text:0x803B0030; // type:function size:0x158 scope:global
OSCalcCRC32 = .text:0x803B0190; // type:function size:0x134
fn_803B02D0 = .text:0x803B02D0; // type:function size:0x204
__OSRelaunchTitle = .text:0x803B02D0; // type:function size:0x204
__init_user = .text:0x803B04E0; // type:function size:0x20 scope:global
__init_cpp = .text:0x803B0500; // type:function size:0x48 scope:local
exit = .text:0x803B0550; // type:function size:0x4C scope:weak
@@ -22131,18 +22131,18 @@ EXIGetID = .text:0x803B1AF0; // type:function size:0x3A8 scope:global
ProbeBarnacle = .text:0x803B1EA0; // type:function size:0x178
__OSEnableBarnacle = .text:0x803B2020; // type:function size:0x1BC scope:global
EXIWriteReg = .text:0x803B21E0; // type:function size:0x188
fn_803B2370 = .text:0x803B2370; // type:function size:0x2F4
CompleteTransfer = .text:0x803B2370; // type:function size:0x2F4
SIInterruptHandler = .text:0x803B2670; // type:function size:0x3EC scope:local
SIInit = .text:0x803B2A60; // type:function size:0xC0 scope:global
fn_803B2B20 = .text:0x803B2B20; // type:function size:0x1B0
__SITransfer = .text:0x803B2B20; // type:function size:0x1B0
SISetXY = .text:0x803B2CD0; // type:function size:0x5C scope:global
fn_803B2D30 = .text:0x803B2D30; // type:function size:0x8C
AlarmHandler = .text:0x803B2D30; // type:function size:0x8C
SITransfer = .text:0x803B2DC0; // type:function size:0x16C scope:global
GetTypeCallback = .text:0x803B2F30; // type:function size:0x2B4 scope:local
SIGetType = .text:0x803B31F0; // type:function size:0x1B4 scope:global
SISetSamplingRate = .text:0x803B33B0; // type:function size:0xD4 scope:global
fn_803B3490 = .text:0x803B3490; // type:function size:0x8
OnShutdown = .text:0x803B34A0; // type:function size:0x198
SIRefreshSamplingRate = .text:0x803B3490; // type:function size:0x8
OnShutdown = .text:0x803B34A0; // type:function size:0x198 scope:local
__VIRetraceHandler = .text:0x803B3640; // type:function size:0x80C
VISetPreRetraceCallback = .text:0x803B3E50; // type:function size:0x44
VISetPostRetraceCallback = .text:0x803B3EA0; // type:function size:0x44
@@ -22170,22 +22170,22 @@ VISetTimeToDimming = .text:0x803B5DC0; // type:function size:0xF8
VIResetDimmingCount = .text:0x803B5EC0; // type:function size:0x14
__VIResetRFIdle = .text:0x803B5EE0; // type:function size:0x10
WaitMicroTime = .text:0x803B5EF0; // type:function size:0x88
sendWorkerAddr = .text:0x803B5F80; // type:function size:0x348
sendSlaveAddr = .text:0x803B5F80; // type:function size:0x348
__VISendI2CData = .text:0x803B62D0; // type:function size:0x534
__VISetYUVSEL = .text:0x803B6810; // type:function size:0xA0
__VISetFilter4EURGB60 = .text:0x803B68B0; // type:function size:0x40
__VISetCGMS = .text:0x803B68F0; // type:function size:0x58
fn_803B6950 = .text:0x803B6950; // type:function size:0x64
__VISetWSS = .text:0x803B6950; // type:function size:0x64
__VISetClosedCaption = .text:0x803B69C0; // type:function size:0x6C
fn_803B6A30 = .text:0x803B6A30; // type:function size:0xD78
fn_803B77B0 = .text:0x803B77B0; // type:function size:0x160
fn_803B7910 = .text:0x803B7910; // type:function size:0x10
__VISetMacrovision = .text:0x803B6A30; // type:function size:0xD78
__VISetGammaImm = .text:0x803B77B0; // type:function size:0x160
__VISetGamma1_0 = .text:0x803B7910; // type:function size:0x10
__VISetGamma = .text:0x803B7920; // type:function size:0x18
__VISetTrapFilter = .text:0x803B7940; // type:function size:0x5C
fn_803B79A0 = .text:0x803B79A0; // type:function size:0x84
fn_803B7A30 = .text:0x803B7A30; // type:function size:0x10
__VISetRGBOverDrive = .text:0x803B79A0; // type:function size:0x84
VISetRGBModeImm = .text:0x803B7A30; // type:function size:0x10
__VISetRGBModeImm = .text:0x803B7A40; // type:function size:0x48 scope:global
fn_803B7A90 = .text:0x803B7A90; // type:function size:0x4AC
__VISetRevolutionModeSimple = .text:0x803B7A90; // type:function size:0x4AC
PSMTXIdentity = .text:0x803B7F40; // type:function size:0x2C
PSMTXCopy = .text:0x803B7F70; // type:function size:0x34
PSMTXConcat = .text:0x803B7FB0; // type:function size:0xCC
@@ -22341,7 +22341,7 @@ GXGetTexObjAll = .text:0x803BF090; // type:function size:0x54
GXGetTexObjData = .text:0x803BF0F0; // type:function size:0xC
GXGetTexObjWidth = .text:0x803BF100; // type:function size:0x14
GXGetTexObjHeight = .text:0x803BF120; // type:function size:0x14
GXGetTexObjFormat = .text:0x803BF140; // type:function size:0x8
GXGetTexObjFmt = .text:0x803BF140; // type:function size:0x8
GXGetTexObjWrapS = .text:0x803BF150; // type:function size:0xC
GXGetTexObjWrapT = .text:0x803BF160; // type:function size:0xC
GXGetTexObjMipMap = .text:0x803BF170; // type:function size:0xC
@@ -22359,7 +22359,7 @@ GXInvalidateTexAll = .text:0x803BF610; // type:function size:0x48
GXSetTexRegionCallback = .text:0x803BF660; // type:function size:0x14
GXSetTlutRegionCallback = .text:0x803BF680; // type:function size:0x14
GXSetTexCoordScaleManually = .text:0x803BF6A0; // type:function size:0x7C
SetTexCoordCylWrap = .text:0x803BF720; // type:function size:0x64
GXSetTexCoordCylWrap = .text:0x803BF720; // type:function size:0x64
GXSetTexCoordBias = .text:0x803BF790; // type:function size:0x64
__SetSURegs = .text:0x803BF800; // type:function size:0x90
__GXSetSUTexRegs = .text:0x803BF890; // type:function size:0x164
@@ -22451,36 +22451,36 @@ DVDCloseDir = .text:0x803C3A50; // type:function size:0x8
StampCommand = .text:0x803C3A60; // type:function size:0xB4
defaultOptionalCommandChecker = .text:0x803C3B20; // type:function size:0x4
DVDInit = .text:0x803C3B30; // type:function size:0x154 scope:global
fn_803C3C90 = .text:0x803C3C90; // type:function size:0x178
fn_803C3E10 = .text:0x803C3E10; // type:function size:0x184
fn_803C3FA0 = .text:0x803C3FA0; // type:function size:0x4
fn_803C3FB0 = .text:0x803C3FB0; // type:function size:0x110
fn_803C40C0 = .text:0x803C40C0; // type:function size:0x14
fn_803C40E0 = .text:0x803C40E0; // type:function size:0x3C
stateReadingFST = .text:0x803C3C90; // type:function size:0x178
cbForStateReadingFST = .text:0x803C3E10; // type:function size:0x184
FatalAlarmHandler = .text:0x803C3FA0; // type:function size:0x4
cbForStateError = .text:0x803C3FB0; // type:function size:0x110
cbForStoreErrorCode1 = .text:0x803C40C0; // type:function size:0x14
cbForStoreErrorCode2 = .text:0x803C40E0; // type:function size:0x3C
CategorizeError = .text:0x803C4120; // type:function size:0xF4
fn_803C4220 = .text:0x803C4220; // type:function size:0xC4
fn_803C42F0 = .text:0x803C42F0; // type:function size:0x504
fn_803C4800 = .text:0x803C4800; // type:function size:0x1E0
cbForStoreErrorCode3 = .text:0x803C4220; // type:function size:0xC4
cbForStateGettingError = .text:0x803C42F0; // type:function size:0x504
cbForUnrecoveredError = .text:0x803C4800; // type:function size:0x1E0
cbForUnrecoveredErrorRetry = .text:0x803C49E0; // type:function size:0xD4
fn_803C4AC0 = .text:0x803C4AC0; // type:function size:0x240
fn_803C4D00 = .text:0x803C4D00; // type:function size:0x338
fn_803C5040 = .text:0x803C5040; // type:function size:0x1A0
fn_803C51E0 = .text:0x803C51E0; // type:function size:0x47C
fn_803C5660 = .text:0x803C5660; // type:function size:0x188
fn_803C57F0 = .text:0x803C57F0; // type:function size:0x164
fn_803C5960 = .text:0x803C5960; // type:function size:0x1C8
fn_803C5B30 = .text:0x803C5B30; // type:function size:0x194
fn_803C5CD0 = .text:0x803C5CD0; // type:function size:0xC4
fn_803C5DA0 = .text:0x803C5DA0; // type:function size:0x250
fn_803C5FF0 = .text:0x803C5FF0; // type:function size:0xE4
fn_803C60E0 = .text:0x803C60E0; // type:function size:0xC8
fn_803C61B0 = .text:0x803C61B0; // type:function size:0x240
fn_803C63F0 = .text:0x803C63F0; // type:function size:0x178
fn_803C6570 = .text:0x803C6570; // type:function size:0xD8
fn_803C6650 = .text:0x803C6650; // type:function size:0x188
fn_803C67E0 = .text:0x803C67E0; // type:function size:0x24
fn_803C6810 = .text:0x803C6810; // type:function size:0x31C
fn_803C6B30 = .text:0x803C6B30; // type:function size:0x5B0
cbForStateGoToRetry = .text:0x803C4AC0; // type:function size:0x240
stateCheckID = .text:0x803C4D00; // type:function size:0x338
cbForStateReadingTOC = .text:0x803C5040; // type:function size:0x1A0
cbForStateReadingPartitionInfo = .text:0x803C51E0; // type:function size:0x47C
cbForStateOpenPartition = .text:0x803C5660; // type:function size:0x188
cbForStateOpenPartition2 = .text:0x803C57F0; // type:function size:0x164
cbForStateCheckID1 = .text:0x803C5960; // type:function size:0x1C8
cbForStateCheckID2 = .text:0x803C5B30; // type:function size:0x194
stateCoverClosed = .text:0x803C5CD0; // type:function size:0xC4
ResetAlarmHandler = .text:0x803C5DA0; // type:function size:0x250
cbForStateReset = .text:0x803C5FF0; // type:function size:0xE4
stateDownRotation = .text:0x803C60E0; // type:function size:0xC8
cbForStateDownRotation = .text:0x803C61B0; // type:function size:0x240
stateCoverClosed_CMD = .text:0x803C63F0; // type:function size:0x178
cbForStateCoverClosed = .text:0x803C6570; // type:function size:0xD8
cbForPrepareCoverRegister = .text:0x803C6650; // type:function size:0x188
CoverAlarmHandler = .text:0x803C67E0; // type:function size:0x24
stateReady = .text:0x803C6810; // type:function size:0x31C
stateBusy = .text:0x803C6B30; // type:function size:0x5B0
cbForStateBusy = .text:0x803C70E0; // type:function size:0x9E0
DVDReadAbsAsyncPrio = .text:0x803C7AC0; // type:function size:0xE4
DVDInquiryAsync = .text:0x803C7BB0; // type:function size:0xD8 scope:global
@@ -22495,7 +22495,7 @@ __BS2DVDLowCallback = .text:0x803C82A0; // type:function size:0x8
__DVDGetCoverStatus = .text:0x803C82B0; // type:function size:0xCC scope:global
DVDCheckDiskAsync = .text:0x803C8380; // type:function size:0x238
__DVDPrepareResetAsync = .text:0x803C85C0; // type:function size:0x11C
Callback2 = .text:0x803C86E0; // type:function size:0xC
Callback = .text:0x803C86E0; // type:function size:0xC scope:local
__DVDPrepareReset = .text:0x803C86F0; // type:function size:0x138 scope:global
__DVDTestAlarm = .text:0x803C8830; // type:function size:0x20
__DVDStopMotorAsync = .text:0x803C8850; // type:function size:0x8
@@ -22506,77 +22506,77 @@ __DVDPopWaitingQueue = .text:0x803C8920; // type:function size:0xA0
__DVDCheckWaitingQueue = .text:0x803C89C0; // type:function size:0x58
__DVDGetNextWaitingQueue = .text:0x803C8A20; // type:function size:0x64
__DVDDequeueWaitingQueue = .text:0x803C8A90; // type:function size:0x60
fn_803C8AF0 = .text:0x803C8AF0; // type:function size:0x2C
fn_803C8B20 = .text:0x803C8B20; // type:function size:0x5C
fn_803C8B80 = .text:0x803C8B80; // type:function size:0xFC
fn_803C8C80 = .text:0x803C8C80; // type:function size:0x154
fn_803C8DE0 = .text:0x803C8DE0; // type:function size:0xBC
fn_803C8EA0 = .text:0x803C8EA0; // type:function size:0xE8
fn_803C8F90 = .text:0x803C8F90; // type:function size:0xA0
fn_803C9030 = .text:0x803C9030; // type:function size:0x100
fn_803C9130 = .text:0x803C9130; // type:function size:0x11C
fn_803C9250 = .text:0x803C9250; // type:function size:0xA0
cbForNandClose = .text:0x803C8AF0; // type:function size:0x2C
cbForNandWrite = .text:0x803C8B20; // type:function size:0x5C
cbForNandSeek = .text:0x803C8B80; // type:function size:0xFC
cbForNandWrite0 = .text:0x803C8C80; // type:function size:0x154
cbForNandSeek2 = .text:0x803C8DE0; // type:function size:0xBC
cbForNandRead = .text:0x803C8EA0; // type:function size:0xE8
cbForNandSeek0 = .text:0x803C8F90; // type:function size:0xA0
cbForNandSeek1 = .text:0x803C9030; // type:function size:0x100
cbForNandOpen = .text:0x803C9130; // type:function size:0x11C
cbForNandCreate = .text:0x803C9250; // type:function size:0xA0
cbForNandCreateDir = .text:0x803C92F0; // type:function size:0x94
fn_803C9390 = .text:0x803C9390; // type:function size:0x90
fn_803C9420 = .text:0x803C9420; // type:function size:0x78
fn_803C94A0 = .text:0x803C94A0; // type:function size:0x68
cbForPrepareControlRegister = .text:0x803C9390; // type:function size:0x90
cbForPrepareStatusRegister = .text:0x803C9420; // type:function size:0x78
__DVDStoreErrorCode = .text:0x803C94A0; // type:function size:0x68
DVDCompareDiskID = .text:0x803C9510; // type:function size:0xF0
__DVDShowFatalMessage = .text:0x803C9600; // type:function size:0xCC scope:global
DVDSetAutoFatalMessaging = .text:0x803C96D0; // type:function size:0x5C scope:global
fn_803C9730 = .text:0x803C9730; // type:function size:0x14
fn_803C9750 = .text:0x803C9750; // type:function size:0x18
__DVDGetAutoFatalMessaging = .text:0x803C9730; // type:function size:0x14
__DVDPrintFatalMessage = .text:0x803C9750; // type:function size:0x18
lowCallback = .text:0x803C9770; // type:function size:0x10 scope:local
__DVDCheckDevice = .text:0x803C9780; // type:function size:0x27C scope:global
fn_803C9A00 = .text:0x803C9A00; // type:function size:0xB8
fn_803C9AC0 = .text:0x803C9AC0; // type:function size:0xBC
fn_803C9B80 = .text:0x803C9B80; // type:function size:0x50
doTransactionCallback = .text:0x803C9A00; // type:function size:0xB8
doPrepareCoverRegisterCallback = .text:0x803C9AC0; // type:function size:0xBC
DVDLowFinalize = .text:0x803C9B80; // type:function size:0x50
DVDLowInit = .text:0x803C9BD0; // type:function size:0x264 scope:global
fn_803C9E40 = .text:0x803C9E40; // type:function size:0x18C
fn_803C9FD0 = .text:0x803C9FD0; // type:function size:0x26C
fn_803CA240 = .text:0x803CA240; // type:function size:0x264
fn_803CA4B0 = .text:0x803CA4B0; // type:function size:0x210
fn_803CA6C0 = .text:0x803CA6C0; // type:function size:0x298
fn_803CA960 = .text:0x803CA960; // type:function size:0x168
DVDLowReadDiskID = .text:0x803C9E40; // type:function size:0x18C
DVDLowOpenPartition = .text:0x803C9FD0; // type:function size:0x26C
DVDLowOpenPartitionWithTmdAndTicketView = .text:0x803CA240; // type:function size:0x264
DVDLowGetNoDiscBufferSizes = .text:0x803CA4B0; // type:function size:0x210
DVDLowGetNoDiscOpenPartitionParams = .text:0x803CA6C0; // type:function size:0x298
DVDLowClosePartition = .text:0x803CA960; // type:function size:0x168
DVDLowUnencryptedRead = .text:0x803CAAD0; // type:function size:0x198 scope:global
fn_803CAC70 = .text:0x803CAC70; // type:function size:0x198
fn_803CAE10 = .text:0x803CAE10; // type:function size:0x16C
DVDLowStopMotor = .text:0x803CAC70; // type:function size:0x198
DVDLowInquiry = .text:0x803CAE10; // type:function size:0x16C
DVDLowRequestError = .text:0x803CAF80; // type:function size:0x168 scope:global
fn_803CB0F0 = .text:0x803CB0F0; // type:function size:0xC
fn_803CB100 = .text:0x803CB100; // type:function size:0x17C
fn_803CB280 = .text:0x803CB280; // type:function size:0x198
DVDLowSetSpinupFlag = .text:0x803CB0F0; // type:function size:0xC
DVDLowReset = .text:0x803CB100; // type:function size:0x17C
DVDLowAudioBufferConfig = .text:0x803CB280; // type:function size:0x198
DVDLowReportKey = .text:0x803CB420; // type:function size:0x198 scope:global
fn_803CB5C0 = .text:0x803CB5C0; // type:function size:0x184
fn_803CB750 = .text:0x803CB750; // type:function size:0x1B0
fn_803CB900 = .text:0x803CB900; // type:function size:0x180
fn_803CBA80 = .text:0x803CBA80; // type:function size:0x10
fn_803CBA90 = .text:0x803CBA90; // type:function size:0xC
fn_803CBAA0 = .text:0x803CBAA0; // type:function size:0xC
fn_803CBAB0 = .text:0x803CBAB0; // type:function size:0x16C
fn_803CBC20 = .text:0x803CBC20; // type:function size:0x16C
fn_803CBD90 = .text:0x803CBD90; // type:function size:0x16C
DVDLowSetMaximumRotation = .text:0x803CB5C0; // type:function size:0x184
DVDLowRead = .text:0x803CB750; // type:function size:0x1B0
DVDLowSeek = .text:0x803CB900; // type:function size:0x180
DVDLowGetCoverRegister = .text:0x803CBA80; // type:function size:0x10
DVDLowGetStatusRegister = .text:0x803CBA90; // type:function size:0xC
DVDLowGetControlRegister = .text:0x803CBAA0; // type:function size:0xC
DVDLowPrepareCoverRegister = .text:0x803CBAB0; // type:function size:0x16C
DVDLowPrepareStatusRegister = .text:0x803CBC20; // type:function size:0x16C
DVDLowPrepareControlRegister = .text:0x803CBD90; // type:function size:0x16C
DVDLowGetImmBufferReg = .text:0x803CBF00; // type:function size:0xC scope:global
DVDLowUnmaskStatusInterrupts = .text:0x803CBF10; // type:function size:0x8 scope:global
DVDLowMaskCoverInterrupt = .text:0x803CBF20; // type:function size:0x8 scope:global
fn_803CBF30 = .text:0x803CBF30; // type:function size:0x168
fn_803CC0A0 = .text:0x803CC0A0; // type:function size:0x8
DVDLowClearCoverInterrupt = .text:0x803CBF30; // type:function size:0x168
__DVDLowTestAlarm = .text:0x803CC0A0; // type:function size:0x8
FindContainHeap_ = .text:0x803CC0B0; // type:function size:0x140
MemSearchHandleInner = .text:0x803CC1F0; // type:function size:0x14C
MEMInitHeapHead = .text:0x803CC340; // type:function size:0x1C0
fn_803CC500 = .text:0x803CC500; // type:function size:0x16C
findSomethingInListObject = .text:0x803CC670; // type:function size:0x140
MEMFindContainHeap = .text:0x803CC7B0; // type:function size:0x18C
FindParentHeap_ = .text:0x803CC1F0; // type:function size:0x14C
MEMiInitHeapHead = .text:0x803CC340; // type:function size:0x1C0
MEMiFinalizeHeap = .text:0x803CC500; // type:function size:0x16C
MEMFindContainHeap = .text:0x803CC670; // type:function size:0x140
MEMFindParentHeap = .text:0x803CC7B0; // type:function size:0x18C
AllocUsedBlockFromFreeBlock_ = .text:0x803CC940; // type:function size:0x22C
AllocFromHead_ = .text:0x803CCB70; // type:function size:0xDC
AllocFromTail_ = .text:0x803CCC50; // type:function size:0xC8
fn_803CCD20 = .text:0x803CCD20; // type:function size:0x168
RecycleRegion_ = .text:0x803CCD20; // type:function size:0x168
MEMCreateExpHeapEx = .text:0x803CCE90; // type:function size:0xB0
MEMDestroyExpHeap = .text:0x803CCF40; // type:function size:0x30
MEMAllocFromExpHeapEx = .text:0x803CCF70; // type:function size:0xB0
MEMResizeForMBlockExpHeap = .text:0x803CD020; // type:function size:0x1FC
MEMFreeToExpHeap = .text:0x803CD220; // type:function size:0xC4
MEMGetAllocatableSizeForExpHeap = .text:0x803CD2F0; // type:function size:0x7C
MEMGetTotalFreeSizeForExpHeap = .text:0x803CD2F0; // type:function size:0x7C
MEMGetAllocatableSizeForExpHeapEx = .text:0x803CD370; // type:function size:0xD8
MEMSetGroupIdForExpHeap = .text:0x803CD450; // type:function size:0x58
MEMSetAllocModeForExpHeap = .text:0x803CD450; // type:function size:0x58
MEMGetSizeForMBlockExpHeap = .text:0x803CD4B0; // type:function size:0x8
MEMAdjustExpHeap = .text:0x803CD4C0; // type:function size:0xD8
MEMCreateFrmHeapEx = .text:0x803CD5A0; // type:function size:0x84
@@ -22593,9 +22593,9 @@ AllocatorFreeForExpHeap_ = .text:0x803CDBB0; // type:function size:0x8
MEMAllocFromAllocator = .text:0x803CDBC0; // type:function size:0x10
MEMFreeToAllocator = .text:0x803CDBD0; // type:function size:0x10
MEMInitAllocatorForExpHeap = .text:0x803CDBE0; // type:function size:0x1C
fn_803CDC00 = .text:0x803CDC00; // type:function size:0x18
fn_803CDC20 = .text:0x803CDC20; // type:function size:0x70
fn_803CDC90 = .text:0x803CDC90; // type:function size:0x6C
MEMInitList = .text:0x803CDC00; // type:function size:0x18
MEMAppendListObject = .text:0x803CDC20; // type:function size:0x70
MEMRemoveListObject = .text:0x803CDC90; // type:function size:0x6C
MEMGetNextListObject = .text:0x803CDD00; // type:function size:0x20
DSPCheckMailToDSP = .text:0x803CDD20; // type:function size:0x10
DSPCheckMailFromDSP = .text:0x803CDD30; // type:function size:0x10
@@ -26217,7 +26217,7 @@ free__Q23EGG7ExpHeapFPv = .text:0x80495E50; // type:function size:0x68
resizeForMBlock__Q23EGG7ExpHeapFPvUl = .text:0x80495EC0; // type:function size:0x8
getTotalFreeSize__Q23EGG7ExpHeapFv = .text:0x80495ED0; // type:function size:0x8
getAllocatableSize__Q23EGG7ExpHeapFl = .text:0x80495EE0; // type:function size:0x8
setGroupID__Q23EGG7ExpHeapFUs = .text:0x80495EF0; // type:function size:0x8
setAllocMode__Q23EGG7ExpHeapFUs = .text:0x80495EF0; // type:function size:0x8
adjust__Q23EGG7ExpHeapFv = .text:0x80495F00; // type:function size:0x78
getSizeForMBlock__Q23EGG7ExpHeapFPCv = .text:0x80495F80; // type:function size:0x4
getHeapKind__Q23EGG7ExpHeapCFv = .text:0x80495F90; // type:function size:0x8
@@ -37811,8 +37811,8 @@ lbl_8054D810 = .data:0x8054D810; // type:object size:0x48
lbl_8054D858 = .data:0x8054D858; // type:object size:0xA data:string
lbl_8054D864 = .data:0x8054D864; // type:object size:0x15 data:string
lbl_8054D880 = .data:0x8054D880; // type:object size:0x48
lbl_8054D8C8 = .data:0x8054D8C8; // type:object size:0x24
lbl_8054D8EC = .data:0x8054D8EC; // type:object size:0x4C
lbl_8054D8C8 = .data:0x8054D8C8; // type:object size:0x22 data:string
lbl_8054D8EC = .data:0x8054D8EC; // type:object size:0x46 data:string
lbl_8054D938 = .data:0x8054D938; // type:object size:0x48
lbl_8054D980 = .data:0x8054D980; // type:object size:0x80
lbl_8054DA00 = .data:0x8054DA00; // type:object size:0x20
@@ -38043,7 +38043,8 @@ lbl_80560F94 = .data:0x80560F94; // type:object size:0x3C
lbl_80560FD0 = .data:0x80560FD0; // type:object size:0x3C data:string
lbl_8056100C = .data:0x8056100C; // type:object size:0x3C
lbl_80561048 = .data:0x80561048; // type:object size:0x30
lbl_80561078 = .data:0x80561078; // type:object size:0x60
@3815 = .data:0x80561078; // type:object size:0x32 scope:local data:string
lbl_805610AA = .data:0x805610AA; // type:object size:0x2E
lbl_805610D8 = .data:0x805610D8; // type:object size:0xEA8
lbl_80561F80 = .data:0x80561F80; // type:object size:0x80
lbl_80562000 = .data:0x80562000; // type:object size:0x140
@@ -38818,7 +38819,7 @@ lbl_80570928 = .data:0x80570928; // type:object size:0x1C
lbl_80570944 = .data:0x80570944; // type:object size:0x34
lbl_80570978 = .data:0x80570978; // type:object size:0x18
lbl_80570990 = .data:0x80570990; // type:object size:0x28
lbl_805709B8 = .data:0x805709B8; // type:object size:0x48
_current_locale = .data:0x805709B8; // type:object size:0x48
jumptable_80570A00 = .data:0x80570A00; // type:object size:0xE0 scope:local
@2934 = .data:0x80570AE0; // type:object size:0x150 scope:local
jumptable_80570C30 = .data:0x80570C30; // type:object size:0xE0 scope:local
@@ -40904,7 +40905,7 @@ lbl_805748E0 = .sdata:0x805748E0; // type:object size:0x8
lbl_805748E8 = .sdata:0x805748E8; // type:object size:0x8
__KPRVersion = .sdata:0x805748F0; // type:object size:0x8 data:4byte
__AIVersion = .sdata:0x805748F8; // type:object size:0x8 data:4byte
lbl_80574900 = .sdata:0x80574900; // type:object size:0x8
lbl_80574900 = .sdata:0x80574900; // type:object size:0x6 data:string
lbl_80574908 = .sdata:0x80574908; // type:object size:0x8 data:4byte
lbl_80574910 = .sdata:0x80574910; // type:object size:0x2 data:2byte
lbl_80574912 = .sdata:0x80574912; // type:object size:0x2 data:2byte
@@ -42035,7 +42036,7 @@ lbl_80575FD8 = .sbss:0x80575FD8; // type:object size:0x4 data:4byte
lbl_80575FDC = .sbss:0x80575FDC; // type:object size:0x4 data:4byte
__OSArenaHi = .sbss:0x80575FE0; // type:object size:0x4 scope:local data:4byte
s_mem2ArenaHi = .sbss:0x80575FE4; // type:object size:0x4 scope:local data:4byte
lbl_80575FE8 = .sbss:0x80575FE8; // type:object size:0x4 data:4byte
__OSNextPartitionType = .sbss:0x80575FE8; // type:object size:0x4 data:4byte
lbl_80575FEC = .sbss:0x80575FEC; // type:object size:0x4 data:4byte
lbl_80575FF0 = .sbss:0x80575FF0; // type:object size:0x4 data:4byte
__OSInReboot = .sbss:0x80575FF4; // type:object size:0x4 scope:global data:4byte
@@ -42169,17 +42170,17 @@ FstStringStart = .sbss:0x80576244; // type:object size:0x4 scope:local data:4byt
FstStart = .sbss:0x80576248; // type:object size:0x4 scope:local data:4byte
BootInfo = .sbss:0x8057624C; // type:object size:0x4 scope:local data:4byte
lbl_80576260 = .sbss:0x80576260; // type:object size:0x4 data:4byte
lbl_80576264 = .sbss:0x80576264; // type:object size:0x4 data:4byte
PauseFlag = .sbss:0x80576264; // type:object size:0x4 scope:local data:4byte
PausingFlag = .sbss:0x80576268; // type:object size:0x4 scope:local data:4byte
FatalErrorFlag = .sbss:0x8057626C; // type:object size:0x4 scope:local data:4byte
lbl_80576270 = .sbss:0x80576270; // type:object size:0x4 data:4byte
lbl_80576274 = .sbss:0x80576274; // type:object size:0x4 data:4byte
ResumeFromHere = .sbss:0x80576274; // type:object size:0x4 scope:local data:4byte
lbl_80576278 = .sbss:0x80576278; // type:object size:0x4 data:4byte
FirstTimeInBootrom = .sbss:0x8057627C; // type:object size:0x4 scope:local data:4byte
lbl_80576280 = .sbss:0x80576280; // type:object size:0x4 data:4byte
lbl_80576284 = .sbss:0x80576284; // type:object size:0x4 data:4byte
lbl_80576288 = .sbss:0x80576288; // type:object size:0x4 data:4byte
lbl_8057628C = .sbss:0x8057628C; // type:object size:0x4 data:4byte
WaitingForCoverOpen = .sbss:0x80576284; // type:object size:0x4 scope:local data:4byte
WaitingForCoverClose = .sbss:0x80576288; // type:object size:0x4 scope:local data:4byte
MotorStopped = .sbss:0x8057628C; // type:object size:0x4 scope:local data:4byte
lbl_80576290 = .sbss:0x80576290; // type:object size:0x4 data:4byte
lbl_80576294 = .sbss:0x80576294; // type:object size:0x4 data:4byte
__DVDLayoutFormat = .sbss:0x80576298; // type:object size:0x4 scope:global data:4byte
@@ -42195,28 +42196,28 @@ lbl_805762CC = .sbss:0x805762CC; // type:object size:0x4 data:4byte
MotorState = .sbss:0x805762D0; // type:object size:0x4 scope:local data:4byte
lbl_805762D4 = .sbss:0x805762D4; // type:object size:0x4 data:4byte
lbl_805762D8 = .sbss:0x805762D8; // type:object size:0x4 data:4byte
lbl_805762DC = .sbss:0x805762DC; // type:object size:0x4 data:4byte
CancelLastError = .sbss:0x805762DC; // type:object size:0x4 scope:local data:4byte
lbl_805762E0 = .sbss:0x805762E0; // type:object size:0x4 data:4byte
lbl_805762E4 = .sbss:0x805762E4; // type:object size:0x4 data:4byte
CurrCommand = .sbss:0x805762E4; // type:object size:0x4 scope:local data:4byte
bootInfo = .sbss:0x805762E8; // type:object size:0x4 scope:local data:4byte
IDShouldBe = .sbss:0x805762EC; // type:object size:0x4 scope:local data:4byte
executing = .sbss:0x805762F0; // type:object size:0x4 scope:local data:4byte
lbl_805762F4 = .sbss:0x805762F4; // type:object size:0x4 data:4byte
lbl_805762F8 = .sbss:0x805762F8; // type:object size:0x4 data:4byte
lbl_805762FC = .sbss:0x805762FC; // type:object size:0x4 data:4byte
lbl_80576300 = .sbss:0x80576300; // type:object size:0x8 data:4byte
Callback = .sbss:0x80576300; // type:object size:0x4 scope:local data:4byte
FatalFunc = .sbss:0x80576308; // type:object size:0x4 scope:local data:4byte
lowIntType = .sbss:0x80576310; // type:object size:0x4 scope:local data:4byte
lbl_80576318 = .sbss:0x80576318; // type:object size:0x1 data:byte
requestInProgress = .sbss:0x80576318; // type:object size:0x1 scope:local data:byte
lbl_80576319 = .sbss:0x80576319; // type:object size:0x1 data:byte
lbl_8057631C = .sbss:0x8057631C; // type:object size:0x4 data:4byte
lbl_80576320 = .sbss:0x80576320; // type:object size:0x4 data:4byte
freeCommandBuf = .sbss:0x8057631C; // type:object size:0x4 scope:local data:4byte
freeDvdContext = .sbss:0x80576320; // type:object size:0x4 scope:local data:4byte
lbl_80576324 = .sbss:0x80576324; // type:object size:0x1 data:byte
lbl_80576325 = .sbss:0x80576325; // type:object size:0x1 data:byte
lbl_80576328 = .sbss:0x80576328; // type:object size:0x4 data:4byte
spinUpValue = .sbss:0x80576328; // type:object size:0x4 scope:local data:4byte
lbl_8057632C = .sbss:0x8057632C; // type:object size:0x4 data:4byte
lbl_80576330 = .sbss:0x80576330; // type:object size:0x4 data:4byte
lbl_80576334 = .sbss:0x80576334; // type:object size:0x4 data:4byte
diCommand = .sbss:0x80576334; // type:object size:0x4 scope:local data:4byte
lbl_80576338 = .sbss:0x80576338; // type:object size:0x8 data:byte
lbl_80576340 = .sbss:0x80576340; // type:object size:0x8 data:4byte
lbl_80576348 = .sbss:0x80576348; // type:object size:0x8 data:4byte
@@ -49253,8 +49254,7 @@ lbl_8057E700 = .sdata2:0x8057E700; // type:object size:0x4 align:4 data:float
lbl_8057E704 = .sdata2:0x8057E704; // type:object size:0x4 align:4 data:float
lbl_8057E708 = .sdata2:0x8057E708; // type:object size:0x4 align:4 data:float
lbl_8057E710 = .sdata2:0x8057E710; // type:object size:0x8 align:8 data:double
lbl_8057E718 = .sdata2:0x8057E718; // type:object size:0x4 data:4byte
lbl_8057E71C = .sdata2:0x8057E71C; // type:object size:0x4 data:4byte
lbl_8057E718 = .sdata2:0x8057E718; // type:object size:0x8 data:4byte
lbl_8057E720 = .sdata2:0x8057E720; // type:object size:0x4 align:4 data:float
lbl_8057E728 = .sdata2:0x8057E728; // type:object size:0x8 align:8 data:double
__EXIFreq = .sdata2:0x8057E730; // type:object size:0x8 data:4byte
@@ -51824,7 +51824,7 @@ __DVDTmdBuffer = .bss:0x805E9140; // type:object size:0x4A00 scope:local
lbl_805EDB40 = .bss:0x805EDB40; // type:object size:0x20
DummyCommandBlock = .bss:0x805EDB60; // type:object size:0x30 scope:local
lbl_805EDB90 = .bss:0x805EDB90; // type:object size:0x30
lbl_805EDBC0 = .bss:0x805EDBC0; // type:object size:0x40
CoverAlarm = .bss:0x805EDBC0; // type:object size:0x30 scope:local
lbl_805EDC00 = .bss:0x805EDC00; // type:object size:0x20
lbl_805EDC20 = .bss:0x805EDC20; // type:object size:0x20
lbl_805EDC40 = .bss:0x805EDC40; // type:object size:0x20
@@ -51835,8 +51835,8 @@ lbl_805EDD20 = .bss:0x805EDD20; // type:object size:0x8C
lbl_805EDDAC = .bss:0x805EDDAC; // type:object size:0xD4
__ErrorInfo = .bss:0x805EDE80; // type:object size:0x80 scope:global data:byte
CheckBuffer = .bss:0x805EDF80; // type:object size:0x20 scope:local
lbl_805EDFA0 = .bss:0x805EDFA0; // type:object size:0x80 data:4byte
lbl_805EE020 = .bss:0x805EE020; // type:object size:0x20 data:4byte
dvdContexts = .bss:0x805EDFA0; // type:object size:0x80 scope:local data:4byte
diRegValCache = .bss:0x805EE020; // type:object size:0x20 scope:local data:4byte
lbl_805EE040 = .bss:0x805EE040; // type:object size:0x20 data:4byte
lbl_805EE060 = .bss:0x805EE060; // type:object size:0xC0 data:4byte
lbl_805EE120 = .bss:0x805EE120; // type:object size:0x20 data:4byte
+89 -10
View File
@@ -1314,16 +1314,95 @@ config.libs = [
Object(NonMatching, "revolution/thp/THPAudio.c"),
Object(NonMatching, "revolution/kpr/kpr_lib.c"),
Object(NonMatching, "revolution/ai/ai.c"),
Object(NonMatching, "RVL_SDK/arc/ARC.c"),
Object(NonMatching, "RVL_SDK/ax/AX.c"),
Object(NonMatching, "RVL_SDK/os/OS.c"),
Object(NonMatching, "RVL_SDK/exi/EXI.c"),
Object(NonMatching, "RVL_SDK/si/SI.c"),
Object(NonMatching, "RVL_SDK/vi/VI.c"),
Object(NonMatching, "RVL_SDK/mtx/MTX.c"),
Object(NonMatching, "RVL_SDK/gx/GX.c"),
Object(NonMatching, "RVL_SDK/dvd/DVD.c"),
Object(NonMatching, "RVL_SDK/mem/MEM.c"),
Object(NonMatching, "revolution/arc/arc.c"),
Object(NonMatching, "revolution/ax/AX.c"),
Object(NonMatching, "revolution/ax/AXAlloc.c"),
Object(NonMatching, "revolution/ax/AXAux.c"),
Object(NonMatching, "revolution/ax/AXCL.c"),
Object(NonMatching, "revolution/ax/AXOut.c"),
Object(NonMatching, "revolution/ax/AXSPB.c"),
Object(NonMatching, "revolution/ax/AXVPB.c"),
Object(NonMatching, "revolution/ax/AXProf.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbHi.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbHiExp.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbStdExp.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbStdExpDpl2.c"),
Object(NonMatching, "revolution/axfx/AXFXHooks.c"),
Object(NonMatching, "revolution/base/PPCArch.c"),
Object(NonMatching, "revolution/os/OS.c"),
Object(NonMatching, "revolution/os/OSAlarm.c"),
Object(NonMatching, "revolution/os/OSAlloc.c"),
Object(NonMatching, "revolution/os/OSArena.c"),
Object(NonMatching, "revolution/os/OSAudioSystem.c"),
Object(NonMatching, "revolution/os/OSCache.c"),
Object(NonMatching, "revolution/os/OSContext.c"),
Object(NonMatching, "revolution/os/OSError.c"),
Object(NonMatching, "revolution/os/OSExec.c"),
Object(NonMatching, "revolution/os/OSFatal.c"),
Object(NonMatching, "revolution/os/OSFont.c"),
Object(NonMatching, "revolution/os/OSInterrupt.c"),
Object(NonMatching, "revolution/os/OSLink.c"),
Object(NonMatching, "revolution/os/OSMessage.c"),
Object(NonMatching, "revolution/os/OSMemory.c"),
Object(NonMatching, "revolution/os/OSMutex.c"),
Object(NonMatching, "revolution/os/OSReboot.c"),
Object(NonMatching, "revolution/os/OSReset.c"),
Object(NonMatching, "revolution/os/OSRtc.c"),
Object(NonMatching, "revolution/os/OSSync.c"),
Object(NonMatching, "revolution/os/OSThread.c"),
Object(NonMatching, "revolution/os/OSTime.c"),
Object(NonMatching, "revolution/os/OSUtf.c"),
Object(NonMatching, "revolution/os/OSIpc.c"),
Object(NonMatching, "revolution/os/OSStateTM.c"),
Object(NonMatching, "revolution/os/OSPlayRecord.c"),
Object(NonMatching, "revolution/os/OSStateFlags.c"),
Object(NonMatching, "revolution/os/OSNet.c"),
Object(NonMatching, "revolution/os/OSNandbootInfo.c"),
Object(NonMatching, "revolution/os/OSPlayTime.c"),
Object(NonMatching, "revolution/os/OSCrc.c"),
Object(NonMatching, "revolution/os/OSLaunch.c"),
Object(NonMatching, "revolution/os/__ppc_eabi_init.c"),
Object(NonMatching, "revolution/exi/EXIBios.c"),
Object(NonMatching, "revolution/exi/EXIUart.c"),
Object(NonMatching, "revolution/exi/EXICommon.c"),
Object(NonMatching, "revolution/si/SIBios.c"),
Object(NonMatching, "revolution/si/SISamplingRate.c"),
Object(NonMatching, "revolution/vi/vi.c"),
Object(NonMatching, "revolution/vi/i2c.c"),
Object(NonMatching, "revolution/vi/vi3in1.c"),
Object(NonMatching, "revolution/mtx/mtx.c"),
Object(NonMatching, "revolution/mtx/mtxvec.c"),
Object(NonMatching, "revolution/mtx/mtx44.c"),
Object(NonMatching, "revolution/mtx/vec.c"),
Object(NonMatching, "revolution/mtx/quat.c"),
Object(NonMatching, "revolution/gx/GXInit.c"),
Object(NonMatching, "revolution/gx/GXFifo.c"),
Object(NonMatching, "revolution/gx/GXAttr.c"),
Object(NonMatching, "revolution/gx/GXMisc.c"),
Object(NonMatching, "revolution/gx/GXGeometry.c"),
Object(NonMatching, "revolution/gx/GXFrameBuf.c"),
Object(NonMatching, "revolution/gx/GXLight.c"),
Object(NonMatching, "revolution/gx/GXTexture.c"),
Object(NonMatching, "revolution/gx/GXBump.c"),
Object(NonMatching, "revolution/gx/GXTev.c"),
Object(NonMatching, "revolution/gx/GXPixel.c"),
Object(NonMatching, "revolution/gx/GXDraw.c"),
Object(NonMatching, "revolution/gx/GXDisplayList.c"),
Object(NonMatching, "revolution/gx/GXTransform.c"),
Object(NonMatching, "revolution/gx/GXPerf.c"),
Object(NonMatching, "revolution/dvd/dvdfs.c"),
Object(NonMatching, "revolution/dvd/dvd.c"),
Object(NonMatching, "revolution/dvd/dvdqueue.c"),
Object(NonMatching, "revolution/dvd/dvderror.c"),
Object(NonMatching, "revolution/dvd/dvdidutils.c"),
Object(NonMatching, "revolution/dvd/dvdFatal.c"),
Object(NonMatching, "revolution/dvd/dvdDeviceError.c"),
Object(NonMatching, "revolution/dvd/dvd_broadway.c"),
Object(NonMatching, "revolution/mem/mem_heapCommon.c"),
Object(NonMatching, "revolution/mem/mem_expHeap.c"),
Object(NonMatching, "revolution/mem/mem_frameHeap.c"),
Object(NonMatching, "revolution/mem/mem_allocator.c"),
Object(NonMatching, "revolution/mem/mem_list.c"),
Object(NonMatching, "RVL_SDK/dsp/DSP.c"),
Object(NonMatching, "RVL_SDK/es/ES.c"),
Object(NonMatching, "RVL_SDK/cx/CX.c"),
+1 -1
View File
@@ -24,7 +24,7 @@ public:
ExpHeap(MEMiHeapHead *heapHead);
static ExpHeap *create(void *block, size_t size, u16 attr);
static ExpHeap *create(size_t size, Heap *heap, u16 attr);
void setGroupID(u16 groupId);
void setAllocMode(u16 allocMode);
static u32 getSizeForMBlock(const void *block);
// Placement new for ::create
+1 -1
View File
@@ -52,7 +52,7 @@ void GXSetTexCoordBias(GXTexCoordID, GXBool, GXBool);
u16 GXGetTexObjWidth(const GXTexObj *obj);
u16 GXGetTexObjHeight(const GXTexObj *obj);
GXTexFmt GXGetTexObjFormat(const GXTexObj *obj);
GXTexFmt GXGetTexObjFmt(const GXTexObj *obj);
GXBool GXGetTexObjMipMap(const GXTexObj *obj);
GXTexWrapMode GXGetTexObjWrapS(const GXTexObj *obj);
u32 GXGetTexObjTlut(const GXTexObj *);
+3 -1
View File
@@ -56,10 +56,12 @@ void *MEMAllocFromExpHeapEx(struct MEMiHeapHead *heap, u32 size, s32 align);
u32 MEMResizeForMBlockExpHeap(struct MEMiHeapHead *heap, void *memBlock, u32 size);
void MEMFreeToExpHeap(struct MEMiHeapHead *heap, void *memBlock);
u32 MEMGetAllocatableSizeForExpHeap(struct MEMiHeapHead *heap);
u32 MEMGetTotalFreeSizeForExpHeap(struct MEMiHeapHead *heap);
u32 MEMGetAllocatableSizeForExpHeapEx(struct MEMiHeapHead *heap, s32 align);
void MEMSetGroupIdForExpHeap(MEMiHeapHead *mHeapHandle, u16 groupId);
void MEMSetGroupIdForExpHeap(struct MEMiHeapHead *mHeapHandle, u16 groupId);
u32 MEMAdjustExpHeap(struct MEMiHeapHead *heap);
u32 MEMGetSizeForMBlockExpHeap(const void *block);
void MEMSetAllocModeForExpHeap(struct MEMiHeapHead *heap, u16 allocMode);
static inline struct MEMiHeapHead *MEMCreateExpHeap(void *start, u32 size) {
return MEMCreateExpHeapEx(start, size, 0);
+1
View File
@@ -37,6 +37,7 @@ typedef struct MEMiHeapHead {
void MEMiInitHeapHead(MEMiHeapHead *heap, u32 magic, void *start, void *end, u16 opt);
void MEMiFinalizeHeap(MEMiHeapHead *heap);
MEMiHeapHead *MEMFindContainHeap(const void *memBlock);
MEMiHeapHead *MEMFindParentHeap(const MEMiHeapHead *pHandle);
static inline int GetUIntPtr(const void *p) {
return (int)p;
+1
View File
@@ -27,6 +27,7 @@ typedef struct OSContext {
f64 psfs[32]; // at 0x1C8
} OSContext;
void OSFillFPUContext(OSContext *ctx);
void OSSaveFPUContext(OSContext *ctx);
void OSSetCurrentContext(OSContext *ctx);
OSContext *OSGetCurrentContext(void);
+11
View File
@@ -11,11 +11,22 @@ extern "C" {
#define OS_MEM_IS_MEM1(addr) (((u32)(addr) & 0x30000000) == 0)
#define OS_MEM_IS_MEM2(addr) (((u32)(addr) & 0x30000000) == 0x10000000)
#define OS_PROTECT_CHAN0 0
#define OS_PROTECT_CHAN1 1
#define OS_PROTECT_CHAN2 2
#define OS_PROTECT_CHAN3 3
#define OS_PROTECT_CONTROL_NONE 0x00
#define OS_PROTECT_CONTROL_READ 0x01
#define OS_PROTECT_CONTROL_WRITE 0x02
#define OS_PROTECT_CONTROL_RDWR (OS_PROTECT_CONTROL_READ | OS_PROTECT_CONTROL_WRITE)
u32 OSGetPhysicalMem1Size(void);
u32 OSGetPhysicalMem2Size(void);
u32 OSGetConsoleSimulatedMem1Size(void);
u32 OSGetConsoleSimulatedMem2Size(void);
void __OSInitMemoryProtection(void);
void OSProtectRange(u32 chan, void* addr, u32 nBytes, u32 control);
#ifdef __cplusplus
}
+1 -1
View File
@@ -32,7 +32,7 @@ void dHeapAllocator::onAlloc(EGG::HeapAllocArg *arg) {
EGG::ExpHeap *dHeap::init(const char *name, size_t size, EGG::Heap *parent) {
heap = EGG::ExpHeap::create(size, parent, 4);
if (heap != nullptr) {
heap->setGroupID(0);
heap->setAllocMode(0);
heap->mName = name;
}
return heap;
+3 -3
View File
@@ -100,15 +100,15 @@ u32 ExpHeap::resizeForMBlock(void *block, u32 size) {
}
u32 ExpHeap::getTotalFreeSize() {
return MEMGetAllocatableSizeForExpHeap(mHeapHandle);
return MEMGetTotalFreeSizeForExpHeap(mHeapHandle);
}
u32 ExpHeap::getAllocatableSize(s32 align) {
return MEMGetAllocatableSizeForExpHeapEx(mHeapHandle, align);
}
void ExpHeap::setGroupID(u16 groupId) {
MEMSetGroupIdForExpHeap(mHeapHandle, groupId);
void ExpHeap::setAllocMode(u16 allocMode) {
MEMSetAllocModeForExpHeap(mHeapHandle, allocMode);
}
u32 ExpHeap::adjust() {
+3 -5
View File
@@ -106,7 +106,7 @@ Heap *Heap::findHeap(MEMiHeapHead *head) {
/* 80495730 */
Heap *Heap::findParentHeap() {
Heap *retHeap = nullptr;
MEMiHeapHead *heap = MEMFindContainHeap(mHeapHandle);
MEMiHeapHead *heap = MEMFindParentHeap(mHeapHandle);
if (heap) {
retHeap = findHeap(heap);
}
@@ -114,12 +114,10 @@ Heap *Heap::findParentHeap() {
return retHeap;
}
extern "C" MEMiHeapHead *findSomethingInListObject(const void *memBlock);
/* 80495780 */
Heap *Heap::findContainHeap(const void *memBlock) {
Heap *retHeap = nullptr;
MEMiHeapHead *heap = findSomethingInListObject(memBlock);
MEMiHeapHead *heap = MEMFindContainHeap(memBlock);
if (heap) {
retHeap = findHeap(heap);
}
@@ -130,7 +128,7 @@ Heap *Heap::findContainHeap(const void *memBlock) {
/* 804957c0 */
void Heap::free(void *ptr, Heap *heap) {
if (heap == nullptr) {
MEMiHeapHead *iheap = findSomethingInListObject(ptr);
MEMiHeapHead *iheap = MEMFindContainHeap(ptr);
if (iheap == nullptr) {
return;
}
+1 -1
View File
@@ -98,7 +98,7 @@ CpuTexture::CpuTexture(const GXTexObj *pObj) {
mWidth = GXGetTexObjWidth(pObj);
mHeight = GXGetTexObjHeight(pObj);
mTexFormat = GXGetTexObjFormat(pObj);
mTexFormat = GXGetTexObjFmt(pObj);
mWrapS = GXGetTexObjWrapS(pObj);
mWrapT = GXGetTexObjWrapT(pObj);
mMinFilt = GXGetTexObjMinFilt(pObj);
+1 -1
View File
@@ -149,7 +149,7 @@ mHeap::~mHeap() {
EGG::ExpHeap *mHeap::createHeap(size_t size, EGG::Heap *block, const char *name) {
EGG::ExpHeap *heap = EGG::ExpHeap::create(size, block, 4);
if (heap != nullptr) {
heap->setGroupID(0);
heap->setAllocMode(0);
if (name != nullptr) {
heap->mName = name;
}
+4 -6
View File
@@ -74,8 +74,6 @@ void Exception_Init() {
}
extern "C" u32 PPCMfmsr();
extern "C" void PPCMtmsr(u32);
extern "C" void OSFillFPUContext(OSContext *ctx);
extern "C" void fn_803AA2E0(u32, u32, u32, u32);
static void DumpException_(const ExceptionCallbackParam *);
@@ -85,10 +83,10 @@ void ErrorHandler_(u16 error, OSContext *ctx, u32 dsisr, u32 dar) {
OSFillFPUContext(ctx);
OSSetErrorHandler(error, nullptr);
if (error == 0xf) {
fn_803AA2E0(0, 0, 0, 3);
fn_803AA2E0(1, 0, 0, 3);
fn_803AA2E0(2, 0, 0, 3);
fn_803AA2E0(3, 0, 0, 3);
OSProtectRange(OS_PROTECT_CHAN0, 0, 0, OS_PROTECT_CONTROL_RDWR);
OSProtectRange(OS_PROTECT_CHAN1, 0, 0, OS_PROTECT_CONTROL_RDWR);
OSProtectRange(OS_PROTECT_CHAN2, 0, 0, OS_PROTECT_CONTROL_RDWR);
OSProtectRange(OS_PROTECT_CHAN3, 0, 0, OS_PROTECT_CONTROL_RDWR);
}
ExceptionCallbackParam param;
+1 -1
View File
@@ -213,7 +213,7 @@ void SetTMemLayout(TMemLayout layout) {
} // namespace nw4r
static GXTexRegion *TexRegionCallback(const GXTexObj *pObj, GXTexMapID map) {
GXTexFmt fmt = GXGetTexObjFormat(pObj);
GXTexFmt fmt = GXGetTexObjFmt(pObj);
GXBool mipmap = GXGetTexObjMipMap(pObj);
switch (fmt) {