diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 93923626..93da7c40 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -2768,6 +2768,7 @@ revolution/exi/EXIUart.c: revolution/exi/EXICommon.c: .text start:0x803B21E0 end:0x803B2368 align:16 + .sdata2 start:0x8057E730 end:0x8057E738 revolution/si/SIBios.c: .text start:0x803B2370 end:0x803B33A4 align:16 @@ -2783,72 +2784,114 @@ revolution/si/SISamplingRate.c: revolution/vi/vi.c: .text start:0x803B34A0 end:0x803B5EF0 align:16 + .data start:0x8055EBE0 end:0x8055F138 + .sdata start:0x805749C0 end:0x805749E0 + .sbss start:0x80576100 end:0x805761B0 + .bss start:0x805E7E30 end:0x805E7FA0 revolution/vi/i2c.c: .text start:0x803B5EF0 end:0x803B6804 align:16 + .sdata start:0x805749E0 end:0x805749E8 + .sbss start:0x805761B0 end:0x805761B8 revolution/vi/vi3in1.c: .text start:0x803B6810 end:0x803B7F3C align:16 + .data start:0x8055F138 end:0x8055F760 + .sdata start:0x805749E8 end:0x805749F8 + .sbss start:0x805761B8 end:0x805761D0 + .bss start:0x805E7FA0 end:0x805E7FC0 revolution/mtx/mtx.c: .text start:0x803B7F40 end:0x803B8CF8 align:16 + .sdata start:0x805749F8 end:0x80574A00 + .sdata2 start:0x8057E738 end:0x8057E758 revolution/mtx/mtxvec.c: .text start:0x803B8D00 end:0x803B8ED8 align:16 revolution/mtx/mtx44.c: .text start:0x803B8EE0 end:0x803B9108 align:16 + .sdata2 start:0x8057E758 end:0x8057E770 revolution/mtx/vec.c: .text start:0x803B9110 end:0x803B9584 align:16 + .sdata2 start:0x8057E770 end:0x8057E788 revolution/mtx/quat.c: .text start:0x803B9590 end:0x803B98FC align:16 + .rodata start:0x804F5308 end:0x804F5318 + .sdata2 start:0x8057E788 end:0x8057E798 revolution/gx/GXInit.c: .text start:0x803B9900 end:0x803BAA90 align:16 + .data start:0x8055F760 end:0x8055F9A0 + .sdata start:0x80574A00 end:0x80574A08 + .sbss start:0x805761D0 end:0x805761F8 + .sdata2 start:0x8057E798 end:0x8057E7C0 + .bss start:0x805E7FC0 end:0x805E8640 revolution/gx/GXFifo.c: .text start:0x803BAA90 end:0x803BB6C8 align:16 + .data start:0x8055F9A0 end:0x8055F9D0 + .sbss start:0x805761F8 end:0x80576218 + .bss start:0x805E8640 end:0x805E8688 revolution/gx/GXAttr.c: .text start:0x803BB6D0 end:0x803BC954 align:16 + .data start:0x8055F9D0 end:0x8055FC28 + .sdata start:0x80574A08 end:0x80574A18 revolution/gx/GXMisc.c: .text start:0x803BC960 end:0x803BD214 align:16 + .sbss start:0x80576218 end:0x80576230 revolution/gx/GXGeometry.c: .text start:0x803BD220 end:0x803BD824 align:16 revolution/gx/GXFrameBuf.c: .text start:0x803BD830 end:0x803BE338 align:16 + .data start:0x8055FC28 end:0x8055FD58 + .sdata2 start:0x8057E7C0 end:0x8057E7D0 revolution/gx/GXLight.c: .text start:0x803BE340 end:0x803BEAA4 align:16 + .sdata2 start:0x8057E7D0 end:0x8057E808 revolution/gx/GXTexture.c: .text start:0x803BEAB0 end:0x803BFD50 align:16 + .data start:0x8055FD58 end:0x8055FF80 + .sdata start:0x80574A18 end:0x80574A60 + .sdata2 start:0x8057E808 end:0x8057E840 revolution/gx/GXBump.c: .text start:0x803BFD50 end:0x803C0394 align:16 + .sdata2 start:0x8057E840 end:0x8057E858 revolution/gx/GXTev.c: .text start:0x803C03A0 end:0x803C0A64 align:16 + .data start:0x8055FF80 end:0x8055FFF8 revolution/gx/GXPixel.c: .text start:0x803C0A70 end:0x803C1270 align:16 + .data start:0x8055FFF8 end:0x80560018 + .sdata2 start:0x8057E858 end:0x8057E8A8 revolution/gx/GXDraw.c: .text start:0x803C1270 end:0x803C1E80 align:16 + .sdata2 start:0x8057E8A8 end:0x8057E8D8 + .bss start:0x805E8688 end:0x805E8910 revolution/gx/GXDisplayList.c: .text start:0x803C1E80 end:0x803C2064 align:16 + .bss start:0x805E8910 end:0x805E9040 revolution/gx/GXTransform.c: .text start:0x803C2070 end:0x803C2828 align:16 + .sdata2 start:0x8057E8D8 end:0x8057E8E8 revolution/gx/GXPerf.c: .text start:0x803C2830 end:0x803C3060 align:16 + .data start:0x80560018 end:0x80560100 revolution/dvd/dvdfs.c: .text start:0x803C3060 end:0x803C3A58 align:16 @@ -2858,27 +2901,52 @@ revolution/dvd/dvdfs.c: revolution/dvd/dvd.c: .text start:0x803C3A60 end:0x803C8864 align:16 + .data start:0x805602A0 end:0x805606E8 + .sdata start:0x80574A70 end:0x80574A88 + .sbss start:0x80576260 end:0x805762F8 + .bss start:0x805E9040 end:0x805EDCF0 revolution/dvd/dvdqueue.c: .text start:0x803C8870 end:0x803C8AF0 align:16 + .bss start:0x805EDCF0 end:0x805EDD20 revolution/dvd/dvderror.c: .text start:0x803C8AF0 end:0x803C9508 align:16 + .data start:0x805606E8 end:0x80560718 + .sbss start:0x805762F8 end:0x80576308 + .bss start:0x805EDD20 end:0x805EDF80 revolution/dvd/dvdidutils.c: .text start:0x803C9510 end:0x803C9600 align:16 revolution/dvd/dvdFatal.c: .text start:0x803C9600 end:0x803C9768 align:16 + .rodata start:0x804F5318 end:0x804F5350 + .data start:0x80560718 end:0x80560EE0 + .sdata start:0x80574A88 end:0x80574A90 + .sbss start:0x80576308 end:0x80576310 + .sdata2 start:0x8057E8E8 end:0x8057E8F0 revolution/dvd/dvdDeviceError.c: .text start:0x803C9770 end:0x803C99FC align:16 + .rodata start:0x804F5350 end:0x804F5370 + .data start:0x80560EE0 end:0x80561078 + .sdata start:0x80574A90 end:0x80574A98 + .sbss start:0x80576310 end:0x80576318 + .sdata2 start:0x8057E8F0 end:0x8057E8F8 + .bss start:0x805EDF80 end:0x805EDFA0 revolution/dvd/dvd_broadway.c: .text start:0x803C9A00 end:0x803CC0A8 align:16 + .data start:0x80561078 end:0x80561F80 + .sdata start:0x80574A98 end:0x80574AA8 + .sbss start:0x80576318 end:0x80576340 + .bss start:0x805EDFA0 end:0x805EE160 revolution/mem/mem_heapCommon.c: .text start:0x803CC0B0 end:0x803CC93C align:16 + .sbss start:0x80576340 end:0x80576348 + .bss start:0x805EE160 end:0x805EE1A0 revolution/mem/mem_expHeap.c: .text start:0x803CC940 end:0x803CD598 align:16 @@ -2888,21 +2956,28 @@ revolution/mem/mem_frameHeap.c: revolution/mem/mem_allocator.c: .text start:0x803CDBA0 end:0x803CDBFC align:16 + .sdata2 start:0x8057E8F8 end:0x8057E900 revolution/mem/mem_list.c: .text start:0x803CDC00 end:0x803CDD20 align:16 revolution/dsp/dsp.c: .text start:0x803CDD20 end:0x803CDF7C align:16 + .data start:0x80561F80 end:0x80562000 + .sdata start:0x80574AA8 end:0x80574AB0 + .sbss start:0x80576348 end:0x80576350 revolution/dsp/dsp_debug.c: .text start:0x803CDF80 end:0x803CDFD0 align:16 revolution/dsp/dsp_task.c: .text start:0x803CDFD0 end:0x803CE868 align:16 + .data start:0x80562000 end:0x80562140 + .sbss start:0x80576350 end:0x80576368 revolution/esp/esp.c: .text start:0x803CE870 end:0x803CEE90 align:16 + .sdata start:0x80574AB0 end:0x80574AC0 revolution/cx/CXStreamingUncompression.c: .text start:0x803CEE90 end:0x803D0788 align:16 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index b8eace10..81e8cbd1 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -27472,8 +27472,8 @@ _restgpr_31 = .text:0x804C6BE8; // type:label scope:global __div2u = .text:0x804C6BF0; // type:function size:0xEC scope:global __div2i = .text:0x804C6CDC; // type:function size:0x138 __mod2u = .text:0x804C6E14; // type:function size:0xE4 scope:global -Runtime.PPCEABI.H____mod2i = .text:0x804C6EF8; // type:function size:0x10C -Runtime.PPCEABI.H____shl2i = .text:0x804C7004; // type:function size:0x24 +__mod2i = .text:0x804C6EF8; // type:function size:0x10C +__shl2i = .text:0x804C7004; // type:function size:0x24 __shr2i = .text:0x804C7028; // type:function size:0x28 Runtime.PPCEABI.H____cvt_sll_dbl = .text:0x804C7050; // type:function size:0xB0 Runtime.PPCEABI.H____cvt_dbl_ull = .text:0x804C7100; // type:function size:0xA8 @@ -38035,12 +38035,13 @@ jumptable_8055EF78 = .data:0x8055EF78; // type:object size:0x24 scope:local lbl_8055EF9C = .data:0x8055EF9C; // type:object size:0x154 @4022 = .data:0x8055F0F0; // type:object size:0x24 scope:local jumptable_8055F114 = .data:0x8055F114; // type:object size:0x24 scope:local -lbl_8055F138 = .data:0x8055F138; // type:object size:0x628 +gammaSet = .data:0x8055F138; // type:object size:0x41E noreloc +lbl_8055F558 = .data:0x8055F558; // type:object size:0x208 lbl_8055F760 = .data:0x8055F760; // type:object size:0x170 GXTexRegionAddrTable = .data:0x8055F8D0; // type:object size:0xC0 scope:local data:4byte GXShutdownFuncInfo = .data:0x8055F990; // type:object size:0x10 scope:local -lbl_8055F9A0 = .data:0x8055F9A0; // type:object size:0x18 -lbl_8055F9B8 = .data:0x8055F9B8; // type:object size:0x18 +lbl_8055F9A0 = .data:0x8055F9A0; // type:object size:0x16 data:string +lbl_8055F9B8 = .data:0x8055F9B8; // type:object size:0x16 data:string jumptable_8055F9D0 = .data:0x8055F9D0; // type:object size:0x68 scope:local jumptable_8055FA38 = .data:0x8055FA38; // type:object size:0x68 scope:local jumptable_8055FAA0 = .data:0x8055FAA0; // type:object size:0x68 scope:local @@ -38049,10 +38050,10 @@ jumptable_8055FB4C = .data:0x8055FB4C; // type:object size:0x44 scope:local jumptable_8055FB90 = .data:0x8055FB90; // type:object size:0x44 scope:local jumptable_8055FBD4 = .data:0x8055FBD4; // type:object size:0x54 scope:local GXNtsc480IntDf = .data:0x8055FC28; // type:object size:0x3C -lbl_8055FC64 = .data:0x8055FC64; // type:object size:0x3C +GXNtsc480Int = .data:0x8055FC64; // type:object size:0x3C GXMpal480IntDf = .data:0x8055FCA0; // type:object size:0x3C GXPal528IntDf = .data:0x8055FCDC; // type:object size:0x3C -GXEurgb60Hz480IntDf = .data:0x8055FD18; // type:object size:0x40 +GXEurgb60Hz480IntDf = .data:0x8055FD18; // type:object size:0x3C jumptable_8055FD58 = .data:0x8055FD58; // type:object size:0xF4 scope:local jumptable_8055FE4C = .data:0x8055FE4C; // type:object size:0xF4 scope:local jumptable_8055FF40 = .data:0x8055FF40; // type:object size:0x3C scope:local @@ -38077,7 +38078,7 @@ jumptable_805605D8 = .data:0x805605D8; // type:object size:0x38 scope:local jumptable_80560610 = .data:0x80560610; // type:object size:0x9C scope:local jumptable_805606AC = .data:0x805606AC; // type:object size:0x38 scope:local lbl_805606E8 = .data:0x805606E8; // type:object size:0x1C data:string -lbl_80560704 = .data:0x80560704; // type:object size:0x14 +lbl_80560704 = .data:0x80560704; // type:object size:0xF data:string lbl_80560718 = .data:0x80560718; // type:object size:0x90 lbl_805607A8 = .data:0x805607A8; // type:object size:0xB0 lbl_80560858 = .data:0x80560858; // type:object size:0xB8 @@ -38098,9 +38099,18 @@ 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 @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_805610AC = .data:0x805610AC; // type:object size:0x2C data:string +lbl_805610D8 = .data:0x805610D8; // type:object size:0x28 data:string +lbl_80561100 = .data:0x80561100; // type:object size:0x1F data:string +lbl_80561120 = .data:0x80561120; // type:object size:0x3B data:string +lbl_8056115C = .data:0x8056115C; // type:object size:0x27 data:string +lbl_80561184 = .data:0x80561184; // type:object size:0x1E data:string +lbl_805611A4 = .data:0x805611A4; // type:object size:0x49 data:string +lbl_805611ED = .data:0x805611ED; // type:object size:0xD93 +lbl_80561F80 = .data:0x80561F80; // type:object size:0x46 data:string +lbl_80561FC8 = .data:0x80561FC8; // type:object size:0x1E data:string +lbl_80561FE8 = .data:0x80561FE8; // type:object size:0xC data:string +lbl_80561FF4 = .data:0x80561FF4; // type:object size:0x9 data:string lbl_80562000 = .data:0x80562000; // type:object size:0x140 lbl_80562140 = .data:0x80562140; // type:object size:0xC lbl_8056214C = .data:0x8056214C; // type:object size:0xC @@ -41029,7 +41039,7 @@ lbl_80574A68 = .sdata:0x80574A68; // type:object size:0x8 data:string __DVDVersion = .sdata:0x80574A70; // type:object size:0x4 scope:global data:4byte lbl_80574A74 = .sdata:0x80574A74; // type:object size:0x4 data:4byte lbl_80574A78 = .sdata:0x80574A78; // type:object size:0x4 data:4byte -lbl_80574A7C = .sdata:0x80574A7C; // type:object size:0x8 +lbl_80574A7C = .sdata:0x80574A7C; // type:object size:0x6 data:string lbl_80574A84 = .sdata:0x80574A84; // type:object size:0x4 data:4byte lbl_80574A88 = .sdata:0x80574A88; // type:object size:0x8 lowDone = .sdata:0x80574A90; // type:object size:0x4 scope:local data:4byte @@ -42274,12 +42284,12 @@ 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 -lbl_80576350 = .sbss:0x80576350; // type:object size:0x4 data:4byte -lbl_80576354 = .sbss:0x80576354; // type:object size:0x4 data:4byte -lbl_80576358 = .sbss:0x80576358; // type:object size:0x4 data:4byte -lbl_8057635C = .sbss:0x8057635C; // type:object size:0x4 data:4byte -lbl_80576360 = .sbss:0x80576360; // type:object size:0x4 data:4byte -lbl_80576364 = .sbss:0x80576364; // type:object size:0x4 data:4byte +__DSP_rude_task_pending = .sbss:0x80576350; // type:object size:0x4 data:4byte +__DSP_rude_task = .sbss:0x80576354; // type:object size:0x4 data:4byte +__DSP_tmp_task = .sbss:0x80576358; // type:object size:0x4 data:4byte +__DSP_last_task = .sbss:0x8057635C; // type:object size:0x4 data:4byte +__DSP_first_task = .sbss:0x80576360; // type:object size:0x4 data:4byte +__DSP_curr_task = .sbss:0x80576364; // type:object size:0x4 data:4byte lbl_80576368 = .sbss:0x80576368; // type:object size:0x8 data:4byte s_libState = .sbss:0x80576370; // type:object size:0x4 scope:local data:4byte s_callback = .sbss:0x80576378; // type:object size:0x4 scope:local data:4byte diff --git a/include/egg/core/eggVideo.h b/include/egg/core/eggVideo.h index d4de25ba..cfaf7336 100644 --- a/include/egg/core/eggVideo.h +++ b/include/egg/core/eggVideo.h @@ -6,9 +6,6 @@ #include "rvl/GX.h" // IWYU pragma: export #include "rvl/VI.h" // IWYU pragma: export - -extern "C" GXRenderModeObj lbl_8055FC64; - namespace EGG { class Video { @@ -32,7 +29,7 @@ public: const GXRenderModeObj *getCurrentOrFallbackRenderModeObj() const { if (pRenderMode == nullptr) { - return &lbl_8055FC64; + return &GXNtsc480Int; } return pRenderMode; } diff --git a/include/rvl/GX/GXFrameBuf.h b/include/rvl/GX/GXFrameBuf.h index 5ee0b888..9e39adf4 100644 --- a/include/rvl/GX/GXFrameBuf.h +++ b/include/rvl/GX/GXFrameBuf.h @@ -39,6 +39,7 @@ void GXCopyTex(void *data, GXBool bUpdate); void GXPixModeSync(); extern GXRenderModeObj GXNtsc480IntDf; +extern GXRenderModeObj GXNtsc480Int; extern GXRenderModeObj GXMpal480IntDf; extern GXRenderModeObj GXPal528IntDf; extern GXRenderModeObj GXEurgb60Hz480IntDf; diff --git a/src/nw4r/db/db_exception.cpp b/src/nw4r/db/db_exception.cpp index 29b575fb..36867e95 100644 --- a/src/nw4r/db/db_exception.cpp +++ b/src/nw4r/db/db_exception.cpp @@ -69,7 +69,7 @@ void Exception_Init() { OSSetErrorHandler(3, ErrorHandler_); OSSetErrorHandler(5, ErrorHandler_); OSSetErrorHandler(15, ErrorHandler_); - lbl_80574960 = 0; + __OSFpscrEnableBits = 0; OSSetErrorHandler(16, nullptr); } extern "C" u32 PPCMfmsr();