From a88f74e29ac7cdfd8d264fdbc9804db786aa666d Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Fri, 10 Jul 2026 14:28:34 -0400 Subject: [PATCH 1/8] library splits --- config/S72E01/splits.txt | 449 ++++++++++++++++++++++++++++++++++++++ config/S72E01/symbols.txt | 4 +- configure.py | 136 ++++++++++++ 3 files changed, 587 insertions(+), 2 deletions(-) diff --git a/config/S72E01/splits.txt b/config/S72E01/splits.txt index f40e7e7..7d8111e 100644 --- a/config/S72E01/splits.txt +++ b/config/S72E01/splits.txt @@ -403,6 +403,455 @@ nw4r/lyt/lyt_group.cpp: nw4r/ut/ut_list.cpp: .text start:0x8011FB40 end:0x8011FC80 +revolution/homeButtonLib/HBMFrameController.cpp: + .text start:0x801285D0 end:0x80128780 + .rodata start:0x8040DDE0 end:0x8040DDE8 + .data start:0x804429B8 end:0x804429E0 + +revolution/homeButtonLib/HBMAnmController.cpp: + .text start:0x80128780 end:0x80128860 + .data start:0x804429E0 end:0x80442A28 + +revolution/homeButtonLib/HBMGUIManager.cpp: + .text start:0x80128860 end:0x8012A020 + .rodata start:0x8040DDE8 end:0x8040DDF8 + .data start:0x80442A28 end:0x80442C98 + .bss start:0x805434F8 end:0x80543500 + +revolution/homeButtonLib/HBMController.cpp: + .text start:0x8012A020 end:0x8012AC40 + .rodata start:0x8040DDF8 end:0x8040DE08 + .bss start:0x80543500 end:0x805436A0 + +revolution/homeButtonLib/HBMRemoteSpk.cpp: + .text start:0x8012AC40 end:0x8012B560 + .data start:0x80442C98 end:0x80442CC8 + .bss start:0x805436A0 end:0x805436A8 + +revolution/homeButtonLib/HBMAxSound.cpp: + .text start:0x8012B560 end:0x8012C080 + .rodata start:0x8040DE08 end:0x8040DE40 + .data start:0x80442CC8 end:0x80443018 + .bss start:0x805436A8 end:0x805436B0 + +revolution/homeButtonLib/HBMCommon.cpp: + .text start:0x8012C080 end:0x8012C410 + .data start:0x80443018 end:0x80443068 + .bss start:0x805436B0 end:0x805436C0 + +revolution/homeButtonLib/HBMBase.cpp: + .text start:0x8012C410 end:0x80134D10 + .rodata start:0x8040DE40 end:0x8040E1C0 + .data start:0x80443068 end:0x80443D80 + .bss start:0x805436C0 end:0x80543740 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_animation.cpp: + .text start:0x80134D10 end:0x80135870 + .rodata start:0x8040E1C0 end:0x8040E1E0 + .data start:0x80443D80 end:0x80443E00 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_arcResourceAccessor.cpp: + .text start:0x80135870 end:0x80135B30 + .data start:0x80443E00 end:0x80443E80 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_bounding.cpp: + .text start:0x80135B30 end:0x80135C80 + .ctors start:0x804062C4 end:0x804062C8 + .data start:0x80443E80 end:0x80443F68 + .bss start:0x80543740 end:0x80543748 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_common.cpp: + .text start:0x80135C80 end:0x80136840 + .rodata start:0x8040E1E0 end:0x8040E1F0 + .bss start:0x80543748 end:0x80543770 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_drawInfo.cpp: + .text start:0x80136840 end:0x801368D0 + .rodata start:0x8040E1F0 end:0x8040E1F8 + .data start:0x80443F68 end:0x80443F98 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_group.cpp: + .text start:0x801368D0 end:0x80136C20 + .data start:0x80443F98 end:0x80443FC0 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_layout.cpp: + .text start:0x80136C20 end:0x80137870 + .rodata start:0x8040E1F8 end:0x8040E200 + .data start:0x80443FC0 end:0x80444010 + .bss start:0x80543770 end:0x80543778 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_material.cpp: + .text start:0x80137870 end:0x8013AA80 + .rodata start:0x8040E200 end:0x8040E230 + .data start:0x80444010 end:0x80444098 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_pane.cpp: + .text start:0x8013AA80 end:0x8013BB40 + .ctors start:0x804062C8 end:0x804062CC + .rodata start:0x8040E230 end:0x8040E250 + .data start:0x80444098 end:0x80444100 + .bss start:0x80543778 end:0x80543780 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_picture.cpp: + .text start:0x8013BB40 end:0x8013C0A0 + .ctors start:0x804062CC end:0x804062D0 + .rodata start:0x8040E250 end:0x8040E258 + .data start:0x80444100 end:0x804441A0 + .bss start:0x80543780 end:0x80543788 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_resourceAccessor.cpp: + .text start:0x8013C0A0 end:0x8013C0D0 + .data start:0x804441A0 end:0x804441B8 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_textBox.cpp: + .text start:0x8013C0D0 end:0x8013D4F0 + .ctors start:0x804062D0 end:0x804062D4 + .rodata start:0x8040E258 end:0x8040E270 + .data start:0x804441B8 end:0x80444268 + .bss start:0x80543788 end:0x80543790 + +revolution/homeButtonLib/nw4hbm/lyt/lyt_window.cpp: + .text start:0x8013D4F0 end:0x8013FB20 + .ctors start:0x804062D4 end:0x804062D8 + .rodata start:0x8040E270 end:0x8040E288 + .data start:0x80444268 end:0x80444350 + .bss start:0x80543790 end:0x80543798 + +revolution/homeButtonLib/nw4hbm/math/math_triangular.cpp: + .text start:0x8013FB20 end:0x8013FDD0 + .rodata start:0x8040E288 end:0x8040E2B0 + .data start:0x80444350 end:0x80445468 + +revolution/homeButtonLib/nw4hbm/ut/ut_binaryFileFormat.cpp: + .text start:0x8013FDD0 end:0x8013FDD0 + +revolution/homeButtonLib/nw4hbm/ut/ut_CharStrmReader.cpp: + .text start:0x8013FDD0 end:0x8013FE10 + +revolution/homeButtonLib/nw4hbm/ut/ut_CharWriter.cpp: + .text start:0x8013FE10 end:0x801417D0 + .rodata start:0x8040E2B0 end:0x8040E2D0 + .bss start:0x80543798 end:0x805437B0 + +revolution/homeButtonLib/nw4hbm/ut/ut_Font.cpp: + .text start:0x801417D0 end:0x80141880 + .data start:0x80445468 end:0x80445498 + +revolution/homeButtonLib/nw4hbm/ut/ut_LinkList.cpp: + .text start:0x80141880 end:0x80141880 + +revolution/homeButtonLib/nw4hbm/ut/ut_list.cpp: + .text start:0x80141880 end:0x801418D0 + +revolution/homeButtonLib/nw4hbm/ut/ut_ResFont.cpp: + .text start:0x801418D0 end:0x80141AC0 + .data start:0x80445498 end:0x80445578 + +revolution/homeButtonLib/nw4hbm/ut/ut_ResFontBase.cpp: + .text start:0x80141AC0 end:0x80141F80 + .data start:0x80445578 end:0x80445638 + +revolution/homeButtonLib/nw4hbm/ut/ut_TagProcessorBase.cpp: + .text start:0x80141F80 end:0x80142A40 + .rodata start:0x8040E2D0 end:0x8040E2D8 + .data start:0x80445638 end:0x804456C0 + +revolution/homeButtonLib/nw4hbm/ut/ut_TextWriterBase.cpp: + .text start:0x80142A40 end:0x80147EB0 + .ctors start:0x804062D8 end:0x804062DC + .rodata start:0x8040E2D8 end:0x8040E2F0 + .data start:0x804456C0 end:0x804456C8 + .bss start:0x805437B0 end:0x805437E0 + +revolution/homeButtonLib/sound/mix.cpp: + .text start:0x80147EB0 end:0x80149820 + .data start:0x804456C8 end:0x80446258 + .bss start:0x805437E0 end:0x80543EA0 + +revolution/homeButtonLib/sound/syn.cpp: + .text start:0x80149820 end:0x80149CC0 + .bss start:0x80543EA0 end:0x80544370 + +revolution/homeButtonLib/sound/synctrl.cpp: + .text start:0x80149CC0 end:0x8014A160 + .data start:0x80446258 end:0x80446458 + +revolution/homeButtonLib/sound/synenv.cpp: + .text start:0x8014A160 end:0x8014A540 + .rodata start:0x8040E2F0 end:0x8040E310 + +revolution/homeButtonLib/sound/synmix.cpp: + .text start:0x8014A540 end:0x8014A680 + .data start:0x80446458 end:0x804467E8 + +revolution/homeButtonLib/sound/synpitch.cpp: + .text start:0x8014A680 end:0x8014A900 + .rodata start:0x8040E310 end:0x8040E328 + .data start:0x804467E8 end:0x80446BD8 + +revolution/homeButtonLib/sound/synsample.cpp: + .text start:0x8014A900 end:0x8014AD80 + +revolution/homeButtonLib/sound/synvoice.cpp: + .text start:0x8014AD80 end:0x8014AD80 + +revolution/homeButtonLib/sound/seq.cpp: + .text start:0x8014AF30 end:0x8014B848 + .rodata start:0x8040E328 end:0x8040E350 + .data start:0x80446BD8 end:0x80446C58 + +nrel/devkit/alert/Alert.cpp: + .text start:0x8014B848 end:0x8014B914 + .sdata2 start:0x8055F550 end:0x8055F558 + +nrel/devkit/alert/AlertStyle.cpp: + .text start:0x8014B914 end:0x8014B97C + +nrel/devkit/heapmap/ExpHeapMapUser.cpp: + .text start:0x8014B97C end:0x8014BC6C + .data start:0x80446C58 end:0x80446D58 + .sdata start:0x80556A98 end:0x80556AA8 + +nrel/devkit/heapmap/HeapMap.cpp: + .text start:0x8014BC6C end:0x8014BCA8 + +nrel/devkit/heapmap/HeapMapBlockDrawer.cpp: + .text start:0x8014BCA8 end:0x8014C05C + .data start:0x80446D58 end:0x80446E68 + .sdata2 start:0x8055F558 end:0x8055F568 + +nrel/devkit/menu/base/CoreHolder.cpp: + .text start:0x8014C05C end:0x8014C098 + +nrel/devkit/menu/base/StringStyle.cpp: + .text start:0x8014C098 end:0x8014C0EC + +nrel/devkit/textwriter/TextWriter.cpp: + .text start:0x8014C0EC end:0x8014C2FC + .data start:0x80446E68 end:0x80446FC8 + +nrel/ezrender/GXSettingFor2D.cpp: + .text start:0x8014C2FC end:0x8014C440 + .sdata2 start:0x8055F568 end:0x8055F578 + +nrel/ezrender/OrthoCameraSetting.cpp: + .text start:0x8014C440 end:0x8014C4AC + +nrel/ezrender/Render2D.cpp: + .text start:0x8014C4AC end:0x8014C6BC + .sdata2 start:0x8055F578 end:0x8055F580 + +nrel/ezrender/ViewportSetting.cpp: + .text start:0x8014C6BC end:0x8014C6D8 + +nrel/mem/Block.cpp: + .text start:0x8014C6D8 end:0x8014C734 + .data start:0x80446FC8 end:0x80447000 + +nrel/mem/ExpHeapAccessor.cpp: + .text start:0x8014C734 end:0x8014D06C + .data start:0x80447000 end:0x804475E8 + .sdata start:0x80556AA8 end:0x80556AB0 + .sdata2 start:0x8055F580 end:0x8055F590 + +nrel/mem/ExpHeapSupport.cpp: + .text start:0x8014D06C end:0x8014D200 + .data start:0x804475E8 end:0x80447628 + +libMobiclip/Bignum.cpp: + .text start:0x8014D200 end:0x8014E090 + .rodata start:0x8040E350 end:0x8040E450 + +libMobiclip/CodecFast.cpp: + .text start:0x8014E090 end:0x8014E860 + .data start:0x80447628 end:0x80447B88 + +libMobiclip/Digits.cpp: + .text start:0x8014E860 end:0x8014EB00 + +libMobiclip/ImaAdpcm.cpp: + .text start:0x8014EB00 end:0x8014ED10 + .rodata start:0x8040E450 end:0x8040E518 + +libMobiclip/MoApi.cpp: + .text start:0x8014ED10 end:0x8014FB20 + .data start:0x80447B88 end:0x80447EC8 + .sdata start:0x80556AB0 end:0x80556AB8 + .sbss start:0x8055D0D0 end:0x8055D0D8 + +libMobiclip/MoDeblockWii.cpp: + .text start:0x8014FB20 end:0x80150F30 + .rodata start:0x8040E518 end:0x8040E7C0 + .sdata start:0x80556AB8 end:0x80556AC0 + +libMobiclip/MoSdk.cpp: + .text start:0x80150F30 end:0x80151B20 + .data start:0x80447EC8 end:0x80448180 + .sdata start:0x80556AC0 end:0x80556AC8 + +libMobiclip/MoSdkAdpcmDecoder.cpp: + .text start:0x80151B20 end:0x80151E70 + .data start:0x80448180 end:0x804481F8 + .sdata start:0x80556AC8 end:0x80556AD8 + +libMobiclip/MoSdkAudioDecoder.cpp: + .text start:0x80151E70 end:0x801521F0 + .data start:0x804481F8 end:0x80448270 + +libMobiclip/MoSdkDemux.cpp: + .text start:0x801521F0 end:0x801523F0 + +libMobiclip/MoSdkFastAudioDecoder.cpp: + .text start:0x801523F0 end:0x801527A0 + .data start:0x80448270 end:0x804482D8 + .sdata start:0x80556AD8 end:0x80556AE0 + +libMobiclip/MoSdkHeaders.cpp: + .text start:0x801527A0 end:0x80153230 + .rodata start:0x8040E7C0 end:0x8040E908 + .data start:0x804482D8 end:0x80448400 + .sdata start:0x80556AE0 end:0x80556AE8 + .sdata2 start:0x8055F590 end:0x8055F5A0 + +libMobiclip/MoSdkInput.cpp: + .text start:0x80153230 end:0x80153700 + .data start:0x80448400 end:0x80448498 + +libMobiclip/MoSdkMem.cpp: + .text start:0x80153700 end:0x80153830 + .data start:0x80448498 end:0x804484B0 + .sbss start:0x8055D0D8 end:0x8055D0E8 + +libMobiclip/MoSdkPcmPassthroughDecoder.cpp: + .text start:0x80153830 end:0x80153990 + .data start:0x804484B0 end:0x804484F8 + .sdata start:0x80556AE8 end:0x80556AF0 + +libMobiclip/MoSdkProcessImage.cpp: + .text start:0x80153990 end:0x80153C90 + +libMobiclip/MoSdkSeek.cpp: + .text start:0x80153C90 end:0x80153F10 + +libMobiclip/MoSdkVideoDecoder.cpp: + .text start:0x80153F10 end:0x801543F0 + .data start:0x804484F8 end:0x804485D8 + +libMobiclip/VX2_BitStream.cpp: + .text start:0x801543F0 end:0x80154420 + +libMobiclip/VX2_Cpu.cpp: + .text start:0x80154420 end:0x80154460 + +libMobiclip/VX2_DecodeBlock16x16.cpp: + .text start:0x80154460 end:0x801551C0 + .rodata start:0x8040E908 end:0x8040EA58 + +libMobiclip/VX2_DecodeBlock16x2.cpp: + .text start:0x801551C0 end:0x80155E80 + .rodata start:0x8040EA58 end:0x8040EAE8 + +libMobiclip/VX2_DecodeBlock16x4.cpp: + .text start:0x80155E80 end:0x80156BC0 + .rodata start:0x8040EAE8 end:0x8040EB78 + +libMobiclip/VX2_DecodeBlock16x8.cpp: + .text start:0x80156BC0 end:0x80157900 + .rodata start:0x8040EB78 end:0x8040EC48 + +libMobiclip/VX2_DecodeBlock2x16.cpp: + .text start:0x80157900 end:0x801585D0 + .rodata start:0x8040EC48 end:0x8040ECD8 + +libMobiclip/VX2_DecodeBlock2x2.cpp: + .text start:0x801585D0 end:0x80159220 + .rodata start:0x8040ECD8 end:0x8040ED48 + +libMobiclip/VX2_DecodeBlock2x4.cpp: + .text start:0x80159220 end:0x80159EF0 + .rodata start:0x8040ED48 end:0x8040EDD8 + +libMobiclip/VX2_DecodeBlock2x8.cpp: + .text start:0x80159EF0 end:0x8015ABC0 + .rodata start:0x8040EDD8 end:0x8040EE68 + +libMobiclip/VX2_DecodeBlock4x16.cpp: + .text start:0x8015ABC0 end:0x8015B900 + .rodata start:0x8040EE68 end:0x8040EEF8 + +libMobiclip/VX2_DecodeBlock4x2.cpp: + .text start:0x8015B900 end:0x8015C5C0 + .rodata start:0x8040EEF8 end:0x8040EF88 + +libMobiclip/VX2_DecodeBlock4x4.cpp: + .text start:0x8015C5C0 end:0x8015D300 + .rodata start:0x8040EF88 end:0x8040F018 + +libMobiclip/VX2_DecodeBlock4x8.cpp: + .text start:0x8015D300 end:0x8015E040 + .rodata start:0x8040F018 end:0x8040F0E8 + +libMobiclip/VX2_DecodeBlock8x16.cpp: + .text start:0x8015E040 end:0x8015ED80 + .rodata start:0x8040F0E8 end:0x8040F1B8 + +libMobiclip/VX2_DecodeBlock8x2.cpp: + .text start:0x8015ED80 end:0x8015FA40 + .rodata start:0x8040F1B8 end:0x8040F248 + +libMobiclip/VX2_DecodeBlock8x4.cpp: + .text start:0x8015FA40 end:0x80160780 + .rodata start:0x8040F248 end:0x8040F318 + +libMobiclip/VX2_DecodeBlock8x8.cpp: + .text start:0x80160780 end:0x801614C0 + .rodata start:0x8040F318 end:0x8040F3A8 + +libMobiclip/VX2_DecodeIntra.cpp: + .text start:0x801614C0 end:0x80163340 + .rodata start:0x8040F3A8 end:0x8040F630 + .bss start:0x80544378 end:0x805444B8 + +libMobiclip/VX2_Decoder.cpp: + .text start:0x80163340 end:0x80163F10 + .rodata start:0x8040F630 end:0x80413830 + .data start:0x804485D8 end:0x80452AE0 + +libMobiclip/VX2_DecoderMeFct.cpp: + .text start:0x80163F10 end:0x8016F3C0 + +libMobiclip/VX2_InvMc.cpp: + .text start:0x8016F3C0 end:0x80170C80 + +libMobiclip/VX2_InverseQuantization.cpp: + .text start:0x80170C80 end:0x80170EA0 + .rodata start:0x80413830 end:0x804140F0 + +libMobiclip/VX2_MotionCompensation.cpp: + .text start:0x80170EA0 end:0x80171930 + .rodata start:0x804140F0 end:0x804144C8 + .bss start:0x805444B8 end:0x80544520 + +libMobiclip/VX2_Pred.cpp: + .text start:0x80171930 end:0x80174190 + +libms/libms.c: + .text start:0x80174190 end:0x80174210 + .sbss start:0x8055D0E8 end:0x8055D0F0 + +libms/msgfile.c: + .text start:0x80174210 end:0x80174470 + .data start:0x80452AE0 end:0x80452AF0 + .sdata start:0x80556AF0 end:0x80556B10 + +libms/commonbin.c: + .text start:0x80174470 end:0x801746A0 + +libms/projfile.c: + .text start:0x801746A0 end:0x80174AD8 + .data start:0x80452AF0 end:0x80452B00 + .sdata start:0x80556B10 end:0x80556B70 + donut/Main.cpp: .text start:0x80174AD8 end:0x80174AF8 .sdata start:0x80556B70 end:0x80556B78 diff --git a/config/S72E01/symbols.txt b/config/S72E01/symbols.txt index 6badc67..b013bd6 100644 --- a/config/S72E01/symbols.txt +++ b/config/S72E01/symbols.txt @@ -27882,8 +27882,8 @@ lbl_8040E320 = .rodata:0x8040E320; // type:object size:0x8 align:4 data:float lbl_8040E328 = .rodata:0x8040E328; // type:object size:0x28 align:4 data:float lbl_8040E350 = .rodata:0x8040E350; // type:object size:0x100 lbl_8040E450 = .rodata:0x8040E450; // type:object size:0xB8 -lbl_8040E508 = .rodata:0x8040E508; // type:object size:0x50 -lbl_8040E558 = .rodata:0x8040E558; // type:object size:0x140 +lbl_8040E508 = .rodata:0x8040E508; // type:object size:0x10 +lbl_8040E518 = .rodata:0x8040E518; // type:object size:0x180 lbl_8040E698 = .rodata:0x8040E698; // type:object size:0x94 lbl_8040E72C = .rodata:0x8040E72C; // type:object size:0x94 lbl_8040E7C0 = .rodata:0x8040E7C0; // type:object size:0xA0 diff --git a/configure.py b/configure.py index d510c3b..f8f49a6 100755 --- a/configure.py +++ b/configure.py @@ -495,6 +495,141 @@ def MatchingFor(*versions): Object(Matching, "nw4r/ut/ut_list.cpp"), ], }, + { + "lib": "homeButtonLib", + "mw_version": config.linker_version, + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ + Object(NonMatching, "revolution/homeButtonLib/HBMFrameController.cpp"), + Object(NonMatching, "revolution/homeButtonLib/HBMAnmController.cpp"), + Object(NonMatching, "revolution/homeButtonLib/HBMGUIManager.cpp"), + Object(NonMatching, "revolution/homeButtonLib/HBMController.cpp"), + Object(NonMatching, "revolution/homeButtonLib/HBMRemoteSpk.cpp"), + Object(NonMatching, "revolution/homeButtonLib/HBMAxSound.cpp"), + Object(NonMatching, "revolution/homeButtonLib/HBMCommon.cpp"), + Object(NonMatching, "revolution/homeButtonLib/HBMBase.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_animation.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_arcResourceAccessor.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_bounding.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_common.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_drawInfo.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_group.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_layout.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_material.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_pane.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_picture.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_resourceAccessor.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_textBox.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/lyt/lyt_window.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/math/math_triangular.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_binaryFileFormat.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_CharStrmReader.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_CharWriter.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_Font.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_LinkList.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_list.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_ResFont.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_ResFontBase.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_TagProcessorBase.cpp"), + Object(NonMatching, "revolution/homeButtonLib/nw4hbm/ut/ut_TextWriterBase.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/mix.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/syn.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/synctrl.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/synenv.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/synmix.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/synpitch.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/synsample.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/synvoice.cpp"), + Object(NonMatching, "revolution/homeButtonLib/sound/seq.cpp"), + ], + }, + { + "lib": "nrel", + "mw_version": config.linker_version, + "cflags": cflags_base, + "progress_category": "middle", + "objects": [ + Object(NonMatching, "nrel/devkit/alert/Alert.cpp"), + Object(NonMatching, "nrel/devkit/alert/AlertStyle.cpp"), + Object(NonMatching, "nrel/devkit/heapmap/ExpHeapMapUser.cpp"), + Object(NonMatching, "nrel/devkit/heapmap/HeapMap.cpp"), + Object(NonMatching, "nrel/devkit/heapmap/HeapMapBlockDrawer.cpp"), + Object(NonMatching, "nrel/devkit/menu/base/CoreHolder.cpp"), + Object(NonMatching, "nrel/devkit/menu/base/StringStyle.cpp"), + Object(NonMatching, "nrel/devkit/textwriter/TextWriter.cpp"), + Object(NonMatching, "nrel/ezrender/GXSettingFor2D.cpp"), + Object(NonMatching, "nrel/ezrender/OrthoCameraSetting.cpp"), + Object(NonMatching, "nrel/ezrender/Render2D.cpp"), + Object(NonMatching, "nrel/ezrender/ViewportSetting.cpp"), + Object(NonMatching, "nrel/mem/Block.cpp"), + Object(NonMatching, "nrel/mem/ExpHeapAccessor.cpp"), + Object(NonMatching, "nrel/mem/ExpHeapSupport.cpp"), + ], + }, + { + "lib": "libMobiclip", + "mw_version": config.linker_version, + "cflags": cflags_base, + "progress_category": "middle", + "objects": [ + Object(NonMatching, "libMobiclip/Bignum.cpp"), + Object(NonMatching, "libMobiclip/CodecFast.cpp"), + Object(NonMatching, "libMobiclip/Digits.cpp"), + Object(NonMatching, "libMobiclip/ImaAdpcm.cpp"), + Object(NonMatching, "libMobiclip/MoApi.cpp"), + Object(NonMatching, "libMobiclip/MoDeblockWii.cpp"), + Object(NonMatching, "libMobiclip/MoSdk.cpp"), + Object(NonMatching, "libMobiclip/MoSdkAdpcmDecoder.cpp"), + Object(NonMatching, "libMobiclip/MoSdkAudioDecoder.cpp"), + Object(NonMatching, "libMobiclip/MoSdkDemux.cpp"), + Object(NonMatching, "libMobiclip/MoSdkFastAudioDecoder.cpp"), + Object(NonMatching, "libMobiclip/MoSdkHeaders.cpp"), + Object(NonMatching, "libMobiclip/MoSdkInput.cpp"), + Object(NonMatching, "libMobiclip/MoSdkMem.cpp"), + Object(NonMatching, "libMobiclip/MoSdkPcmPassthroughDecoder.cpp"), + Object(NonMatching, "libMobiclip/MoSdkProcessImage.cpp"), + Object(NonMatching, "libMobiclip/MoSdkSeek.cpp"), + Object(NonMatching, "libMobiclip/MoSdkVideoDecoder.cpp"), + Object(NonMatching, "libMobiclip/VX2_BitStream.cpp"), + Object(NonMatching, "libMobiclip/VX2_Cpu.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock16x16.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock16x2.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock16x4.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock16x8.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock2x16.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock2x2.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock2x4.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock2x8.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock4x16.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock4x2.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock4x4.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock4x8.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock8x16.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock8x2.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock8x4.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeBlock8x8.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecodeIntra.cpp"), + Object(NonMatching, "libMobiclip/VX2_Decoder.cpp"), + Object(NonMatching, "libMobiclip/VX2_DecoderMeFct.cpp"), + Object(NonMatching, "libMobiclip/VX2_InvMc.cpp"), + Object(NonMatching, "libMobiclip/VX2_InverseQuantization.cpp"), + Object(NonMatching, "libMobiclip/VX2_MotionCompensation.cpp"), + Object(NonMatching, "libMobiclip/VX2_Pred.cpp"), + ], + }, + { + "lib": "libms", + "mw_version": config.linker_version, + "cflags": cflags_base, + "progress_category": "middle", + "objects": [ + Object(NonMatching, "libms/libms.c"), + Object(NonMatching, "libms/msgfile.c"), + Object(NonMatching, "libms/commonbin.c"), + Object(NonMatching, "libms/projfile.c"), + ], + }, { "lib": "donut", "mw_version": config.linker_version, @@ -1331,6 +1466,7 @@ def link_order_callback(module_id: int, objects: List[str]) -> List[str]: ProgressCategory("donut", "Game Code"), ProgressCategory("hel", "HAL Library Code"), ProgressCategory("sdk", "SDK Code"), + ProgressCategory("middle", "Middleware Code"), ProgressCategory("msl", "MSL Code"), ] config.progress_each_module = args.verbose From 10a1e9f90e593e54e352fbbb83ff6d86556ac682 Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Fri, 10 Jul 2026 17:27:04 -0400 Subject: [PATCH 2/8] os symbols --- config/S72E01/splits.txt | 142 +++++++++++++++++++++++++++++++++++- config/S72E01/symbols.txt | 10 +-- configure.py | 32 +++++++- src/revolution/OS/OSArena.h | 6 +- 4 files changed, 179 insertions(+), 11 deletions(-) diff --git a/config/S72E01/splits.txt b/config/S72E01/splits.txt index 7d8111e..5438748 100644 --- a/config/S72E01/splits.txt +++ b/config/S72E01/splits.txt @@ -206,17 +206,153 @@ revolution/OS/OSAlloc.c: .sdata start:0x805564B8 end:0x805564C0 .sbss start:0x8055C7C8 end:0x8055C7D8 +revolution/OS/OSArena.c: + .text start:0x8001C370 end:0x8001C470 + .sdata start:0x805564C0 end:0x805564C8 + .sbss start:0x8055C7D8 end:0x8055C7E0 + +revolution/OS/OSAudioSystem.c: + .text start:0x8001C470 end:0x8001C930 + .data start:0x804221F8 end:0x80422278 + +revolution/OS/OSCache.c: + .text start:0x8001C930 end:0x8001CF90 + .data start:0x80422278 end:0x80422400 + +revolution/OS/OSContext.c: + .text start:0x8001CF90 end:0x8001D990 + .data start:0x80422400 end:0x804225B8 + +revolution/OS/OSError.c: + .text start:0x8001D990 end:0x8001DFB0 + .data start:0x804225B8 end:0x80422898 + .bss start:0x80499110 end:0x80499160 + .sdata start:0x805564C8 end:0x805564D0 + +revolution/OS/OSExec.c: + .text start:0x8001DFB0 end:0x8001F860 + .data start:0x80422898 end:0x80422BE8 + .bss start:0x80499160 end:0x80499180 + .sdata start:0x805564D0 end:0x805564E0 + .sbss start:0x8055C7E0 end:0x8055C7F8 + +revolution/OS/OSFatal.c: + .text start:0x8001F860 end:0x80020490 + .bss start:0x80499180 end:0x80499460 + .sdata start:0x805564E0 end:0x805564E8 + .sdata2 start:0x8055E4D0 end:0x8055E510 + +revolution/OS/OSFont.c: + .text start:0x80020490 end:0x80021820 + .data start:0x80422BE8 end:0x804236F8 + .sdata start:0x805564E8 end:0x805564F0 + .sbss start:0x8055C7F8 end:0x8055C808 + .sdata2 start:0x8055E510 end:0x8055E518 + +revolution/OS/OSInterrupt.c: + .text start:0x80021820 end:0x80021FF0 + .data start:0x804236F8 end:0x80423728 + .sbss start:0x8055C808 end:0x8055C820 + +revolution/OS/OSLink.c: + .text start:0x80021FF0 end:0x80022010 + +revolution/OS/OSMessage.c: + .text start:0x80022010 end:0x800222F0 + +revolution/OS/OSMemory.c: + .text start:0x800222F0 end:0x80022B60 + .data start:0x80423728 end:0x80423738 + .sbss start:0x8055C820 end:0x8055C828 + +revolution/OS/OSMutex.c: + .text start:0x80022B60 end:0x80022E80 + +revolution/OS/OSReboot.c: + .text start:0x80022E80 end:0x80022F10 + .sbss start:0x8055C828 end:0x8055C830 + +revolution/OS/OSReset.c: + .text start:0x80022F10 end:0x80023840 + .data start:0x80423738 end:0x804239A0 + .sbss start:0x8055C830 end:0x8055C840 + +revolution/OS/OSRtc.c: + .text start:0x80023840 end:0x800242F0 + .bss start:0x80499460 end:0x804994B8 + +revolution/OS/OSSemaphore.c: + .text start:0x800242F0 end:0x80024420 + +revolution/OS/OSSync.c: + .text start:0x80024420 end:0x800244A0 + revolution/OS/OSThread.c: .text start:0x800244A0 end:0x80025B40 .bss start:0x804994B8 end:0x80499EC0 .sdata start:0x805564F0 end:0x805564F8 .sbss start:0x8055C840 end:0x8055C850 -revolution/OS/OSStateTM.c: - .bss start:0x80499EC0 end:0x80499F80 align:32 - revolution/OS/OSTime.c: .text start:0x80025B40 end:0x80025F70 align:16 + .data start:0x804239A0 end:0x80423A00 + +revolution/OS/OSUtf.c: + .text start:0x80025F70 end:0x800261C0 + .data start:0x80423A00 end:0x8042F840 + +revolution/OS/OSIpc.c: + .text start:0x800261C0 end:0x80026200 + .sdata start:0x805564F8 end:0x80556500 + .sbss start:0x8055C850 end:0x8055C858 + +revolution/OS/OSStateTM.c: + .text start:0x80026200 end:0x80026910 + .data start:0x8042F840 end:0x8042F908 + .bss start:0x80499EC0 end:0x80499F80 align:32 + .sbss start:0x8055C858 end:0x8055C878 + +revolution/OS/OSPlayRecord.c: + .text start:0x80026910 end:0x80027030 + .data start:0x8042F908 end:0x8042F950 + .bss start:0x80499F80 end:0x8049A180 + .sdata start:0x80556500 end:0x80556508 + .sbss start:0x8055C880 end:0x8055C8A0 + +revolution/OS/OSStateFlags.c: + .text start:0x80027030 end:0x80027250 + .data start:0x8042F950 end:0x8042F978 + .bss start:0x8049A180 end:0x8049A1A0 + +revolution/OS/OSNet.c: + .text start:0x80027250 end:0x800277F0 + .data start:0x8042F978 end:0x8042FAE0 + .bss start:0x8049A1A0 end:0x8049A260 + .sdata start:0x80556508 end:0x80556510 + .sbss start:0x8055C8A0 end:0x8055C8B0 + +revolution/OS/OSNandbootInfo.c: + .text start:0x800277F0 end:0x80027A00 + .data start:0x8042FAE0 end:0x8042FB00 + +revolution/OS/OSPlayTime.c: + .text start:0x80027A00 end:0x800281E0 + .data start:0x8042FB00 end:0x8042FB40 + .bss start:0x8049A260 end:0x8049A290 + .sdata start:0x80556510 end:0x80556518 + .sbss start:0x8055C8B0 end:0x8055C8C8 + .sdata2 start:0x8055E518 end:0x8055E528 + +revolution/OS/OSCrc.c: + .text start:0x800281E0 end:0x80028320 + .rodata start:0x80407800 end:0x80407840 + +revolution/OS/OSLaunch.c: + .text start:0x80028320 end:0x80028530 + +revolution/OS/__ppc_eabi_init.c: + .init start:0x80006620 end:0x80006684 + .text start:0x80028530 end:0x800285F0 revolution/DB/db.c: .text start:0x8002BAB0 end:0x8002BAD0 align:16 diff --git a/config/S72E01/symbols.txt b/config/S72E01/symbols.txt index b013bd6..7583775 100644 --- a/config/S72E01/symbols.txt +++ b/config/S72E01/symbols.txt @@ -510,7 +510,7 @@ OSFreeToHeap = .text:0x8001C200; // type:function size:0x78 OSSetCurrentHeap = .text:0x8001C280; // type:function size:0x10 OSInitAlloc = .text:0x8001C290; // type:function size:0x70 OSCreateHeap = .text:0x8001C300; // type:function size:0x70 -OSGetArenaHi = .text:0x8001C370; // type:function size:0x8 scope:global +OSGetMEM1ArenaHi = .text:0x8001C370; // type:function size:0x8 scope:global OSGetMEM2ArenaHi = .text:0x8001C380; // type:function size:0x8 scope:global OSGetMEM1ArenaLo = .text:0x8001C390; // type:function size:0x8 scope:global OSGetMEM2ArenaLo = .text:0x8001C3A0; // type:function size:0x8 scope:global @@ -35737,10 +35737,10 @@ RunQueue = .bss:0x804997D0; // type:object size:0x100 data:4byte IdleContext = .bss:0x804998D0; // type:object size:0x5F0 StmEhInBuf = .bss:0x80499EC0; // type:object size:0x20 scope:local StmEhOutBuf = .bss:0x80499EE0; // type:object size:0x20 scope:local data:4byte -lbl_80499F00 = .bss:0x80499F00; // type:object size:0x20 data:4byte -lbl_80499F20 = .bss:0x80499F20; // type:object size:0x20 -lbl_80499F40 = .bss:0x80499F40; // type:object size:0x20 data:4byte -lbl_80499F60 = .bss:0x80499F60; // type:object size:0x20 +StmImInBuf = .bss:0x80499F00; // type:object size:0x20 scope:local data:4byte +StmImOutBuf = .bss:0x80499F20; // type:object size:0x20 scope:local +StmVdInBuf = .bss:0x80499F40; // type:object size:0x20 scope:local data:4byte +StmVdOutBuf = .bss:0x80499F60; // type:object size:0x20 scope:local lbl_80499F80 = .bss:0x80499F80; // type:object size:0x200 data:4byte lbl_8049A180 = .bss:0x8049A180; // type:object size:0x20 data:4byte lbl_8049A1A0 = .bss:0x8049A1A0; // type:object size:0x20 data:4byte diff --git a/configure.py b/configure.py index f8f49a6..eceb53d 100755 --- a/configure.py +++ b/configure.py @@ -410,7 +410,7 @@ def MatchingFor(*versions): ], }, { - "lib": "revolution/OS", + "lib": "revolution", "mw_version": "Wii/1.0", "cflags": cflags_rvl, "progress_category": "sdk", @@ -418,9 +418,37 @@ def MatchingFor(*versions): # Object(NonMatching, "revolution/OS/OS.c"), Object(Matching, "revolution/OS/OSAlarm.c"), Object(Matching, "revolution/OS/OSAlloc.c"), - Object(NonMatching, "revolution/OS/OSStateTM.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/OSReset.c"), + Object(NonMatching, "revolution/OS/OSReboot.c"), + Object(NonMatching, "revolution/OS/OSRtc.c"), + Object(NonMatching, "revolution/OS/OSSemaphore.c"), + Object(NonMatching, "revolution/OS/OSSync.c"), Object(Matching, "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(Matching, "revolution/BASE/PPCArch.c"), Object(Matching, "revolution/DB/db.c"), Object(NonMatching, "revolution/VI/vi.c"), diff --git a/src/revolution/OS/OSArena.h b/src/revolution/OS/OSArena.h index 18f5ea3..b8568cb 100644 --- a/src/revolution/OS/OSArena.h +++ b/src/revolution/OS/OSArena.h @@ -7,22 +7,26 @@ extern "C" { void* OSGetMEM1ArenaHi(void); void* OSGetMEM2ArenaHi(void); +// NOTE: Is merged into OSGetMEM1ArenaHi void* OSGetArenaHi(void); void* OSGetMEM1ArenaLo(void); void* OSGetMEM2ArenaLo(void); +// NOTE: Is merged into OSGetMEM1ArenaLo void* OSGetArenaLo(void); void OSSetMEM1ArenaHi(void* hi); void OSSetMEM2ArenaHi(void* hi); +// NOTE: Is merged into OSSetMEM1ArenaHi void OSSetArenaHi(void* hi); void OSSetMEM1ArenaLo(void* lo); void OSSetMEM2ArenaLo(void* lo); +// NOTE: Is merged into OSetMEM1ArenaLo void OSSetArenaLo(void* lo); void* OSAllocFromMEM1ArenaLo(size_t size, u32 align); - +void* OSAllocFromMEM2ArenaLo(size_t size, u32 align); #ifdef __cplusplus } #endif From 2264060e09d320417348a850649ece5f2d5788cf Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Fri, 10 Jul 2026 18:16:34 -0400 Subject: [PATCH 3/8] more splits --- config/S72E01/splits.txt | 67 ++++++++++++++++++++++++++++++++++++++++ configure.py | 13 ++++++++ 2 files changed, 80 insertions(+) diff --git a/config/S72E01/splits.txt b/config/S72E01/splits.txt index 5438748..56c75ac 100644 --- a/config/S72E01/splits.txt +++ b/config/S72E01/splits.txt @@ -354,12 +354,79 @@ revolution/OS/__ppc_eabi_init.c: .init start:0x80006620 end:0x80006684 .text start:0x80028530 end:0x800285F0 +revolution/EXI/EXIBios.c: + .text start:0x800285F0 end:0x80029EF0 + .data start:0x8042FB40 end:0x8042FB88 + .bss start:0x8049A290 end:0x8049A350 + .sdata start:0x80556518 end:0x80556520 + .sbss start:0x8055C8C8 end:0x8055C8D0 + +revolution/EXI/EXIUart.c: + .text start:0x80029EF0 end:0x8002A230 + .sbss start:0x8055C8D0 end:0x8055C8E0 + +revolution/EXI/EXICommon.c: + .text start:0x8002A230 end:0x8002A3C0 + .sdata2 start:0x8055E528 end:0x8055E530 + +revolution/SI/SIBios.c: + .text start:0x8002A3C0 end:0x8002B9C0 + .data start:0x8042FB88 end:0x8042FBF8 + .bss start:0x8049A350 end:0x8049A570 + .sdata start:0x80556520 end:0x80556528 + .sbss start:0x8055C8E0 end:0x8055C8F0 + +revolution/SI/SISamplingRate.c: + .text start:0x8002B9C0 end:0x8002BAB0 + .data start:0x8042FBF8 end:0x8042FC90 + .sbss start:0x8055C8F0 end:0x8055C8F8 + revolution/DB/db.c: .text start:0x8002BAB0 end:0x8002BAD0 align:16 .sbss start:0x8055C8F8 end:0x8055C900 revolution/VI/vi.c: .text start:0x8002BAD0 end:0x8002E490 align:16 + .data start:0x8042FC90 end:0x804301E8 + .bss start:0x8049A570 end:0x8049A6E0 + .sdata start:0x80556528 end:0x80556548 + .sbss start:0x8055C900 end:0x8055C9B0 + +revolution/VI/i2c.c: + .text start:0x8002E490 end:0x8002EDB0 + .sdata start:0x80556548 end:0x80556550 + .sbss start:0x8055C9B0 end:0x8055C9B8 + +revolution/VI/vi3in1.c: + .text start:0x8002EDB0 end:0x800304E0 + .data start:0x804301E8 end:0x80430800 + .bss start:0x8049A6E0 end:0x8049A700 + .sdata start:0x80556550 end:0x80556560 + .sbss start:0x8055C9B8 end:0x8055C9D0 + +revolution/MTX/mtx.c: + .text start:0x800304E0 end:0x800310F0 + .sdata start:0x80556560 end:0x80556568 + .sdata2 start:0x8055E530 end:0x8055E550 + +revolution/MTX/mtxvec.c: + .text start:0x800310F0 end:0x800311B0 + +revolution/MTX/mtx44.c: + .text start:0x800311B0 end:0x800314F0 + .sdata2 start:0x8055E550 end:0x8055E568 + +revolution/MTX/mtx44vec.c: + .text start:0x800314F0 end:0x80031570 + +revolution/MTX/vec.c: + .text start:0x80031570 end:0x800317B0 + .sdata2 start:0x8055E568 end:0x8055E578 + +revolution/MTX/quat.c: + .text start:0x800317B0 end:0x80031C20 + .rodata start:0x80407840 end:0x80407850 + .sdata2 start:0x8055E578 end:0x8055E588 revolution/AI/ai.c: .text start:0x80042860 end:0x80042E10 align:16 diff --git a/configure.py b/configure.py index eceb53d..b0b9f4c 100755 --- a/configure.py +++ b/configure.py @@ -450,8 +450,21 @@ def MatchingFor(*versions): Object(NonMatching, "revolution/OS/OSLaunch.c"), Object(NonMatching, "revolution/OS/__ppc_eabi_init.c"), Object(Matching, "revolution/BASE/PPCArch.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(Matching, "revolution/DB/db.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/mtx44vec.c"), + Object(NonMatching, "revolution/MTX/vec.c"), + Object(NonMatching, "revolution/MTX/quat.c"), Object(Matching, "revolution/AI/ai.c"), Object(Matching, "revolution/AX/AX.c"), Object(Matching, "revolution/AX/AXAlloc.c"), From 03ffbf9bf4c1d209435d7ea2fa8c2cf34607f0db Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Sat, 11 Jul 2026 10:19:42 -0400 Subject: [PATCH 4/8] gx lib --- config/S72E01/splits.txt | 65 +++++++++++++++++ configure.py | 146 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 209 insertions(+), 2 deletions(-) diff --git a/config/S72E01/splits.txt b/config/S72E01/splits.txt index 56c75ac..7875645 100644 --- a/config/S72E01/splits.txt +++ b/config/S72E01/splits.txt @@ -428,6 +428,71 @@ revolution/MTX/quat.c: .rodata start:0x80407840 end:0x80407850 .sdata2 start:0x8055E578 end:0x8055E588 +revolution/GX/GXInit.c: + .text start:0x80031C20 end:0x80032DB0 + .data start:0x80430800 end:0x80430A40 + .bss start:0x8049A700 end:0x8049AD80 + .sdata start:0x80556568 end:0x80556570 + .sbss start:0x8055C9D0 end:0x8055C9F8 + .sdata2 start:0x8055E588 end:0x8055E5B0 + +revolution/GX/GXFifo.c: + .text start:0x80032DB0 end:0x800337A0 + .data start:0x80430A40 end:0x80430A70 + .bss start:0x8049AD80 end:0x8049AE00 + .sbss start:0x8055C9F8 end:0x8055CA18 + +revolution/GX/GXAttr.c: + .text start:0x800337A0 end:0x80034710 + .data start:0x80430A70 end:0x80430C60 + .sdata start:0x80556570 end:0x80556580 + +revolution/GX/GXMisc.c: + .text start:0x80034710 end:0x80034FF0 + .sbss start:0x8055CA18 end:0x8055CA30 + +revolution/GX/GXGeometry.c: + .text start:0x80034FF0 end:0x80035600 + +revolution/GX/GXFrameBuf.c: + .text start:0x80035600 end:0x80035E50 + .data start:0x80430C60 end:0x80430D50 + .sdata2 start:0x8055E5B0 end:0x8055E5B8 + +revolution/GX/GXLight.c: + .text start:0x80035E50 end:0x800365C0 + .sdata2 start:0x8055E5B8 end:0x8055E5F0 + +revolution/GX/GXTexture.c: + .text start:0x800365C0 end:0x80037770 + .data start:0x80430D50 end:0x80430F78 + .sdata start:0x80556580 end:0x805565C8 + .sdata2 start:0x8055E5F0 end:0x8055E628 + +revolution/GX/GXBump.c: + .text start:0x80037770 end:0x80037BC0 + .sdata2 start:0x8055E628 end:0x8055E630 + +revolution/GX/GXTev.c: + .text start:0x80037BC0 end:0x80038290 + .data start:0x80430F78 end:0x80430FF0 + +revolution/GX/GXPixel.c: + .text start:0x80038290 end:0x80038A50 + .data start:0x80430FF0 end:0x80431010 + .sdata2 start:0x8055E630 end:0x8055E680 + +revolution/GX/GXDisplayList.c: + .text start:0x80038A50 end:0x80038AD0 + +revolution/GX/GXTransform.c: + .text start:0x80038AD0 end:0x800390C0 + .sdata2 start:0x8055E680 end:0x8055E698 + +revolution/GX/GXPerf.c: + .text start:0x800390C0 end:0x800398F0 + .data start:0x80431010 end:0x804310F8 + revolution/AI/ai.c: .text start:0x80042860 end:0x80042E10 align:16 .data start:0x80432F40 end:0x80432F88 diff --git a/configure.py b/configure.py index b0b9f4c..94bc96b 100755 --- a/configure.py +++ b/configure.py @@ -410,7 +410,16 @@ def MatchingFor(*versions): ], }, { - "lib": "revolution", + "lib": "base", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ + Object(Matching, "revolution/BASE/PPCArch.c"), + ], + }, + { + "lib": "os", "mw_version": "Wii/1.0", "cflags": cflags_rvl, "progress_category": "sdk", @@ -449,23 +458,100 @@ def MatchingFor(*versions): Object(NonMatching, "revolution/OS/OSCrc.c"), Object(NonMatching, "revolution/OS/OSLaunch.c"), Object(NonMatching, "revolution/OS/__ppc_eabi_init.c"), - Object(Matching, "revolution/BASE/PPCArch.c"), + ], + }, + { + "lib": "exi", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(NonMatching, "revolution/EXI/EXIBios.c"), Object(NonMatching, "revolution/EXI/EXIUart.c"), Object(NonMatching, "revolution/EXI/EXICommon.c"), + ], + }, + { + "lib": "si", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(NonMatching, "revolution/SI/SIBios.c"), Object(NonMatching, "revolution/SI/SISamplingRate.c"), + ], + }, + { + "lib": "db", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(Matching, "revolution/DB/db.c"), + ], + }, + { + "lib": "vi", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(NonMatching, "revolution/VI/vi.c"), Object(NonMatching, "revolution/VI/i2c.c"), Object(NonMatching, "revolution/VI/vi3in1.c"), + ], + }, + { + "lib": "mtx", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(NonMatching, "revolution/MTX/mtx.c"), Object(NonMatching, "revolution/MTX/mtxvec.c"), Object(NonMatching, "revolution/MTX/mtx44.c"), Object(NonMatching, "revolution/MTX/mtx44vec.c"), Object(NonMatching, "revolution/MTX/vec.c"), Object(NonMatching, "revolution/MTX/quat.c"), + ], + }, + { + "lib": "gx", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ + 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/GXDisplayList.c"), + Object(NonMatching, "revolution/GX/GXTransform.c"), + Object(NonMatching, "revolution/GX/GXPerf.c"), + ], + }, + { + "lib": "ai", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(Matching, "revolution/AI/ai.c"), + ], + }, + { + "lib": "ax", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(Matching, "revolution/AX/AX.c"), Object(Matching, "revolution/AX/AXAlloc.c"), Object(Matching, "revolution/AX/AXAux.c"), @@ -476,19 +562,75 @@ def MatchingFor(*versions): Object(Matching, "revolution/AX/AXComp.c"), Object(Matching, "revolution/AX/DSPCode.c"), Object(Matching, "revolution/AX/AXProf.c"), + ], + }, + { + "lib": "axfx", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(Matching, "revolution/AXFX/AXFXReverbHi.c"), Object(NonMatching, "revolution/AXFX/AXFXReverbHiExp.c"), Object(Matching, "revolution/AXFX/AXFXHooks.c"), + ], + }, + { + "lib": "cx", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(Matching, "revolution/CX/CXUncompression.c"), Object(NonMatching, "revolution/CX/CXSecureUncompression.c"), + ], + }, + { + "lib": "dsp", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(NonMatching, "revolution/DSP/dsp.c"), Object(Matching, "revolution/DSP/dsp_debug.c"), Object(NonMatching, "revolution/DSP/dsp_task.c"), + ], + }, + { + "lib": "nand", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(NonMatching, "revolution/NAND/nand.c"), Object(Matching, "revolution/NAND/NANDOpenClose.c"), Object(NonMatching, "revolution/NAND/NANDCore.c"), + ], + }, + { + "lib": "sc", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(Equivalent, "revolution/SC/scapi.c"), + ], + }, + { + "lib": "arc", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(NonMatching, "revolution/ARC/arc.c"), + ], + }, + { + "lib": "mem", + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, + "progress_category": "sdk", + "objects": [ Object(Matching, "revolution/MEM/mem_list.c"), ], }, From 342368d543f9b2010fd2d5c3db449a29344f7f87 Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Sat, 11 Jul 2026 10:30:16 -0400 Subject: [PATCH 5/8] update revolution to use RVL_LIB func --- configure.py | 356 ++++++++++++++++++--------------------------------- 1 file changed, 127 insertions(+), 229 deletions(-) diff --git a/configure.py b/configure.py index 94bc96b..190b0d3 100755 --- a/configure.py +++ b/configure.py @@ -313,12 +313,12 @@ config.linker_version = "Wii/1.3" -# Helper function for Dolphin libraries -def DolphinLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]: +# Helper function for Revolution libraries +def RVL_Lib(lib_name: str, objects: List[Object]) -> Dict[str, Any]: return { "lib": lib_name, - "mw_version": "GC/1.2.5n", - "cflags": cflags_base, + "mw_version": "Wii/1.0", + "cflags": cflags_rvl, "progress_category": "sdk", "objects": objects, } @@ -409,231 +409,129 @@ def MatchingFor(*versions): ], }, - { - "lib": "base", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Matching, "revolution/BASE/PPCArch.c"), - ], - }, - { - "lib": "os", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - # Object(NonMatching, "revolution/OS/OS.c"), - Object(Matching, "revolution/OS/OSAlarm.c"), - Object(Matching, "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/OSReset.c"), - Object(NonMatching, "revolution/OS/OSReboot.c"), - Object(NonMatching, "revolution/OS/OSRtc.c"), - Object(NonMatching, "revolution/OS/OSSemaphore.c"), - Object(NonMatching, "revolution/OS/OSSync.c"), - Object(Matching, "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"), - ], - }, - { - "lib": "exi", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(NonMatching, "revolution/EXI/EXIBios.c"), - Object(NonMatching, "revolution/EXI/EXIUart.c"), - Object(NonMatching, "revolution/EXI/EXICommon.c"), - ], - }, - { - "lib": "si", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(NonMatching, "revolution/SI/SIBios.c"), - Object(NonMatching, "revolution/SI/SISamplingRate.c"), - ], - }, - { - "lib": "db", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Matching, "revolution/DB/db.c"), - ], - }, - { - "lib": "vi", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(NonMatching, "revolution/VI/vi.c"), - Object(NonMatching, "revolution/VI/i2c.c"), - Object(NonMatching, "revolution/VI/vi3in1.c"), - ], - }, - { - "lib": "mtx", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(NonMatching, "revolution/MTX/mtx.c"), - Object(NonMatching, "revolution/MTX/mtxvec.c"), - Object(NonMatching, "revolution/MTX/mtx44.c"), - Object(NonMatching, "revolution/MTX/mtx44vec.c"), - Object(NonMatching, "revolution/MTX/vec.c"), - Object(NonMatching, "revolution/MTX/quat.c"), - ], - }, - { - "lib": "gx", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - 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/GXDisplayList.c"), - Object(NonMatching, "revolution/GX/GXTransform.c"), - Object(NonMatching, "revolution/GX/GXPerf.c"), - ], - }, - { - "lib": "ai", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Matching, "revolution/AI/ai.c"), - ], - }, - { - "lib": "ax", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Matching, "revolution/AX/AX.c"), - Object(Matching, "revolution/AX/AXAlloc.c"), - Object(Matching, "revolution/AX/AXAux.c"), - Object(Matching, "revolution/AX/AXCL.c"), - Object(Matching, "revolution/AX/AXOut.c"), - Object(Matching, "revolution/AX/AXSPB.c"), - Object(Matching, "revolution/AX/AXVPB.c"), - Object(Matching, "revolution/AX/AXComp.c"), - Object(Matching, "revolution/AX/DSPCode.c"), - Object(Matching, "revolution/AX/AXProf.c"), - ], - }, - { - "lib": "axfx", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Matching, "revolution/AXFX/AXFXReverbHi.c"), - Object(NonMatching, "revolution/AXFX/AXFXReverbHiExp.c"), - Object(Matching, "revolution/AXFX/AXFXHooks.c"), - ], - }, - { - "lib": "cx", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Matching, "revolution/CX/CXUncompression.c"), - Object(NonMatching, "revolution/CX/CXSecureUncompression.c"), - ], - }, - { - "lib": "dsp", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(NonMatching, "revolution/DSP/dsp.c"), - Object(Matching, "revolution/DSP/dsp_debug.c"), - Object(NonMatching, "revolution/DSP/dsp_task.c"), - ], - }, - { - "lib": "nand", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(NonMatching, "revolution/NAND/nand.c"), - Object(Matching, "revolution/NAND/NANDOpenClose.c"), - Object(NonMatching, "revolution/NAND/NANDCore.c"), - ], - }, - { - "lib": "sc", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Equivalent, "revolution/SC/scapi.c"), - ], - }, - { - "lib": "arc", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(NonMatching, "revolution/ARC/arc.c"), - ], - }, - { - "lib": "mem", - "mw_version": "Wii/1.0", - "cflags": cflags_rvl, - "progress_category": "sdk", - "objects": [ - Object(Matching, "revolution/MEM/mem_list.c"), - ], - }, + RVL_Lib("base", [ + Object(Matching, "revolution/BASE/PPCArch.c"), + ]), + RVL_Lib("os", [ + # Object(NonMatching, "revolution/OS/OS.c"), + Object(Matching, "revolution/OS/OSAlarm.c"), + Object(Matching, "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/OSReset.c"), + Object(NonMatching, "revolution/OS/OSReboot.c"), + Object(NonMatching, "revolution/OS/OSRtc.c"), + Object(NonMatching, "revolution/OS/OSSemaphore.c"), + Object(NonMatching, "revolution/OS/OSSync.c"), + Object(Matching, "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"), + ]), + RVL_Lib("exi", [ + Object(NonMatching, "revolution/EXI/EXIBios.c"), + Object(NonMatching, "revolution/EXI/EXIUart.c"), + Object(NonMatching, "revolution/EXI/EXICommon.c"), + ]), + RVL_Lib("si", [ + Object(NonMatching, "revolution/SI/SIBios.c"), + Object(NonMatching, "revolution/SI/SISamplingRate.c"), + ]), + RVL_Lib("db", [ + Object(Matching, "revolution/DB/db.c"), + ]), + RVL_Lib("vi", [ + Object(NonMatching, "revolution/VI/vi.c"), + Object(NonMatching, "revolution/VI/i2c.c"), + Object(NonMatching, "revolution/VI/vi3in1.c"), + ]), + RVL_Lib("mtx", [ + Object(NonMatching, "revolution/MTX/mtx.c"), + Object(NonMatching, "revolution/MTX/mtxvec.c"), + Object(NonMatching, "revolution/MTX/mtx44.c"), + Object(NonMatching, "revolution/MTX/mtx44vec.c"), + Object(NonMatching, "revolution/MTX/vec.c"), + Object(NonMatching, "revolution/MTX/quat.c"), + ]), + RVL_Lib("gx", [ + 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/GXDisplayList.c"), + Object(NonMatching, "revolution/GX/GXTransform.c"), + Object(NonMatching, "revolution/GX/GXPerf.c"), + ]), + RVL_Lib("ai", [ + Object(Matching, "revolution/AI/ai.c"), + ]), + RVL_Lib("ax", [ + Object(Matching, "revolution/AX/AX.c"), + Object(Matching, "revolution/AX/AXAlloc.c"), + Object(Matching, "revolution/AX/AXAux.c"), + Object(Matching, "revolution/AX/AXCL.c"), + Object(Matching, "revolution/AX/AXOut.c"), + Object(Matching, "revolution/AX/AXSPB.c"), + Object(Matching, "revolution/AX/AXVPB.c"), + Object(Matching, "revolution/AX/AXComp.c"), + Object(Matching, "revolution/AX/DSPCode.c"), + Object(Matching, "revolution/AX/AXProf.c"), + ]), + RVL_Lib("axfx", [ + Object(Matching, "revolution/AXFX/AXFXReverbHi.c"), + Object(NonMatching, "revolution/AXFX/AXFXReverbHiExp.c"), + Object(Matching, "revolution/AXFX/AXFXHooks.c"), + ]), + RVL_Lib("cx", [ + Object(Matching, "revolution/CX/CXUncompression.c"), + Object(NonMatching, "revolution/CX/CXSecureUncompression.c"), + ]), + RVL_Lib("dsp", [ + Object(NonMatching, "revolution/DSP/dsp.c"), + Object(Matching, "revolution/DSP/dsp_debug.c"), + Object(NonMatching, "revolution/DSP/dsp_task.c"), + ]), + RVL_Lib("nand", [ + Object(NonMatching, "revolution/NAND/nand.c"), + Object(Matching, "revolution/NAND/NANDOpenClose.c"), + Object(NonMatching, "revolution/NAND/NANDCore.c"), + ]), + RVL_Lib("sc", [ + Object(Equivalent, "revolution/SC/scapi.c"), + ]), + RVL_Lib("arc", [ + Object(NonMatching, "revolution/ARC/arc.c"), + ]), + RVL_Lib("mem", [ + Object(Matching, "revolution/MEM/mem_list.c"), + ]), { "lib": "nw4r/ef", "mw_version": config.linker_version, From ad33a2312cadc4e1cf3c99dc4e92102bdb2fee38 Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Sat, 11 Jul 2026 11:43:10 -0400 Subject: [PATCH 6/8] comment out new stuff --- config/S72E01/splits.txt | 50 +++++++++++++++++ configure.py | 116 +++++++++++++++++++++------------------ 2 files changed, 113 insertions(+), 53 deletions(-) diff --git a/config/S72E01/splits.txt b/config/S72E01/splits.txt index 7875645..12b14b0 100644 --- a/config/S72E01/splits.txt +++ b/config/S72E01/splits.txt @@ -493,6 +493,56 @@ revolution/GX/GXPerf.c: .text start:0x800390C0 end:0x800398F0 .data start:0x80431010 end:0x804310F8 +revolution/DVD/dvdfs.c: + .text start:0x800398F0 end:0x8003A140 + .data start:0x804310F8 end:0x80431260 + .sdata start:0x805565C8 end:0x805565D8 + .sbss start:0x8055CA30 end:0x8055CA60 + +revolution/DVD/dvd.c: + .text start:0x8003A140 end:0x8003F050 + .data start:0x80431260 end:0x804316A8 + .bss start:0x8049AE00 end:0x8049FAB0 + .sdata start:0x805565D8 end:0x805565F0 + .sbss start:0x8055CA60 end:0x8055CAF8 + +revolution/DVD/dvdqueue.c: + .text start:0x8003F050 end:0x8003F2D0 + .bss start:0x8049FAB0 end:0x8049FAE0 + +revolution/DVD/dvderror.c: + .text start:0x8003F2D0 end:0x8003FCF0 + .data start:0x804316A8 end:0x804316D8 + .bss start:0x8049FAE0 end:0x8049FD40 + .sbss start:0x8055CAF8 end:0x8055CB08 + +revolution/DVD/dvdidutils.c: + .text start:0x8003FCF0 end:0x8003FDE0 + +revolution/DVD/dvdFatal.c: + .text start:0x8003FDE0 end:0x8003FF50 + .rodata start:0x80407850 end:0x80407888 + .data start:0x804316D8 end:0x80431EA0 + .sdata start:0x805565F0 end:0x805565F8 + .sbss start:0x8055CB08 end:0x8055CB10 + .sdata2 start:0x8055E698 end:0x8055E6A0 + +revolution/DVD/dvdDeviceError.c: + .text start:0x8003FF50 end:0x800401E0 + .rodata start:0x80407888 end:0x804078A8 + .data start:0x80431EA0 end:0x80432038 + .bss start:0x8049FD40 end:0x8049FD60 + .sdata start:0x805565F8 end:0x80556600 + .sbss start:0x8055CB10 end:0x8055CB18 + .sdata2 start:0x8055E6A0 end:0x8055E6A8 + +revolution/DVD/dvd_broadway.c: + .text start:0x800401E0 end:0x80042860 + .data start:0x80432038 end:0x80432F40 + .bss start:0x8049FD60 end:0x8049FF20 + .sdata start:0x80556600 end:0x80556610 + .sbss start:0x8055CB18 end:0x8055CB40 + revolution/AI/ai.c: .text start:0x80042860 end:0x80042E10 align:16 .data start:0x80432F40 end:0x80432F88 diff --git a/configure.py b/configure.py index 190b0d3..c8288d9 100755 --- a/configure.py +++ b/configure.py @@ -416,42 +416,42 @@ def MatchingFor(*versions): # Object(NonMatching, "revolution/OS/OS.c"), Object(Matching, "revolution/OS/OSAlarm.c"), Object(Matching, "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/OSReset.c"), - Object(NonMatching, "revolution/OS/OSReboot.c"), - Object(NonMatching, "revolution/OS/OSRtc.c"), - Object(NonMatching, "revolution/OS/OSSemaphore.c"), - Object(NonMatching, "revolution/OS/OSSync.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/OSReset.c"), + # Object(NonMatching, "revolution/OS/OSReboot.c"), + # Object(NonMatching, "revolution/OS/OSRtc.c"), + # Object(NonMatching, "revolution/OS/OSSemaphore.c"), + # Object(NonMatching, "revolution/OS/OSSync.c"), Object(Matching, "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/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/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"), ]), RVL_Lib("exi", [ - Object(NonMatching, "revolution/EXI/EXIBios.c"), - Object(NonMatching, "revolution/EXI/EXIUart.c"), - Object(NonMatching, "revolution/EXI/EXICommon.c"), + # Object(NonMatching, "revolution/EXI/EXIBios.c"), + # Object(NonMatching, "revolution/EXI/EXIUart.c"), + # Object(NonMatching, "revolution/EXI/EXICommon.c"), ]), RVL_Lib("si", [ Object(NonMatching, "revolution/SI/SIBios.c"), @@ -462,32 +462,42 @@ def MatchingFor(*versions): ]), RVL_Lib("vi", [ Object(NonMatching, "revolution/VI/vi.c"), - Object(NonMatching, "revolution/VI/i2c.c"), - Object(NonMatching, "revolution/VI/vi3in1.c"), + # Object(NonMatching, "revolution/VI/i2c.c"), + # Object(NonMatching, "revolution/VI/vi3in1.c"), ]), RVL_Lib("mtx", [ - Object(NonMatching, "revolution/MTX/mtx.c"), - Object(NonMatching, "revolution/MTX/mtxvec.c"), - Object(NonMatching, "revolution/MTX/mtx44.c"), - Object(NonMatching, "revolution/MTX/mtx44vec.c"), - Object(NonMatching, "revolution/MTX/vec.c"), - Object(NonMatching, "revolution/MTX/quat.c"), + # Object(NonMatching, "revolution/MTX/mtx.c"), + # Object(NonMatching, "revolution/MTX/mtxvec.c"), + # Object(NonMatching, "revolution/MTX/mtx44.c"), + # Object(NonMatching, "revolution/MTX/mtx44vec.c"), + # Object(NonMatching, "revolution/MTX/vec.c"), + # Object(NonMatching, "revolution/MTX/quat.c"), ]), RVL_Lib("gx", [ - 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/GXDisplayList.c"), - Object(NonMatching, "revolution/GX/GXTransform.c"), - Object(NonMatching, "revolution/GX/GXPerf.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/GXDisplayList.c"), + # Object(NonMatching, "revolution/GX/GXTransform.c"), + # Object(NonMatching, "revolution/GX/GXPerf.c"), + ]), + RVL_Lib("dvd", [ + # 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"), ]), RVL_Lib("ai", [ Object(Matching, "revolution/AI/ai.c"), From 5bd4217593442084d7de35b28309c411e060c4aa Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Sat, 11 Jul 2026 11:45:33 -0400 Subject: [PATCH 7/8] forgout to comment si --- configure.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.py b/configure.py index c8288d9..6fc0831 100755 --- a/configure.py +++ b/configure.py @@ -454,8 +454,8 @@ def MatchingFor(*versions): # Object(NonMatching, "revolution/EXI/EXICommon.c"), ]), RVL_Lib("si", [ - Object(NonMatching, "revolution/SI/SIBios.c"), - Object(NonMatching, "revolution/SI/SISamplingRate.c"), + # Object(NonMatching, "revolution/SI/SIBios.c"), + # Object(NonMatching, "revolution/SI/SISamplingRate.c"), ]), RVL_Lib("db", [ Object(Matching, "revolution/DB/db.c"), From 0d427051ad6d6c23088d8021fb139b7f3a7cd255 Mon Sep 17 00:00:00 2001 From: ThePlayerRolo Date: Sat, 11 Jul 2026 11:59:11 -0400 Subject: [PATCH 8/8] cxomment out OSStateTMN --- configure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.py b/configure.py index 6fc0831..770ebbe 100755 --- a/configure.py +++ b/configure.py @@ -438,7 +438,7 @@ def MatchingFor(*versions): 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/OSStateTM.c"), # Object(NonMatching, "revolution/OS/OSPlayRecord.c"), # Object(NonMatching, "revolution/OS/OSStateFlags.c"), # Object(NonMatching, "revolution/OS/OSNet.c"),