From 8eae8919c8f53c4c5015ef9b664c6cd2f7c31f8b Mon Sep 17 00:00:00 2001 From: Max Roncace Date: Tue, 23 Jun 2026 03:29:49 +0100 Subject: [PATCH] m_Do_main mostly matching for Wii versions (#3165) * m_Do_main mostly matching for Wii versions * Use machine-specific PCH for all m_Do TUs --- config/DZDE01/splits.txt | 13 +- config/DZDE01/symbols.txt | 97 +++-- config/RZDE01_00/splits.txt | 7 +- config/RZDE01_00/symbols.txt | 85 ++-- config/RZDE01_02/splits.txt | 7 +- config/RZDE01_02/symbols.txt | 99 +++-- config/RZDJ01/splits.txt | 7 +- config/RZDJ01/symbols.txt | 95 ++-- config/RZDP01/splits.txt | 7 +- config/RZDP01/symbols.txt | 103 +++-- configure.py | 6 + include/m_Do/m_Do_ext.h | 1 - include/m_Do/m_Do_hostIO.h | 32 +- include/m_Do/m_Do_main.h | 36 +- include/m_Do/machine.h | 10 + include/m_Do/machine.pch | 15 + .../JSystem/include/JSystem/JKernel/JKRHeap.h | 2 +- src/Z2AudioLib/Z2DebugSys.cpp | 4 + src/m_Do/m_Do_DVDError.cpp | 3 + src/m_Do/m_Do_MemCard.cpp | 3 + src/m_Do/m_Do_MemCardRWmng.cpp | 2 + src/m_Do/m_Do_Reset.cpp | 2 + src/m_Do/m_Do_audio.cpp | 2 + src/m_Do/m_Do_controller_pad.cpp | 2 + src/m_Do/m_Do_dvd_thread.cpp | 4 + src/m_Do/m_Do_ext.cpp | 2 +- src/m_Do/m_Do_ext2.cpp | 3 +- src/m_Do/m_Do_graphic.cpp | 2 +- src/m_Do/m_Do_hostIO.cpp | 2 + src/m_Do/m_Do_lib.cpp | 2 + src/m_Do/m_Do_machine.cpp | 2 + src/m_Do/m_Do_machine_exception.cpp | 2 + src/m_Do/m_Do_main.cpp | 405 ++++++++++++------ src/m_Do/m_Do_mtx.cpp | 2 + src/m_Do/m_Do_printf.cpp | 2 + 35 files changed, 690 insertions(+), 378 deletions(-) create mode 100644 include/m_Do/machine.h create mode 100644 include/m_Do/machine.pch diff --git a/config/DZDE01/splits.txt b/config/DZDE01/splits.txt index 246234ac2d..279181eb71 100644 --- a/config/DZDE01/splits.txt +++ b/config/DZDE01/splits.txt @@ -20,15 +20,15 @@ d/d_home_button.cpp: d/d_cursor_mng.cpp: .text start:0x80006D90 end:0x80007BC8 .data start:0x803BD040 end:0x803BD168 - .sdata start:0x804F77C0 end:0x804F780C + .sdata start:0x804F77C0 end:0x804F77F8 .sbss start:0x804FA8C8 end:0x804FA8D8 .sdata2 start:0x804FBB18 end:0x804FBB30 d/d_E3Stage_select06.cpp: .text start:0x80007BC8 end:0x800097C4 .data start:0x803BD168 end:0x803BD3A0 - .sdata start:0x804F780C end:0x804F783C - .sbss start:0x804FA8D8 end:0x804FA8E8 + .sdata start:0x804F77F8 end:0x804F7838 + .sbss start:0x804FA8D8 end:0x804FA8E0 .sdata2 start:0x804FBB30 end:0x804FBB78 m_Do/m_Do_main.cpp: @@ -36,15 +36,16 @@ m_Do/m_Do_main.cpp: .ctors start:0x80396104 end:0x80396108 .data start:0x803BD3A0 end:0x803BD6B8 .bss start:0x8040B480 end:0x8040B8E0 - .sdata start:0x804F783C end:0x804F78B8 - .sbss start:0x804FA8E8 end:0x804FA910 + .sdata start:0x804F7838 end:0x804F78B0 + .sbss start:0x804FA8E0 end:0x804FA908 .sdata2 start:0x804FBB78 end:0x804FBB90 m_Do/m_Do_printf.cpp: .text start:0x8000A5DC end:0x8000ACF4 .data start:0x803BD6B8 end:0x803BD770 .bss start:0x8040B8E0 end:0x8040C0E0 - .sbss start:0x804FA910 end:0x804FA92C + .sdata start:0x804F78B0 end:0x804F78B8 + .sbss start:0x804FA908 end:0x804FA928 m_Do/m_Do_audio.cpp: .text start:0x8000ACF4 end:0x8000B698 diff --git a/config/DZDE01/symbols.txt b/config/DZDE01/symbols.txt index e87ce1993a..c7dff24e8e 100644 --- a/config/DZDE01/symbols.txt +++ b/config/DZDE01/symbols.txt @@ -18950,19 +18950,42 @@ lbl_803BD381 = .data:0x803BD381; // type:object size:0xE data:string ...data.0 = .data:0x803BD3A0; // type:label scope:local align:4 COPYDATE_STRING__7mDoMain = .data:0x803BD3A0; // type:object size:0x12 scope:global align:4 data:string HeapCheckTable = .data:0x803BD3B4; // type:object size:0x20 scope:global align:4 -lbl_803BD3D4 = .data:0x803BD3D4; // type:object size:0x113 -lbl_803BD4E7 = .data:0x803BD4E7; // type:object size:0xA data:string -lbl_803BD4F1 = .data:0x803BD4F1; // type:object size:0xA data:string -lbl_803BD4FB = .data:0x803BD4FB; // type:object size:0xA data:string -lbl_803BD505 = .data:0x803BD505; // type:object size:0xA data:string +@47789 = .data:0x803BD3D4; // type:object size:0x9 data:string +@47790 = .data:0x803BD3DD; // type:object size:0x16 data:string +@47791 = .data:0x803BD3F3; // type:object size:0x16 data:string +@47792 = .data:0x803BD409; // type:object size:0x16 data:string +@47793 = .data:0x803BD41F; // type:object size:0x16 data:string +@47794 = .data:0x803BD435; // type:object size:0x16 data:string +@47795 = .data:0x803BD44B; // type:object size:0x1C data:string +@47796 = .data:0x803BD467; // type:object size:0x16 data:string +@47797 = .data:0x803BD47D; // type:object size:0x1C data:string +@47798 = .data:0x803BD499; // type:object size:0x16 data:string +@47799 = .data:0x803BD4AF; // type:object size:0x1C data:string +@47800 = .data:0x803BD4CB; // type:object size:0x1C data:string +@46799 = .data:0x803BD4E7; // type:object size:0xA data:string +@46800 = .data:0x803BD4F1; // type:object size:0xA data:string +@46801 = .data:0x803BD4FB; // type:object size:0xA data:string +@46802 = .data:0x803BD505; // type:object size:0xA data:string desc1$90840 = .data:0x803BD510; // type:object size:0x14 scope:local align:4 -lbl_803BD524 = .data:0x803BD524; // type:object size:0xA data:string -lbl_803BD52E = .data:0x803BD52E; // type:object size:0xA data:string -lbl_803BD538 = .data:0x803BD538; // type:object size:0xA data:string +@46804 = .data:0x803BD524; // type:object size:0xA data:string +@46805 = .data:0x803BD52E; // type:object size:0xA data:string +@46816 = .data:0x803BD538; // type:object size:0xA data:string desc2$90846 = .data:0x803BD544; // type:object size:0x14 scope:local align:4 -lbl_803BD558 = .data:0x803BD558; // type:object size:0x103 -lbl_803BD65B = .data:0x803BD65B; // type:object size:0xA data:string -lbl_803BD665 = .data:0x803BD665; // type:object size:0x53 +@47808 = .data:0x803BD558; // type:object size:0x1D data:string +@47957 = .data:0x803BD575; // type:object size:0xA data:string +@47959 = .data:0x803BD57F; // type:object size:0xA data:string +@47966 = .data:0x803BD589; // type:object size:0x22 data:string +@47967 = .data:0x803BD5AB; // type:object size:0x1A data:string +@47968 = .data:0x803BD5C5; // type:object size:0x29 data:string +@47969 = .data:0x803BD5EE; // type:object size:0x1F data:string +@47970 = .data:0x803BD60D; // type:object size:0x26 data:string +@47971 = .data:0x803BD633; // type:object size:0x28 data:string +@48001 = .data:0x803BD65B; // type:object size:0xA data:string +@48003 = .data:0x803BD665; // type:object size:0x2B data:string +@48009 = .data:0x803BD690; // type:object size:0x9 data:string +@48015 = .data:0x803BD699; // type:object size:0xB data:string +@48019 = .data:0x803BD6A4; // type:object size:0x9 data:string +@48021 = .data:0x803BD6AD; // type:object size:0x9 data:string ...data.0 = .data:0x803BD6B8; // type:label scope:local align:4 lbl_803BD6D9 = .data:0x803BD6D9; // type:object size:0x1C lbl_803BD6F5 = .data:0x803BD6F5; // type:object size:0x10 @@ -24050,7 +24073,7 @@ J2dHeapCheck = .bss:0x8040B548; // type:object size:0x28 scope:global align:4 HostioHeapCheck = .bss:0x8040B570; // type:object size:0x28 scope:global align:4 CommandHeapCheck = .bss:0x8040B598; // type:object size:0x28 scope:global align:4 mainThread = .bss:0x8040B5C0; // type:object size:0x318 scope:global align:4 -mDoPrintf_FiberStack = .bss:0x8040B8E0; // type:object size:0x800 scope:global align:4 +mDoPrintf_FiberStack = .bss:0x8040B8E0; // type:object size:0x800 scope:global align:32 @90200 = .bss:0x8040C0E0; // type:object size:0xC scope:local align:4 g_mDoAud_zelAudio = .bss:0x8040C0EC; // type:object size:0x13A8 scope:global align:4 m_gamePad__8mDoCPd_c = .bss:0x8040D498; // type:object size:0x10 scope:global align:4 data:4byte @@ -24894,30 +24917,30 @@ __RTTI__16dDlst_SatgeSel_c = .sdata:0x804F7814; // type:object size:0x8 scope:gl __RTTI__9dSs_HIO_c = .sdata:0x804F781C; // type:object size:0x8 scope:global align:4 __RTTI__12dDlst_base_c = .sdata:0x804F7824; // type:object size:0x8 scope:global align:4 __RTTI__13JORReflexible = .sdata:0x804F782C; // type:object size:0x8 scope:global align:4 -lbl_804F7838 = .sdata:0x804F7838; // type:object size:0x1 data:byte +developmentMode__7mDoMain = .sdata:0x804F7838; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x804F783C; // type:object size:0x4 scope:global align:4 data:4byte -lbl_804F7840 = .sdata:0x804F7840; // type:object size:0x1 data:byte -lbl_804F7841 = .sdata:0x804F7841; // type:object size:0x3 +mHeapBriefType = .sdata:0x804F7840; // type:object size:0x1 data:byte +@46798 = .sdata:0x804F7841; // type:object size:0x1 data:byte console_position_x$90872 = .sdata:0x804F7844; // type:object size:0x4 scope:local align:4 data:float console_position_y$90873 = .sdata:0x804F7848; // type:object size:0x4 scope:local align:4 data:float -lbl_804F784C = .sdata:0x804F784C; // type:object size:0x3 data:string -lbl_804F784F = .sdata:0x804F784F; // type:object size:0x3 data:string -lbl_804F7852 = .sdata:0x804F7852; // type:object size:0x6 data:string -lbl_804F7858 = .sdata:0x804F7858; // type:object size:0x5 data:string -lbl_804F785D = .sdata:0x804F785D; // type:object size:0x7 data:string -lbl_804F7864 = .sdata:0x804F7864; // type:object size:0x5 data:string -lbl_804F7869 = .sdata:0x804F7869; // type:object size:0x7 -lbl_804F7870 = .sdata:0x804F7870; // type:object size:0x7 data:string -lbl_804F7877 = .sdata:0x804F7877; // type:object size:0x6 data:string -lbl_804F787D = .sdata:0x804F787D; // type:object size:0x7 -lbl_804F7884 = .sdata:0x804F7884; // type:object size:0x5 data:string -lbl_804F7889 = .sdata:0x804F7889; // type:object size:0x7 -lbl_804F7890 = .sdata:0x804F7890; // type:object size:0x8 data:string -lbl_804F7898 = .sdata:0x804F7898; // type:object size:0x4 data:string -lbl_804F789C = .sdata:0x804F789C; // type:object size:0x4 data:string -lbl_804F78A0 = .sdata:0x804F78A0; // type:object size:0x7 data:string -lbl_804F78A7 = .sdata:0x804F78A7; // type:object size:0x8 data:string -lbl_804F78B0 = .sdata:0x804F78B0; // type:object size:0x8 +@47958 = .sdata:0x804F784C; // type:object size:0x3 data:string +@47960 = .sdata:0x804F784F; // type:object size:0x3 data:string +@47961 = .sdata:0x804F7852; // type:object size:0x6 data:string +@47962 = .sdata:0x804F7858; // type:object size:0x5 data:string +@48002 = .sdata:0x804F785D; // type:object size:0x7 data:string +@48006 = .sdata:0x804F7864; // type:object size:0x5 data:string +@48007 = .sdata:0x804F7869; // type:object size:0x7 data:string +@48008 = .sdata:0x804F7870; // type:object size:0x7 data:string +@48010 = .sdata:0x804F7877; // type:object size:0x6 data:string +@48011 = .sdata:0x804F787D; // type:object size:0x7 data:string +@48012 = .sdata:0x804F7884; // type:object size:0x5 data:string +@48013 = .sdata:0x804F7889; // type:object size:0x7 data:string +@48014 = .sdata:0x804F7890; // type:object size:0x8 data:string +@48016 = .sdata:0x804F7898; // type:object size:0x4 data:string +@48017 = .sdata:0x804F789C; // type:object size:0x4 data:string +@48018 = .sdata:0x804F78A0; // type:object size:0x7 data:string +@48020 = .sdata:0x804F78A7; // type:object size:0x8 data:string +lbl_804F78B0 = .sdata:0x804F78B0; // type:object size:0x4 scope:local data:string __RTTI__17mDoAud_zelAudio_c = .sdata:0x804F78B8; // type:object size:0x8 scope:global align:4 __RTTI__10Z2AudioMgr = .sdata:0x804F78C0; // type:object size:0x8 scope:global align:4 __RTTI__13Z2SoundObjMgr = .sdata:0x804F78C8; // type:object size:0x8 scope:global align:4 @@ -26871,12 +26894,12 @@ m_myObj__10dCsr_mng_c = .sbss:0x804FA8C8; // type:object size:0x4 scope:global a lbl_804FA8D0 = .sbss:0x804FA8D0; // type:object size:0x1 data:byte l_bloCsr = .sbss:0x804FA8D8; // type:object size:0x4 scope:local align:4 data:4byte l_bloObj = .sbss:0x804FA8DC; // type:object size:0x4 scope:local align:4 data:4byte -lbl_804FA8E0 = .sbss:0x804FA8E0; // type:object size:0x1 data:byte +fillcheck_check_frame = .sbss:0x804FA8E0; // type:object size:0x1 data:byte sPowerOnTime__7mDoMain = .sbss:0x804FA8E8; // type:object size:0x8 scope:global align:4 data:4byte sHungUpTime__7mDoMain = .sbss:0x804FA8F0; // type:object size:0x8 scope:global align:4 data:4byte -lbl_804FA8F8 = .sbss:0x804FA8F8; // type:object size:0x1 data:byte -lbl_804FA8F9 = .sbss:0x804FA8F9; // type:object size:0x1 data:byte -lbl_804FA8FA = .sbss:0x804FA8FA; // type:object size:0x1 data:byte +mDisplayHeapSize = .sbss:0x804FA8F8; // type:object size:0x1 data:byte +mSelectHeapBar = .sbss:0x804FA8F9; // type:object size:0x1 data:byte +mCheckHeap = .sbss:0x804FA8FA; // type:object size:0x1 data:byte console_scroll$90874 = .sbss:0x804FA8FC; // type:object size:0x4 scope:local align:4 data:float frame$91010 = .sbss:0x804FA900; // type:object size:0x4 scope:local align:4 data:4byte lbl_804FA908 = .sbss:0x804FA908; // type:object size:0x1 data:byte diff --git a/config/RZDE01_00/splits.txt b/config/RZDE01_00/splits.txt index d53c57b657..36d8346201 100644 --- a/config/RZDE01_00/splits.txt +++ b/config/RZDE01_00/splits.txt @@ -23,21 +23,22 @@ d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803F5618 end:0x803F5740 .sdata start:0x80537528 end:0x80537560 - .sbss start:0x8053A728 end:0x8053A740 + .sbss start:0x8053A728 end:0x8053A738 .sdata2 start:0x8053B9F8 end:0x8053BA10 m_Do/m_Do_main.cpp: .text start:0x8000820C end:0x80008EE8 .data start:0x803F5740 end:0x803F5B28 .bss start:0x80449B80 end:0x80449EA0 - .sdata start:0x80537560 end:0x805375C0 - .sbss start:0x8053A740 end:0x8053A760 + .sdata start:0x80537560 end:0x805375B8 + .sbss start:0x8053A738 end:0x8053A760 .sdata2 start:0x8053BA10 end:0x8053BA28 m_Do/m_Do_printf.cpp: .text start:0x80008EE8 end:0x800095CC .data start:0x803F5B28 end:0x803F5BE0 .bss start:0x80449EA0 end:0x8044A6A0 + .sdata start:0x805375B8 end:0x805375C0 .sbss start:0x8053A760 end:0x8053A780 m_Do/m_Do_audio.cpp: diff --git a/config/RZDE01_00/symbols.txt b/config/RZDE01_00/symbols.txt index 5ad63ebfc2..a378ca920f 100644 --- a/config/RZDE01_00/symbols.txt +++ b/config/RZDE01_00/symbols.txt @@ -19490,19 +19490,38 @@ ArchiveHeapCheck = .data:0x803F57E4; // type:object size:0x24 scope:global align J2dHeapCheck = .data:0x803F5808; // type:object size:0x24 scope:global align:4 CommandHeapCheck = .data:0x803F582C; // type:object size:0x24 scope:global align:4 HeapCheckTable = .data:0x803F5850; // type:object size:0x1C scope:global align:4 -lbl_803F586C = .data:0x803F586C; // type:object size:0x113 -lbl_803F597F = .data:0x803F597F; // type:object size:0xA data:string -lbl_803F5989 = .data:0x803F5989; // type:object size:0xA data:string -lbl_803F5993 = .data:0x803F5993; // type:object size:0xA data:string -lbl_803F599D = .data:0x803F599D; // type:object size:0xA data:string -desc1$90804 = .data:0x803F59A8; // type:object size:0x14 scope:local align:4 -lbl_803F59BC = .data:0x803F59BC; // type:object size:0xA data:string -lbl_803F59C6 = .data:0x803F59C6; // type:object size:0xA data:string -lbl_803F59D0 = .data:0x803F59D0; // type:object size:0xA data:string -desc2$90810 = .data:0x803F59DC; // type:object size:0x14 scope:local align:4 -lbl_803F59F0 = .data:0x803F59F0; // type:object size:0x103 -lbl_803F5AF3 = .data:0x803F5AF3; // type:object size:0xA data:string -lbl_803F5AFD = .data:0x803F5AFD; // type:object size:0x2B +@47789 = .data:0x803F586C; // type:object size:0x9 data:string +@47790 = .data:0x803F5875; // type:object size:0x16 data:string +@47791 = .data:0x803F588B; // type:object size:0x16 data:string +@47792 = .data:0x803F58A1; // type:object size:0x16 data:string +@47793 = .data:0x803F58B7; // type:object size:0x16 data:string +@47794 = .data:0x803F58CD; // type:object size:0x16 data:string +@47795 = .data:0x803F58E3; // type:object size:0x1C data:string +@47796 = .data:0x803F58FF; // type:object size:0x16 data:string +@47797 = .data:0x803F5915; // type:object size:0x1C data:string +@47798 = .data:0x803F5931; // type:object size:0x16 data:string +@47799 = .data:0x803F5947; // type:object size:0x1C data:string +@47800 = .data:0x803F5963; // type:object size:0x1C data:string +@46799 = .data:0x803F597F; // type:object size:0xA data:string +@46800 = .data:0x803F5989; // type:object size:0xA data:string +@46801 = .data:0x803F5993; // type:object size:0xA data:string +@46802 = .data:0x803F599D; // type:object size:0xA data:string +desc1$90840 = .data:0x803F59A8; // type:object size:0x14 scope:local align:4 +@46804 = .data:0x803F59BC; // type:object size:0xA data:string +@46805 = .data:0x803F59C6; // type:object size:0xA data:string +@46816 = .data:0x803F59D0; // type:object size:0xA data:string +desc2$90846 = .data:0x803F59DC; // type:object size:0x14 scope:local align:4 +@47808 = .data:0x803F59F0; // type:object size:0x1D data:string +@47957 = .data:0x803F5A0D; // type:object size:0xA data:string +@47959 = .data:0x803F5A17; // type:object size:0xA data:string +@47966 = .data:0x803F5A21; // type:object size:0x22 data:string +@47967 = .data:0x803F5A43; // type:object size:0x1A data:string +@47968 = .data:0x803F5A5D; // type:object size:0x29 data:string +@47969 = .data:0x803F5A86; // type:object size:0x1F data:string +@47970 = .data:0x803F5AA5; // type:object size:0x26 data:string +@47971 = .data:0x803F5ACB; // type:object size:0x28 data:string +@48001 = .data:0x803F5AF3; // type:object size:0xA data:string +@48003 = .data:0x803F5AFD; // type:object size:0x2B data:string ...data.0 = .data:0x803F5B28; // type:label scope:local align:4 lbl_803F5B49 = .data:0x803F5B49; // type:object size:0x1C lbl_803F5B65 = .data:0x803F5B65; // type:object size:0x10 @@ -25164,7 +25183,7 @@ gTRKStepStatus = .data:0x80449ACC; // type:object size:0x14 scope:global align:4 TRK_ISR_OFFSETS = .data:0x80449AE0; // type:object size:0x3C scope:global align:4 data:4byte gDBCommTable = .data:0x80449B20; // type:object size:0x28 scope:global align:4 data:4byte mainThread = .bss:0x80449B80; // type:object size:0x318 scope:global align:4 -mDoPrintf_FiberStack = .bss:0x80449EA0; // type:object size:0x800 scope:global align:4 +mDoPrintf_FiberStack = .bss:0x80449EA0; // type:object size:0x800 scope:global align:32 @90194 = .bss:0x8044A6A0; // type:object size:0xC scope:local align:4 g_mDoAud_zelAudio = .bss:0x8044A6AC; // type:object size:0x13A4 scope:global align:4 m_gamePad__8mDoCPd_c = .bss:0x8044BA50; // type:object size:0x10 scope:global align:4 data:4byte @@ -26021,23 +26040,23 @@ __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x80537550; // type:object size:0x8 scope __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x80537558; // type:object size:0x8 scope:global align:4 developmentMode__7mDoMain = .sdata:0x80537560; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x80537564; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80537568 = .sdata:0x80537568; // type:object size:0x1 data:byte -lbl_80537569 = .sdata:0x80537569; // type:object size:0x5 data:string -lbl_8053756E = .sdata:0x8053756E; // type:object size:0x7 data:string -lbl_80537575 = .sdata:0x80537575; // type:object size:0x6 data:string -lbl_8053757B = .sdata:0x8053757B; // type:object size:0x5 data:string -lbl_80537580 = .sdata:0x80537580; // type:object size:0x8 data:string -lbl_80537588 = .sdata:0x80537588; // type:object size:0x4 data:string -lbl_8053758C = .sdata:0x8053758C; // type:object size:0x8 data:string -lbl_80537594 = .sdata:0x80537594; // type:object size:0x4 +mHeapBriefType = .sdata:0x80537568; // type:object size:0x1 data:byte +@46659 = .sdata:0x80537569; // type:object size:0x5 scope:local data:string +@46660 = .sdata:0x8053756E; // type:object size:0x7 scope:local data:string +@46661 = .sdata:0x80537575; // type:object size:0x6 scope:local data:string +@46662 = .sdata:0x8053757B; // type:object size:0x5 scope:local data:string +@46663 = .sdata:0x80537580; // type:object size:0x8 scope:local data:string +@46664 = .sdata:0x80537588; // type:object size:0x4 scope:local data:string +@46665 = .sdata:0x8053758C; // type:object size:0x8 scope:local data:string +@46751 = .sdata:0x80537594; // type:object size:0x1 scope:local data:byte console_position_x$90835 = .sdata:0x80537598; // type:object size:0x4 scope:local align:4 data:float console_position_y$90836 = .sdata:0x8053759C; // type:object size:0x4 scope:local align:4 data:float -lbl_805375A0 = .sdata:0x805375A0; // type:object size:0x3 data:string -lbl_805375A3 = .sdata:0x805375A3; // type:object size:0x3 data:string -lbl_805375A6 = .sdata:0x805375A6; // type:object size:0x6 data:string -lbl_805375AC = .sdata:0x805375AC; // type:object size:0x5 data:string -lbl_805375B1 = .sdata:0x805375B1; // type:object size:0x7 data:string -lbl_805375B8 = .sdata:0x805375B8; // type:object size:0x8 +@47797 = .sdata:0x805375A0; // type:object size:0x3 scope:local data:string +@47799 = .sdata:0x805375A3; // type:object size:0x3 scope:local data:string +@47800 = .sdata:0x805375A6; // type:object size:0x6 scope:local data:string +@47801 = .sdata:0x805375AC; // type:object size:0x5 scope:local data:string +@47834 = .sdata:0x805375B1; // type:object size:0x7 scope:local data:string +lbl_805375B8 = .sdata:0x805375B8; // type:object size:0x4 scope:local data:string __RTTI__17mDoAud_zelAudio_c = .sdata:0x805375C0; // type:object size:0x8 scope:global align:4 __RTTI__10Z2AudioMgr = .sdata:0x805375C8; // type:object size:0x8 scope:global align:4 __RTTI__13Z2SoundObjMgr = .sdata:0x805375D0; // type:object size:0x8 scope:global align:4 @@ -28039,12 +28058,12 @@ lbl_8053A724 = .sbss:0x8053A724; // type:object size:0x1 data:byte lbl_8053A725 = .sbss:0x8053A725; // type:object size:0x1 data:byte m_myObj__10dCsr_mng_c = .sbss:0x8053A728; // type:object size:0x4 scope:global align:4 data:4byte lbl_8053A730 = .sbss:0x8053A730; // type:object size:0x8 data:byte -lbl_8053A738 = .sbss:0x8053A738; // type:object size:0x1 data:byte +fillcheck_check_frame = .sbss:0x8053A738; // type:object size:0x1 data:byte sPowerOnTime__7mDoMain = .sbss:0x8053A740; // type:object size:0x8 scope:global align:4 data:4byte sHungUpTime__7mDoMain = .sbss:0x8053A748; // type:object size:0x8 scope:global align:4 data:4byte -lbl_8053A750 = .sbss:0x8053A750; // type:object size:0x1 data:byte -lbl_8053A751 = .sbss:0x8053A751; // type:object size:0x1 data:byte -lbl_8053A752 = .sbss:0x8053A752; // type:object size:0x1 data:byte +mDisplayHeapSize = .sbss:0x8053A750; // type:object size:0x1 data:byte +mSelectHeapBar = .sbss:0x8053A751; // type:object size:0x1 data:byte +mCheckHeap = .sbss:0x8053A752; // type:object size:0x1 data:byte console_scroll$90837 = .sbss:0x8053A754; // type:object size:0x4 scope:local align:4 data:float frame$90973 = .sbss:0x8053A758; // type:object size:0x4 scope:local align:4 data:4byte __OSReport_disable = .sbss:0x8053A760; // type:object size:0x1 data:byte diff --git a/config/RZDE01_02/splits.txt b/config/RZDE01_02/splits.txt index 1156713d7c..56822eabe7 100644 --- a/config/RZDE01_02/splits.txt +++ b/config/RZDE01_02/splits.txt @@ -23,7 +23,7 @@ d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803E0978 end:0x803E0AA0 .sdata start:0x8051D5A8 end:0x8051D5E0 - .sbss start:0x80520728 end:0x80520740 + .sbss start:0x80520728 end:0x80520738 .sdata2 start:0x805219F8 end:0x80521A10 m_Do/m_Do_main.cpp: @@ -31,14 +31,15 @@ m_Do/m_Do_main.cpp: .ctors start:0x803B8C84 end:0x803B8C88 .data start:0x803E0AA0 end:0x803E0DB8 .bss start:0x80431040 end:0x804314A0 - .sdata start:0x8051D5E0 end:0x8051D660 - .sbss start:0x80520740 end:0x80520760 + .sdata start:0x8051D5E0 end:0x8051D658 + .sbss start:0x80520738 end:0x80520760 .sdata2 start:0x80521A10 end:0x80521A28 m_Do/m_Do_printf.cpp: .text start:0x80009024 end:0x8000973C .data start:0x803E0DB8 end:0x803E0E70 .bss start:0x804314A0 end:0x80431CA0 + .sdata start:0x8051D658 end:0x8051D660 .sbss start:0x80520760 end:0x80520780 m_Do/m_Do_audio.cpp: diff --git a/config/RZDE01_02/symbols.txt b/config/RZDE01_02/symbols.txt index 60296e79e7..9663b1a441 100644 --- a/config/RZDE01_02/symbols.txt +++ b/config/RZDE01_02/symbols.txt @@ -19429,19 +19429,42 @@ lbl_803E0A8B = .data:0x803E0A8B; // type:object size:0x13 data:string ...data.0 = .data:0x803E0AA0; // type:label scope:local align:4 COPYDATE_STRING__7mDoMain = .data:0x803E0AA0; // type:object size:0x12 scope:global align:4 data:string HeapCheckTable = .data:0x803E0AB4; // type:object size:0x20 scope:global align:4 -lbl_803E0AD4 = .data:0x803E0AD4; // type:object size:0x113 -lbl_803E0BE7 = .data:0x803E0BE7; // type:object size:0xA data:string -lbl_803E0BF1 = .data:0x803E0BF1; // type:object size:0xA data:string -lbl_803E0BFB = .data:0x803E0BFB; // type:object size:0xA data:string -lbl_803E0C05 = .data:0x803E0C05; // type:object size:0xA data:string +@47789 = .data:0x803E0AD4; // type:object size:0x9 data:string +@47790 = .data:0x803E0ADD; // type:object size:0x16 data:string +@47791 = .data:0x803E0AF3; // type:object size:0x16 data:string +@47792 = .data:0x803E0B09; // type:object size:0x16 data:string +@47793 = .data:0x803E0B1F; // type:object size:0x16 data:string +@47794 = .data:0x803E0B35; // type:object size:0x16 data:string +@47795 = .data:0x803E0B4B; // type:object size:0x1C data:string +@47796 = .data:0x803E0B67; // type:object size:0x16 data:string +@47797 = .data:0x803E0B7D; // type:object size:0x1C data:string +@47798 = .data:0x803E0B99; // type:object size:0x16 data:string +@47799 = .data:0x803E0BAF; // type:object size:0x1C data:string +@47800 = .data:0x803E0BCB; // type:object size:0x1C data:string +@46799 = .data:0x803E0BE7; // type:object size:0xA data:string +@46800 = .data:0x803E0BF1; // type:object size:0xA data:string +@46801 = .data:0x803E0BFB; // type:object size:0xA data:string +@46802 = .data:0x803E0C05; // type:object size:0xA data:string desc1$90840 = .data:0x803E0C10; // type:object size:0x14 scope:global align:4 -lbl_803E0C24 = .data:0x803E0C24; // type:object size:0xA data:string -lbl_803E0C2E = .data:0x803E0C2E; // type:object size:0xA data:string -lbl_803E0C38 = .data:0x803E0C38; // type:object size:0xA data:string +@46804 = .data:0x803E0C24; // type:object size:0xA data:string +@46805 = .data:0x803E0C2E; // type:object size:0xA data:string +@46816 = .data:0x803E0C38; // type:object size:0xA data:string desc2$90846 = .data:0x803E0C44; // type:object size:0x14 scope:global align:4 -lbl_803E0C58 = .data:0x803E0C58; // type:object size:0x103 -lbl_803E0D5B = .data:0x803E0D5B; // type:object size:0xA data:string -lbl_803E0D65 = .data:0x803E0D65; // type:object size:0x53 +@47808 = .data:0x803E0C58; // type:object size:0x1D data:string +@47957 = .data:0x803E0C75; // type:object size:0xA data:string +@47959 = .data:0x803E0C7F; // type:object size:0xA data:string +@47966 = .data:0x803E0C89; // type:object size:0x22 data:string +@47967 = .data:0x803E0CAB; // type:object size:0x1A data:string +@47968 = .data:0x803E0CC5; // type:object size:0x29 data:string +@47969 = .data:0x803E0CEE; // type:object size:0x1F data:string +@47970 = .data:0x803E0D0D; // type:object size:0x26 data:string +@47971 = .data:0x803E0D33; // type:object size:0x28 data:string +@48001 = .data:0x803E0D5B; // type:object size:0xA data:string +@48003 = .data:0x803E0D65; // type:object size:0x2B data:string +@48009 = .data:0x803E0D90; // type:object size:0x9 data:string +@48015 = .data:0x803E0D99; // type:object size:0xB data:string +@48019 = .data:0x803E0DA4; // type:object size:0x9 data:string +@48021 = .data:0x803E0DAD; // type:object size:0x9 data:string ...data.0 = .data:0x803E0DB8; // type:label scope:local align:4 lbl_803E0DD9 = .data:0x803E0DD9; // type:object size:0x1C lbl_803E0DF5 = .data:0x803E0DF5; // type:object size:0x10 @@ -24718,7 +24741,7 @@ J2dHeapCheck = .bss:0x80431108; // type:object size:0x28 scope:global align:4 HostioHeapCheck = .bss:0x80431130; // type:object size:0x28 scope:global align:4 CommandHeapCheck = .bss:0x80431158; // type:object size:0x28 scope:global align:4 mainThread = .bss:0x80431180; // type:object size:0x318 scope:global align:4 -mDoPrintf_FiberStack = .bss:0x804314A0; // type:object size:0x800 scope:global align:4 +mDoPrintf_FiberStack = .bss:0x804314A0; // type:object size:0x800 scope:global align:32 @90200 = .bss:0x80431CA0; // type:object size:0xC scope:local align:4 g_mDoAud_zelAudio = .bss:0x80431CAC; // type:object size:0x13A8 scope:global align:4 m_gamePad__8mDoCPd_c = .bss:0x80433058; // type:object size:0x10 scope:global align:4 data:4byte @@ -25567,28 +25590,28 @@ __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x8051D5D0; // type:object size:0x8 scope __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x8051D5D8; // type:object size:0x8 scope:global align:4 developmentMode__7mDoMain = .sdata:0x8051D5E0; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x8051D5E4; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051D5E8 = .sdata:0x8051D5E8; // type:object size:0x1 data:byte -lbl_8051D5E9 = .sdata:0x8051D5E9; // type:object size:0x3 -console_position_x$90872 = .sdata:0x8051D5EC; // type:object size:0x4 scope:global align:4 data:float -console_position_y$90873 = .sdata:0x8051D5F0; // type:object size:0x4 scope:global align:4 data:float -lbl_8051D5F4 = .sdata:0x8051D5F4; // type:object size:0x3 data:string -lbl_8051D5F7 = .sdata:0x8051D5F7; // type:object size:0x3 data:string -lbl_8051D5FA = .sdata:0x8051D5FA; // type:object size:0x6 data:string -lbl_8051D600 = .sdata:0x8051D600; // type:object size:0x5 data:string -lbl_8051D605 = .sdata:0x8051D605; // type:object size:0x7 data:string -lbl_8051D60C = .sdata:0x8051D60C; // type:object size:0x5 data:string -lbl_8051D611 = .sdata:0x8051D611; // type:object size:0x7 -lbl_8051D618 = .sdata:0x8051D618; // type:object size:0x7 data:string -lbl_8051D61F = .sdata:0x8051D61F; // type:object size:0x6 data:string -lbl_8051D625 = .sdata:0x8051D625; // type:object size:0x7 -lbl_8051D62C = .sdata:0x8051D62C; // type:object size:0x5 data:string -lbl_8051D631 = .sdata:0x8051D631; // type:object size:0x7 -lbl_8051D638 = .sdata:0x8051D638; // type:object size:0x8 data:string -lbl_8051D640 = .sdata:0x8051D640; // type:object size:0x4 data:string -lbl_8051D644 = .sdata:0x8051D644; // type:object size:0x4 data:string -lbl_8051D648 = .sdata:0x8051D648; // type:object size:0x7 data:string -lbl_8051D64F = .sdata:0x8051D64F; // type:object size:0x8 data:string -lbl_8051D658 = .sdata:0x8051D658; // type:object size:0x8 +mHeapBriefType = .sdata:0x8051D5E8; // type:object size:0x1 data:byte +@46798 = .sdata:0x8051D5E9; // type:object size:0x1 data:byte +console_position_x$90872 = .sdata:0x8051D5EC; // type:object size:0x4 scope:local align:4 data:float +console_position_y$90873 = .sdata:0x8051D5F0; // type:object size:0x4 scope:local align:4 data:float +@47958 = .sdata:0x8051D5F4; // type:object size:0x3 data:string +@47960 = .sdata:0x8051D5F7; // type:object size:0x3 data:string +@47961 = .sdata:0x8051D5FA; // type:object size:0x6 data:string +@47962 = .sdata:0x8051D600; // type:object size:0x5 data:string +@48002 = .sdata:0x8051D605; // type:object size:0x7 data:string +@48006 = .sdata:0x8051D60C; // type:object size:0x5 data:string +@48007 = .sdata:0x8051D611; // type:object size:0x7 data:string +@48008 = .sdata:0x8051D618; // type:object size:0x7 data:string +@48010 = .sdata:0x8051D61F; // type:object size:0x6 data:string +@48011 = .sdata:0x8051D625; // type:object size:0x7 data:string +@48012 = .sdata:0x8051D62C; // type:object size:0x5 data:string +@48013 = .sdata:0x8051D631; // type:object size:0x7 data:string +@48014 = .sdata:0x8051D638; // type:object size:0x8 data:string +@48016 = .sdata:0x8051D640; // type:object size:0x4 data:string +@48017 = .sdata:0x8051D644; // type:object size:0x4 data:string +@48018 = .sdata:0x8051D648; // type:object size:0x7 data:string +@48020 = .sdata:0x8051D64F; // type:object size:0x8 data:string +lbl_8051D658 = .sdata:0x8051D658; // type:object size:0x4 scope:local data:string __RTTI__17mDoAud_zelAudio_c = .sdata:0x8051D660; // type:object size:0x8 scope:global align:4 __RTTI__10Z2AudioMgr = .sdata:0x8051D668; // type:object size:0x8 scope:global align:4 __RTTI__13Z2SoundObjMgr = .sdata:0x8051D670; // type:object size:0x8 scope:global align:4 @@ -27563,12 +27586,12 @@ lbl_80520724 = .sbss:0x80520724; // type:object size:0x1 data:byte lbl_80520725 = .sbss:0x80520725; // type:object size:0x1 data:byte m_myObj__10dCsr_mng_c = .sbss:0x80520728; // type:object size:0x4 scope:global align:4 data:4byte lbl_80520730 = .sbss:0x80520730; // type:object size:0x8 data:byte -lbl_80520738 = .sbss:0x80520738; // type:object size:0x1 data:byte +fillcheck_check_frame = .sbss:0x80520738; // type:object size:0x1 data:byte sPowerOnTime__7mDoMain = .sbss:0x80520740; // type:object size:0x8 scope:global align:4 data:4byte sHungUpTime__7mDoMain = .sbss:0x80520748; // type:object size:0x8 scope:global align:4 data:4byte -lbl_80520750 = .sbss:0x80520750; // type:object size:0x1 data:byte -lbl_80520751 = .sbss:0x80520751; // type:object size:0x1 data:byte -lbl_80520752 = .sbss:0x80520752; // type:object size:0x1 data:byte +mDisplayHeapSize = .sbss:0x80520750; // type:object size:0x1 data:byte +mSelectHeapBar = .sbss:0x80520751; // type:object size:0x1 data:byte +mCheckHeap = .sbss:0x80520752; // type:object size:0x1 data:byte console_scroll$90874 = .sbss:0x80520754; // type:object size:0x4 scope:global align:4 data:float frame$91010 = .sbss:0x80520758; // type:object size:0x4 scope:global align:4 data:4byte __OSReport_disable = .sbss:0x80520760; // type:object size:0x1 data:byte diff --git a/config/RZDJ01/splits.txt b/config/RZDJ01/splits.txt index d72e104765..e52bc637ce 100644 --- a/config/RZDJ01/splits.txt +++ b/config/RZDJ01/splits.txt @@ -23,7 +23,7 @@ d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803DE938 end:0x803DEA60 .sdata start:0x8051B428 end:0x8051B460 - .sbss start:0x8051E5A8 end:0x8051E5C0 + .sbss start:0x8051E5A8 end:0x8051E5B8 .sdata2 start:0x8051F878 end:0x8051F890 m_Do/m_Do_main.cpp: @@ -31,14 +31,15 @@ m_Do/m_Do_main.cpp: .ctors start:0x803BA744 end:0x803BA748 .data start:0x803DEA60 end:0x803DED78 .bss start:0x8042EEC0 end:0x8042F320 - .sdata start:0x8051B460 end:0x8051B4E0 - .sbss start:0x8051E5C0 end:0x8051E5E0 + .sdata start:0x8051B460 end:0x8051B4D8 + .sbss start:0x8051E5B8 end:0x8051E5E0 .sdata2 start:0x8051F890 end:0x8051F8A8 m_Do/m_Do_printf.cpp: .text start:0x80009024 end:0x8000973C .data start:0x803DED78 end:0x803DEE30 .bss start:0x8042F320 end:0x8042FB20 + .sdata start:0x8051B4D8 end:0x8051B4E0 .sbss start:0x8051E5E0 end:0x8051E600 m_Do/m_Do_audio.cpp: diff --git a/config/RZDJ01/symbols.txt b/config/RZDJ01/symbols.txt index b07f817f1b..ad27c25261 100644 --- a/config/RZDJ01/symbols.txt +++ b/config/RZDJ01/symbols.txt @@ -19436,19 +19436,42 @@ lbl_803DEA4B = .data:0x803DEA4B; // type:object size:0x13 data:string ...data.0 = .data:0x803DEA60; // type:label scope:local align:4 COPYDATE_STRING__7mDoMain = .data:0x803DEA60; // type:object size:0x12 scope:global align:4 data:string HeapCheckTable = .data:0x803DEA74; // type:object size:0x20 scope:global align:4 -lbl_803DEA94 = .data:0x803DEA94; // type:object size:0x113 -lbl_803DEBA7 = .data:0x803DEBA7; // type:object size:0xA data:string -lbl_803DEBB1 = .data:0x803DEBB1; // type:object size:0xA data:string -lbl_803DEBBB = .data:0x803DEBBB; // type:object size:0xA data:string -lbl_803DEBC5 = .data:0x803DEBC5; // type:object size:0xA data:string +@47789 = .data:0x803DEA94; // type:object size:0x9 data:string +@47790 = .data:0x803DEA9D; // type:object size:0x16 data:string +@47791 = .data:0x803DEAB3; // type:object size:0x16 data:string +@47792 = .data:0x803DEAC9; // type:object size:0x16 data:string +@47793 = .data:0x803DEADF; // type:object size:0x16 data:string +@47794 = .data:0x803DEAF5; // type:object size:0x16 data:string +@47795 = .data:0x803DEB0B; // type:object size:0x1C data:string +@47796 = .data:0x803DEB27; // type:object size:0x16 data:string +@47797 = .data:0x803DEB3D; // type:object size:0x1C data:string +@47798 = .data:0x803DEB59; // type:object size:0x16 data:string +@47799 = .data:0x803DEB6F; // type:object size:0x1C data:string +@47800 = .data:0x803DEB8B; // type:object size:0x1C data:string +@46799 = .data:0x803DEBA7; // type:object size:0xA data:string +@46800 = .data:0x803DEBB1; // type:object size:0xA data:string +@46801 = .data:0x803DEBBB; // type:object size:0xA data:string +@46802 = .data:0x803DEBC5; // type:object size:0xA data:string desc1$90840 = .data:0x803DEBD0; // type:object size:0x14 scope:local align:4 -lbl_803DEBE4 = .data:0x803DEBE4; // type:object size:0xA data:string -lbl_803DEBEE = .data:0x803DEBEE; // type:object size:0xA data:string -lbl_803DEBF8 = .data:0x803DEBF8; // type:object size:0xA data:string +@46804 = .data:0x803DEBE4; // type:object size:0xA data:string +@46805 = .data:0x803DEBEE; // type:object size:0xA data:string +@46816 = .data:0x803DEBF8; // type:object size:0xA data:string desc2$90846 = .data:0x803DEC04; // type:object size:0x14 scope:local align:4 -lbl_803DEC18 = .data:0x803DEC18; // type:object size:0x103 -lbl_803DED1B = .data:0x803DED1B; // type:object size:0xA data:string -lbl_803DED25 = .data:0x803DED25; // type:object size:0x53 +@47808 = .data:0x803DEC18; // type:object size:0x1D data:string +@47957 = .data:0x803DEC35; // type:object size:0xA data:string +@47959 = .data:0x803DEC3F; // type:object size:0xA data:string +@47966 = .data:0x803DEC49; // type:object size:0x22 data:string +@47967 = .data:0x803DEC6B; // type:object size:0x1A data:string +@47968 = .data:0x803DEC85; // type:object size:0x29 data:string +@47969 = .data:0x803DECAE; // type:object size:0x1F data:string +@47970 = .data:0x803DECCD; // type:object size:0x26 data:string +@47971 = .data:0x803DECF3; // type:object size:0x28 data:string +@48001 = .data:0x803DED1B; // type:object size:0xA data:string +@48003 = .data:0x803DED25; // type:object size:0x2B data:string +@48009 = .data:0x803DED50; // type:object size:0x9 data:string +@48015 = .data:0x803DED59; // type:object size:0xB data:string +@48019 = .data:0x803DED64; // type:object size:0x9 data:string +@48021 = .data:0x803DED6D; // type:object size:0x9 data:string ...data.0 = .data:0x803DED78; // type:label scope:local align:4 lbl_803DED99 = .data:0x803DED99; // type:object size:0x1C lbl_803DEDB5 = .data:0x803DEDB5; // type:object size:0x10 @@ -24720,7 +24743,7 @@ J2dHeapCheck = .bss:0x8042EF88; // type:object size:0x28 scope:global align:4 HostioHeapCheck = .bss:0x8042EFB0; // type:object size:0x28 scope:global align:4 CommandHeapCheck = .bss:0x8042EFD8; // type:object size:0x28 scope:global align:4 mainThread = .bss:0x8042F000; // type:object size:0x318 scope:global align:4 -mDoPrintf_FiberStack = .bss:0x8042F320; // type:object size:0x800 scope:global align:4 +mDoPrintf_FiberStack = .bss:0x8042F320; // type:object size:0x800 scope:global align:32 @90200 = .bss:0x8042FB20; // type:object size:0xC scope:local align:4 g_mDoAud_zelAudio = .bss:0x8042FB2C; // type:object size:0x13A8 scope:global align:4 m_gamePad__8mDoCPd_c = .bss:0x80430ED8; // type:object size:0x10 scope:global align:4 data:4byte @@ -25569,28 +25592,28 @@ __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x8051B450; // type:object size:0x8 scope __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x8051B458; // type:object size:0x8 scope:global align:4 developmentMode__7mDoMain = .sdata:0x8051B460; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x8051B464; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051B468 = .sdata:0x8051B468; // type:object size:0x1 data:byte -lbl_8051B469 = .sdata:0x8051B469; // type:object size:0x3 +mHeapBriefType = .sdata:0x8051B468; // type:object size:0x1 data:byte +@46798 = .sdata:0x8051B469; // type:object size:0x1 data:byte console_position_x$90872 = .sdata:0x8051B46C; // type:object size:0x4 scope:local align:4 data:float console_position_y$90873 = .sdata:0x8051B470; // type:object size:0x4 scope:local align:4 data:float -lbl_8051B474 = .sdata:0x8051B474; // type:object size:0x3 data:string -lbl_8051B477 = .sdata:0x8051B477; // type:object size:0x3 data:string -lbl_8051B47A = .sdata:0x8051B47A; // type:object size:0x6 data:string -lbl_8051B480 = .sdata:0x8051B480; // type:object size:0x5 data:string -lbl_8051B485 = .sdata:0x8051B485; // type:object size:0x7 data:string -lbl_8051B48C = .sdata:0x8051B48C; // type:object size:0x5 data:string -lbl_8051B491 = .sdata:0x8051B491; // type:object size:0x7 -lbl_8051B498 = .sdata:0x8051B498; // type:object size:0x7 data:string -lbl_8051B49F = .sdata:0x8051B49F; // type:object size:0x6 data:string -lbl_8051B4A5 = .sdata:0x8051B4A5; // type:object size:0x7 -lbl_8051B4AC = .sdata:0x8051B4AC; // type:object size:0x5 data:string -lbl_8051B4B1 = .sdata:0x8051B4B1; // type:object size:0x7 -lbl_8051B4B8 = .sdata:0x8051B4B8; // type:object size:0x8 data:string -lbl_8051B4C0 = .sdata:0x8051B4C0; // type:object size:0x4 data:string -lbl_8051B4C4 = .sdata:0x8051B4C4; // type:object size:0x4 data:string -lbl_8051B4C8 = .sdata:0x8051B4C8; // type:object size:0x7 data:string -lbl_8051B4CF = .sdata:0x8051B4CF; // type:object size:0x8 data:string -lbl_8051B4D8 = .sdata:0x8051B4D8; // type:object size:0x8 +@47958 = .sdata:0x8051B474; // type:object size:0x3 data:string +@47960 = .sdata:0x8051B477; // type:object size:0x3 data:string +@47961 = .sdata:0x8051B47A; // type:object size:0x6 data:string +@47962 = .sdata:0x8051B480; // type:object size:0x5 data:string +@48002 = .sdata:0x8051B485; // type:object size:0x7 data:string +@48006 = .sdata:0x8051B48C; // type:object size:0x5 data:string +@48007 = .sdata:0x8051B491; // type:object size:0x7 data:string +@48008 = .sdata:0x8051B498; // type:object size:0x7 data:string +@48010 = .sdata:0x8051B49F; // type:object size:0x6 data:string +@48011 = .sdata:0x8051B4A5; // type:object size:0x7 data:string +@48012 = .sdata:0x8051B4AC; // type:object size:0x5 data:string +@48013 = .sdata:0x8051B4B1; // type:object size:0x7 data:string +@48014 = .sdata:0x8051B4B8; // type:object size:0x8 data:string +@48016 = .sdata:0x8051B4C0; // type:object size:0x4 data:string +@48017 = .sdata:0x8051B4C4; // type:object size:0x4 data:string +@48018 = .sdata:0x8051B4C8; // type:object size:0x7 data:string +@48020 = .sdata:0x8051B4CF; // type:object size:0x8 data:string +lbl_8051B4D8 = .sdata:0x8051B4D8; // type:object size:0x4 scope:local data:string __RTTI__17mDoAud_zelAudio_c = .sdata:0x8051B4E0; // type:object size:0x8 scope:global align:4 __RTTI__10Z2AudioMgr = .sdata:0x8051B4E8; // type:object size:0x8 scope:global align:4 __RTTI__13Z2SoundObjMgr = .sdata:0x8051B4F0; // type:object size:0x8 scope:global align:4 @@ -27569,12 +27592,12 @@ lbl_8051E5A4 = .sbss:0x8051E5A4; // type:object size:0x1 data:byte lbl_8051E5A5 = .sbss:0x8051E5A5; // type:object size:0x1 data:byte m_myObj__10dCsr_mng_c = .sbss:0x8051E5A8; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051E5B0 = .sbss:0x8051E5B0; // type:object size:0x8 data:byte -lbl_8051E5B8 = .sbss:0x8051E5B8; // type:object size:0x1 data:byte +fillcheck_check_frame = .sbss:0x8051E5B8; // type:object size:0x1 data:byte sPowerOnTime__7mDoMain = .sbss:0x8051E5C0; // type:object size:0x8 scope:global align:4 data:4byte sHungUpTime__7mDoMain = .sbss:0x8051E5C8; // type:object size:0x8 scope:global align:4 data:4byte -lbl_8051E5D0 = .sbss:0x8051E5D0; // type:object size:0x1 data:byte -lbl_8051E5D1 = .sbss:0x8051E5D1; // type:object size:0x1 data:byte -lbl_8051E5D2 = .sbss:0x8051E5D2; // type:object size:0x1 data:byte +mDisplayHeapSize = .sbss:0x8051E5D0; // type:object size:0x1 data:byte +mSelectHeapBar = .sbss:0x8051E5D1; // type:object size:0x1 data:byte +mCheckHeap = .sbss:0x8051E5D2; // type:object size:0x1 data:byte console_scroll$90874 = .sbss:0x8051E5D4; // type:object size:0x4 scope:local align:4 data:float frame$91010 = .sbss:0x8051E5D8; // type:object size:0x4 scope:local align:4 data:4byte __OSReport_disable = .sbss:0x8051E5E0; // type:object size:0x1 data:byte diff --git a/config/RZDP01/splits.txt b/config/RZDP01/splits.txt index 933a564d6e..ac6eeb4c84 100644 --- a/config/RZDP01/splits.txt +++ b/config/RZDP01/splits.txt @@ -23,7 +23,7 @@ d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803E1698 end:0x803E17C0 .sdata start:0x8051DEA8 end:0x8051DEE0 - .sbss start:0x80520EE8 end:0x80520F00 + .sbss start:0x80520EE8 end:0x80520EF8 .sdata2 start:0x805221B8 end:0x805221D0 m_Do/m_Do_main.cpp: @@ -31,14 +31,15 @@ m_Do/m_Do_main.cpp: .ctors start:0x803B9104 end:0x803B9108 .data start:0x803E17C0 end:0x803E1AD8 .bss start:0x80431940 end:0x80431DA0 - .sdata start:0x8051DEE0 end:0x8051DF60 - .sbss start:0x80520F00 end:0x80520F20 + .sdata start:0x8051DEE0 end:0x8051DF58 + .sbss start:0x80520EF8 end:0x80520F20 .sdata2 start:0x805221D0 end:0x805221E8 m_Do/m_Do_printf.cpp: .text start:0x80009024 end:0x80009704 .data start:0x803E1AD8 end:0x803E1B90 .bss start:0x80431DA0 end:0x804325A0 + .sdata start:0x8051DF58 end:0x8051DF60 .sbss start:0x80520F20 end:0x80520F40 m_Do/m_Do_audio.cpp: diff --git a/config/RZDP01/symbols.txt b/config/RZDP01/symbols.txt index 52a2e5d1d6..593f75bd71 100644 --- a/config/RZDP01/symbols.txt +++ b/config/RZDP01/symbols.txt @@ -19428,19 +19428,42 @@ lbl_803E17AB = .data:0x803E17AB; // type:object size:0x13 data:string ...data.0 = .data:0x803E17C0; // type:label scope:local align:4 COPYDATE_STRING__7mDoMain = .data:0x803E17C0; // type:object size:0x12 scope:global align:4 data:string HeapCheckTable = .data:0x803E17D4; // type:object size:0x20 scope:global align:4 -lbl_803E17F4 = .data:0x803E17F4; // type:object size:0x113 -lbl_803E1907 = .data:0x803E1907; // type:object size:0xA data:string -lbl_803E1911 = .data:0x803E1911; // type:object size:0xA data:string -lbl_803E191B = .data:0x803E191B; // type:object size:0xA data:string -lbl_803E1925 = .data:0x803E1925; // type:object size:0xA data:string -desc1$90843 = .data:0x803E1930; // type:object size:0x14 scope:local align:4 -lbl_803E1944 = .data:0x803E1944; // type:object size:0xA data:string -lbl_803E194E = .data:0x803E194E; // type:object size:0xA data:string -lbl_803E1958 = .data:0x803E1958; // type:object size:0xA data:string -desc2$90849 = .data:0x803E1964; // type:object size:0x14 scope:local align:4 -lbl_803E1978 = .data:0x803E1978; // type:object size:0x103 -lbl_803E1A7B = .data:0x803E1A7B; // type:object size:0xA data:string -lbl_803E1A85 = .data:0x803E1A85; // type:object size:0x53 +@47789 = .data:0x803E17F4; // type:object size:0x9 data:string +@47790 = .data:0x803E17FD; // type:object size:0x16 data:string +@47791 = .data:0x803E1813; // type:object size:0x16 data:string +@47792 = .data:0x803E1829; // type:object size:0x16 data:string +@47793 = .data:0x803E183F; // type:object size:0x16 data:string +@47794 = .data:0x803E1855; // type:object size:0x16 data:string +@47795 = .data:0x803E186B; // type:object size:0x1C data:string +@47796 = .data:0x803E1887; // type:object size:0x16 data:string +@47797 = .data:0x803E189D; // type:object size:0x1C data:string +@47798 = .data:0x803E18B9; // type:object size:0x16 data:string +@47799 = .data:0x803E18CF; // type:object size:0x1C data:string +@47800 = .data:0x803E18EB; // type:object size:0x1C data:string +@46799 = .data:0x803E1907; // type:object size:0xA data:string +@46800 = .data:0x803E1911; // type:object size:0xA data:string +@46801 = .data:0x803E191B; // type:object size:0xA data:string +@46802 = .data:0x803E1925; // type:object size:0xA data:string +desc1$90840 = .data:0x803E1930; // type:object size:0x14 scope:local align:4 +@46804 = .data:0x803E1944; // type:object size:0xA data:string +@46805 = .data:0x803E194E; // type:object size:0xA data:string +@46816 = .data:0x803E1958; // type:object size:0xA data:string +desc2$90846 = .data:0x803E1964; // type:object size:0x14 scope:local align:4 +@47808 = .data:0x803E1978; // type:object size:0x1D data:string +@47957 = .data:0x803E1995; // type:object size:0xA data:string +@47959 = .data:0x803E199F; // type:object size:0xA data:string +@47966 = .data:0x803E19A9; // type:object size:0x22 data:string +@47967 = .data:0x803E19CB; // type:object size:0x1A data:string +@47968 = .data:0x803E19E5; // type:object size:0x29 data:string +@47969 = .data:0x803E1A0E; // type:object size:0x1F data:string +@47970 = .data:0x803E1A2D; // type:object size:0x26 data:string +@47971 = .data:0x803E1A53; // type:object size:0x28 data:string +@48001 = .data:0x803E1A7B; // type:object size:0xA data:string +@48003 = .data:0x803E1A85; // type:object size:0x2B data:string +@48009 = .data:0x803E1AB0; // type:object size:0x9 data:string +@48015 = .data:0x803E1AB9; // type:object size:0xB data:string +@48019 = .data:0x803E1AC4; // type:object size:0x9 data:string +@48021 = .data:0x803E1ACD; // type:object size:0x9 data:string ...data.0 = .data:0x803E1AD8; // type:label scope:local align:4 lbl_803E1AF9 = .data:0x803E1AF9; // type:object size:0x1C lbl_803E1B15 = .data:0x803E1B15; // type:object size:0x10 @@ -24749,7 +24772,7 @@ J2dHeapCheck = .bss:0x80431A08; // type:object size:0x28 scope:global align:4 HostioHeapCheck = .bss:0x80431A30; // type:object size:0x28 scope:global align:4 CommandHeapCheck = .bss:0x80431A58; // type:object size:0x28 scope:global align:4 mainThread = .bss:0x80431A80; // type:object size:0x318 scope:global align:4 -mDoPrintf_FiberStack = .bss:0x80431DA0; // type:object size:0x800 scope:global align:4 +mDoPrintf_FiberStack = .bss:0x80431DA0; // type:object size:0x800 scope:global align:32 @90203 = .bss:0x804325A0; // type:object size:0xC scope:local align:4 g_mDoAud_zelAudio = .bss:0x804325AC; // type:object size:0x13A8 scope:global align:4 m_gamePad__8mDoCPd_c = .bss:0x80433958; // type:object size:0x10 scope:global align:4 data:4byte @@ -25598,28 +25621,28 @@ __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x8051DED0; // type:object size:0x8 scope __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x8051DED8; // type:object size:0x8 scope:global align:4 developmentMode__7mDoMain = .sdata:0x8051DEE0; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x8051DEE4; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051DEE8 = .sdata:0x8051DEE8; // type:object size:0x1 data:byte -lbl_8051DEE9 = .sdata:0x8051DEE9; // type:object size:0x3 -console_position_x$90875 = .sdata:0x8051DEEC; // type:object size:0x4 scope:local align:4 data:float -console_position_y$90876 = .sdata:0x8051DEF0; // type:object size:0x4 scope:local align:4 data:float -lbl_8051DEF4 = .sdata:0x8051DEF4; // type:object size:0x3 data:string -lbl_8051DEF7 = .sdata:0x8051DEF7; // type:object size:0x3 data:string -lbl_8051DEFA = .sdata:0x8051DEFA; // type:object size:0x6 data:string -lbl_8051DF00 = .sdata:0x8051DF00; // type:object size:0x5 data:string -lbl_8051DF05 = .sdata:0x8051DF05; // type:object size:0x7 data:string -lbl_8051DF0C = .sdata:0x8051DF0C; // type:object size:0x5 data:string -lbl_8051DF11 = .sdata:0x8051DF11; // type:object size:0x7 -lbl_8051DF18 = .sdata:0x8051DF18; // type:object size:0x7 data:string -lbl_8051DF1F = .sdata:0x8051DF1F; // type:object size:0x6 data:string -lbl_8051DF25 = .sdata:0x8051DF25; // type:object size:0x7 -lbl_8051DF2C = .sdata:0x8051DF2C; // type:object size:0x5 data:string -lbl_8051DF31 = .sdata:0x8051DF31; // type:object size:0x7 -lbl_8051DF38 = .sdata:0x8051DF38; // type:object size:0x8 data:string -lbl_8051DF40 = .sdata:0x8051DF40; // type:object size:0x4 data:string -lbl_8051DF44 = .sdata:0x8051DF44; // type:object size:0x4 data:string -lbl_8051DF48 = .sdata:0x8051DF48; // type:object size:0x7 data:string -lbl_8051DF4F = .sdata:0x8051DF4F; // type:object size:0x8 data:string -lbl_8051DF58 = .sdata:0x8051DF58; // type:object size:0x8 +mHeapBriefType = .sdata:0x8051DEE8; // type:object size:0x1 data:byte +@46798 = .sdata:0x8051DEE9; // type:object size:0x1 data:byte +console_position_x$90872 = .sdata:0x8051DEEC; // type:object size:0x4 scope:local align:4 data:float +console_position_y$90873 = .sdata:0x8051DEF0; // type:object size:0x4 scope:local align:4 data:float +@47958 = .sdata:0x8051DEF4; // type:object size:0x3 data:string +@47960 = .sdata:0x8051DEF7; // type:object size:0x3 data:string +@47961 = .sdata:0x8051DEFA; // type:object size:0x6 data:string +@47962 = .sdata:0x8051DF00; // type:object size:0x5 data:string +@48002 = .sdata:0x8051DF05; // type:object size:0x7 data:string +@48006 = .sdata:0x8051DF0C; // type:object size:0x5 data:string +@48007 = .sdata:0x8051DF11; // type:object size:0x7 data:string +@48008 = .sdata:0x8051DF18; // type:object size:0x7 data:string +@48010 = .sdata:0x8051DF1F; // type:object size:0x6 data:string +@48011 = .sdata:0x8051DF25; // type:object size:0x7 data:string +@48012 = .sdata:0x8051DF2C; // type:object size:0x5 data:string +@48013 = .sdata:0x8051DF31; // type:object size:0x7 data:string +@48014 = .sdata:0x8051DF38; // type:object size:0x8 data:string +@48016 = .sdata:0x8051DF40; // type:object size:0x4 data:string +@48017 = .sdata:0x8051DF44; // type:object size:0x4 data:string +@48018 = .sdata:0x8051DF48; // type:object size:0x7 data:string +@48020 = .sdata:0x8051DF4F; // type:object size:0x8 data:string +lbl_8051DF58 = .sdata:0x8051DF58; // type:object size:0x4 scope:local data:string __RTTI__17mDoAud_zelAudio_c = .sdata:0x8051DF60; // type:object size:0x8 scope:global align:4 __RTTI__10Z2AudioMgr = .sdata:0x8051DF68; // type:object size:0x8 scope:global align:4 __RTTI__13Z2SoundObjMgr = .sdata:0x8051DF70; // type:object size:0x8 scope:global align:4 @@ -27486,12 +27509,12 @@ lbl_8053A724__13dHomeButton_c = .sbss:0x80520EE4; // type:object size:0x1 data:b lbl_8053A725__13dHomeButton_c = .sbss:0x80520EE5; // type:object size:0x1 data:byte m_myObj__10dCsr_mng_c = .sbss:0x80520EE8; // type:object size:0x4 scope:global align:4 data:4byte data_8053a730 = .sbss:0x80520EF0; // type:object size:0x1 data:byte -lbl_80520EF8 = .sbss:0x80520EF8; // type:object size:0x1 data:byte +fillcheck_check_Frame = .sbss:0x80520EF8; // type:object size:0x1 data:byte sPowerOnTime__7mDoMain = .sbss:0x80520F00; // type:object size:0x8 scope:global align:4 data:4byte sHungUpTime__7mDoMain = .sbss:0x80520F08; // type:object size:0x8 scope:global align:4 data:4byte -lbl_80520F10 = .sbss:0x80520F10; // type:object size:0x1 data:byte -lbl_80520F11 = .sbss:0x80520F11; // type:object size:0x1 data:byte -lbl_80520F12 = .sbss:0x80520F12; // type:object size:0x1 data:byte +mDisplayHeapSize = .sbss:0x80520F10; // type:object size:0x1 data:byte +mSelectHeapBar = .sbss:0x80520F11; // type:object size:0x1 data:byte +mCheckHeap = .sbss:0x80520F12; // type:object size:0x1 data:byte console_scroll$90877 = .sbss:0x80520F14; // type:object size:0x4 scope:local align:4 data:float frame$91013 = .sbss:0x80520F18; // type:object size:0x4 scope:local align:4 data:4byte __OSReport_disable = .sbss:0x80520F20; // type:object size:0x1 data:byte diff --git a/configure.py b/configure.py index 313d24f55c..5368fb0ead 100755 --- a/configure.py +++ b/configure.py @@ -603,6 +603,12 @@ config.precompiled_headers = [ "mw_version": MWVersion(config.version), "cflags": ["-lang=c++", *cflags_dolzel_rel], }, + { + "source": "include/m_Do/machine.pch", + "output": "m_Do/machine.mch", + "mw_version": MWVersion(config.version), + "cflags": ["-lang=c++", *cflags_dolzel_framework], + }, { "source": "libs/JSystem/include/JSystem/JSystem.pch", "output": "JSystem/JSystem.mch", diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 13576c7134..778b73ba87 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -6,7 +6,6 @@ #include "JSystem/J3DGraphAnimator/J3DModel.h" #include "Z2AudioLib/Z2SoundObject.h" #include "d/d_kankyo_tev_str.h" -#include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_mtx.h" class JKRArchive; diff --git a/include/m_Do/m_Do_hostIO.h b/include/m_Do/m_Do_hostIO.h index fa4eb8b1af..98af766929 100644 --- a/include/m_Do/m_Do_hostIO.h +++ b/include/m_Do/m_Do_hostIO.h @@ -23,22 +23,6 @@ public: /* 0x1C */ JORReflexible* mPt; }; -class mDoHIO_entry_c : public JORReflexible { -public: -#if DEBUG - mDoHIO_entry_c(); - void entryHIO(const char* i_name); - void removeHIO(); - - virtual ~mDoHIO_entry_c(); - - /* 0x4 */ s8 mNo; - /* 0x5 */ u8 mCount; -#else - virtual ~mDoHIO_entry_c() {} -#endif -}; - class mDoHIO_subRoot_c : public JORReflexible { public: mDoHIO_subRoot_c() {} @@ -68,6 +52,22 @@ public: /* 0x4 */ mDoHIO_subRoot_c mSub; }; +class mDoHIO_entry_c : public JORReflexible { +public: +#if DEBUG + mDoHIO_entry_c(); + void entryHIO(const char* i_name); + void removeHIO(); + + virtual ~mDoHIO_entry_c(); + + /* 0x4 */ s8 mNo; + /* 0x5 */ u8 mCount; +#else + virtual ~mDoHIO_entry_c() {} +#endif +}; + extern mDoHIO_root_c mDoHIO_root; void mDoHIO_updateChild(s8 i_no); diff --git a/include/m_Do/m_Do_main.h b/include/m_Do/m_Do_main.h index 9bedc21a39..12428e30d6 100644 --- a/include/m_Do/m_Do_main.h +++ b/include/m_Do/m_Do_main.h @@ -8,7 +8,6 @@ class JKRExpHeap; extern OSThread mainThread; -void version_check(); s32 LOAD_COPYDATE(void*); extern OSThread mainThread; @@ -16,44 +15,53 @@ const int HeapCheckTableNum = 8; class HeapCheck { public: - HeapCheck(JKRExpHeap* heap, const char* name, const char* jName) { - mName = name; - mJName = jName; - setHeap(heap); - } +#if VERSION != VERSION_WII_USA_R0 + HeapCheck(JKRExpHeap* heap, const char* name, const char* jName); +#endif void CheckHeap1(void); s32 getUsedCount(void) const; +#if VERSION == VERSION_WII_USA_R0 + void heapDisplay(void); +#else void heapDisplay(void) const; +#endif u32& getUsedCountRef() { return mUsedCount; } u32& getTotalUsedSizeRef() { return mTotalUsedSize; } JKRExpHeap* getHeap() { return mHeap; } +#if VERSION != VERSION_WII_USA_R0 void setHeapSize(u32 i_size) { mTargetHeapSize = i_size; } +#endif s32 getMaxTotalUsedSize() const { return mMaxTotalUsedSize; } s32 getMaxTotalFreeSize() { return mMaxTotalFreeSize; } const char* getName() const { return mName; } +#if VERSION != VERSION_WII_USA_R0 const char* getJName() const { return mJName; } +#endif void saveRelBase() { mUsedCount = getUsedCount(); mTotalUsedSize = mHeap->getTotalUsedSize(); } - void setHeap(JKRExpHeap* i_heap) { - mHeap = i_heap; - if (i_heap != NULL) { - mTargetHeapSize = i_heap->getHeapSize(); - } - } + void setHeap(JKRExpHeap* i_heap); - u32 getTargetHeapSize() const { return mTargetHeapSize; } +#if VERSION == VERSION_WII_USA_R0 + u32 getTargetHeapSize(); +#else + u32 getTargetHeapSize() const { + return mTargetHeapSize; + } +#endif u32 getRelUsedCount() const { return getUsedCount() - mUsedCount; } u32 getRelTotalUsedSize() const { return mHeap->getTotalUsedSize() - mTotalUsedSize; } -private: +public: /* 0x00 */ const char* mName; +#if VERSION != VERSION_WII_USA_R0 /* 0x04 */ const char* mJName; +#endif /* 0x08 */ JKRExpHeap* mHeap; /* 0x0C */ s32 mMaxTotalUsedSize; /* 0x10 */ s32 mMaxTotalFreeSize; diff --git a/include/m_Do/machine.h b/include/m_Do/machine.h new file mode 100644 index 0000000000..1bf270eee9 --- /dev/null +++ b/include/m_Do/machine.h @@ -0,0 +1,10 @@ +#ifndef M_DO_MACHINE_H +#define M_DO_MACHINE_H + +#ifdef __MWERKS__ +#include "m_Do/machine.mch" +#else +#include "m_Do/machine.pch" +#endif + +#endif // M_DO_MACHINE_H diff --git a/include/m_Do/machine.pch b/include/m_Do/machine.pch new file mode 100644 index 0000000000..d5629bf72e --- /dev/null +++ b/include/m_Do/machine.pch @@ -0,0 +1,15 @@ +#ifndef DOLZEL_MINIMAL_PCH +#define DOLZEL_MINIMAL_PCH + +#include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: keep +#include "JSystem/JKernel/JKRHeap.h" // IWYU pragma: keep +#include "JSystem/J2DGraph/J2DOrthograph.h" // IWYU pragma: keep +#include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: keep +#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: keep +#include "JSystem/JUtility/JUTFont.h" // IWYU pragma: keep +#include "SSystem/SComponent/c_xyz.h" // IWYU pragma: keep +#include "m_Do/m_Do_graphic.h" // IWYU pragma: keep +#include "m_Do/m_Do_ext.h" // IWYU pragma: keep +#include // IWYU pragma: keep + +#endif // DOLZEL_MINIMAL_PCH diff --git a/libs/JSystem/include/JSystem/JKernel/JKRHeap.h b/libs/JSystem/include/JSystem/JKernel/JKRHeap.h index 9528c7735e..ce82986344 100644 --- a/libs/JSystem/include/JSystem/JKernel/JKRHeap.h +++ b/libs/JSystem/include/JSystem/JKernel/JKRHeap.h @@ -79,7 +79,7 @@ public: /* vt[03] */ virtual void callAllDisposer(); /* vt[04] */ virtual u32 getHeapType() = 0; /* vt[05] */ virtual bool check() = 0; - /* vt[06] */ virtual bool dump_sort(); + /* vt[06] */ virtual bool dump_sort() { return true; } /* vt[07] */ virtual bool dump() = 0; /* vt[08] */ virtual void do_destroy() = 0; /* vt[09] */ virtual void* do_alloc(u32 size, int alignment) = 0; diff --git a/src/Z2AudioLib/Z2DebugSys.cpp b/src/Z2AudioLib/Z2DebugSys.cpp index 59c125b110..653929ae67 100644 --- a/src/Z2AudioLib/Z2DebugSys.cpp +++ b/src/Z2AudioLib/Z2DebugSys.cpp @@ -12,11 +12,15 @@ #include "JSystem/JAWWinLib/JAWVolume.h" #include "JSystem/JAudio2/JASReport.h" #include "JSystem/JKernel/JKRExpHeap.h" +#include "Z2AudioLib/Z2Audience.h" #include "Z2AudioLib/Z2F1TestWindow.h" #include "Z2AudioLib/Z2FxLineMgr.h" #include "Z2AudioLib/Z2Param.h" #include "Z2AudioLib/Z2SeView.h" +#include "Z2AudioLib/Z2SeqMgr.h" +#include "Z2AudioLib/Z2SoundMgr.h" #include "Z2AudioLib/Z2SoundPlayer.h" +#include "Z2AudioLib/Z2SpeechMgr2.h" #include "Z2AudioLib/Z2TrackView.h" #include "Z2AudioLib/Z2WaveArcLoader.h" #include "m_Do/m_Do_ext.h" diff --git a/src/m_Do/m_Do_DVDError.cpp b/src/m_Do/m_Do_DVDError.cpp index 0ada1ce24a..686b62dd7a 100644 --- a/src/m_Do/m_Do_DVDError.cpp +++ b/src/m_Do/m_Do_DVDError.cpp @@ -3,8 +3,11 @@ * DVD Error Handling */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_DVDError.h" #include "JSystem/JKernel/JKRAssertHeap.h" +#include "JSystem/JKernel/JKRThread.h" #include #include "m_Do/m_Do_dvd_thread.h" #include "m_Do/m_Do_ext.h" diff --git a/src/m_Do/m_Do_MemCard.cpp b/src/m_Do/m_Do_MemCard.cpp index 7832906589..e80439830a 100644 --- a/src/m_Do/m_Do_MemCard.cpp +++ b/src/m_Do/m_Do_MemCard.cpp @@ -3,9 +3,12 @@ * Memory Card Control */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include #include "m_Do/m_Do_MemCard.h" #include "JSystem/JKernel/JKRAssertHeap.h" +#include "JSystem/JKernel/JKRThread.h" #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_MemCardRWmng.h" #include "m_Do/m_Do_Reset.h" diff --git a/src/m_Do/m_Do_MemCardRWmng.cpp b/src/m_Do/m_Do_MemCardRWmng.cpp index d1d0352daa..4ba0922037 100644 --- a/src/m_Do/m_Do_MemCardRWmng.cpp +++ b/src/m_Do/m_Do_MemCardRWmng.cpp @@ -3,6 +3,8 @@ * Memcard Saving and Checksum */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_MemCardRWmng.h" #include "m_Do/m_Do_MemCard.h" #include "JSystem/JUtility/JUTTexture.h" diff --git a/src/m_Do/m_Do_Reset.cpp b/src/m_Do/m_Do_Reset.cpp index 88f840bbcd..217324be1a 100644 --- a/src/m_Do/m_Do_Reset.cpp +++ b/src/m_Do/m_Do_Reset.cpp @@ -3,6 +3,8 @@ * Game Reset Management */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_Reset.h" #include "JSystem/JAudio2/JASDvdThread.h" #include "JSystem/JUtility/JUTGamePad.h" diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp index 9d34eae1ee..5221ff8806 100644 --- a/src/m_Do/m_Do_audio.cpp +++ b/src/m_Do/m_Do_audio.cpp @@ -3,6 +3,8 @@ * Audio Management Functions */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_audio.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRMemArchive.h" diff --git a/src/m_Do/m_Do_controller_pad.cpp b/src/m_Do/m_Do_controller_pad.cpp index dfc784a8eb..659c80c5a2 100644 --- a/src/m_Do/m_Do_controller_pad.cpp +++ b/src/m_Do/m_Do_controller_pad.cpp @@ -3,6 +3,8 @@ * JUTGamePad Wrapper and Conversion */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_controller_pad.h" #include "JSystem/JAWExtSystem/JAWExtSystem.h" #include "SSystem/SComponent/c_lib.h" diff --git a/src/m_Do/m_Do_dvd_thread.cpp b/src/m_Do/m_Do_dvd_thread.cpp index 19030cb6f2..c2571d4549 100644 --- a/src/m_Do/m_Do_dvd_thread.cpp +++ b/src/m_Do/m_Do_dvd_thread.cpp @@ -3,13 +3,17 @@ * DVD Thread Manager */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_dvd_thread.h" #include "JSystem/JAudio2/JASDvdThread.h" +#include "JSystem/JAudio2/JASTaskThread.h" #include "JSystem/JKernel/JKRAramArchive.h" #include "JSystem/JKernel/JKRAssertHeap.h" #include "JSystem/JKernel/JKRDvdRipper.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRMemArchive.h" +#include "JSystem/JKernel/JKRThread.h" #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_ext.h" diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 90a72e96ac..835b36345e 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -3,7 +3,7 @@ * Model, Animation, and Heap Functions */ -#include "d/dolzel.h" // IWYU pragma: keep +#include "m_Do/machine.h" // IWYU pragma: keep #include #include diff --git a/src/m_Do/m_Do_ext2.cpp b/src/m_Do/m_Do_ext2.cpp index 2dad761fc7..f0b4b05c47 100644 --- a/src/m_Do/m_Do_ext2.cpp +++ b/src/m_Do/m_Do_ext2.cpp @@ -1,5 +1,4 @@ - -#include "d/dolzel.h" // IWYU pragma: keep +#include "m_Do/machine.h" // IWYU pragma: keep #include "m_Do/m_Do_ext2.h" #include diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 2fe48c8fd7..6e36c6e626 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -3,7 +3,7 @@ * Graphics Management Functions */ -#include "d/dolzel.h" // IWYU pragma: keep +#include "m_Do/machine.h" // IWYU pragma: keep #include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "JSystem/J2DGraph/J2DPrint.h" diff --git a/src/m_Do/m_Do_hostIO.cpp b/src/m_Do/m_Do_hostIO.cpp index 6a3347efb5..2ebb9920ee 100644 --- a/src/m_Do/m_Do_hostIO.cpp +++ b/src/m_Do/m_Do_hostIO.cpp @@ -1,3 +1,5 @@ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_hostIO.h" #include "JSystem/JHostIO/JORServer.h" #ifdef __REVOLUTION_SDK__ diff --git a/src/m_Do/m_Do_lib.cpp b/src/m_Do/m_Do_lib.cpp index 18b33c23ba..5c4766d590 100644 --- a/src/m_Do/m_Do_lib.cpp +++ b/src/m_Do/m_Do_lib.cpp @@ -3,6 +3,8 @@ * View and Projection Matrix Helper Functions */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_lib.h" #include "m_Do/m_Do_graphic.h" #include "JSystem/J3DGraphBase/J3DMatBlock.h" diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index 9418d36c53..d1089e40e6 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -3,6 +3,8 @@ * Exception Management */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_machine.h" #include "JSystem/JFramework/JFWSystem.h" #include "JSystem/JKernel/JKRHeap.h" diff --git a/src/m_Do/m_Do_machine_exception.cpp b/src/m_Do/m_Do_machine_exception.cpp index 93cfb59e9e..28b34a6c08 100644 --- a/src/m_Do/m_Do_machine_exception.cpp +++ b/src/m_Do/m_Do_machine_exception.cpp @@ -3,6 +3,8 @@ * Exception Print Functions */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_machine_exception.h" #include "JSystem/JFramework/JFWSystem.h" #include "JSystem/JKernel/JKRAram.h" diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 23753b59ed..5cd1190d92 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -3,6 +3,8 @@ * Main Initialization */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_main.h" #include "DynamicLink.h" #include "JSystem/JAudio2/JASAudioThread.h" @@ -35,22 +37,48 @@ #include "SSystem/SComponent/c_counter.h" #include +#if PLATFORM_WII +#include "d/d_cursor_mng.h" +#endif + #if PLATFORM_WII || PLATFORM_SHIELD #include #endif +#if PLATFORM_WII +#define GET_BUTTON(pad) cAPICPad_BUTTON(2) +#define GET_TRIGGER(pad) cAPICPad_TRIGGER(2) +#define GET_ANALOG_L(pad) cAPICPad_L_ANALOG(2) +#define GET_ANALOG_R(pad) cAPICPad_R_ANALOG(2) +#define GET_STICK_X(pad) cAPICPad_X_STICK(2) +#define GET_STICK_Y(pad) cAPICPad_Y_STICK(2) +#else +#define GET_BUTTON(pad) mDoCPd_c::getHold(pad) +#define GET_TRIGGER(pad) mDoCPd_c::getTrig(pad) +#define GET_ANALOG_L(pad) mDoCPd_c::getAnalogL(pad) +#define GET_ANALOG_R(pad) mDoCPd_c::getAnalogR(pad) +#define GET_STICK_X(pad) mDoCPd_c::getStickX(pad) +#define GET_STICK_Y(pad) mDoCPd_c::getStickY(pad) +#endif + class mDoMain_HIO_c : public mDoHIO_entry_c { public: void listenPropertyEvent(const JORPropertyEvent*); void genMessage(JORMContext*); }; -void version_check() { -#if !PLATFORM_SHIELD +static void version_check() { +#if PLATFORM_GCN if (!strcmp("20Apr2004", "20Apr2004") && !strcmp("Patch2", "Patch2")) { return; } +#elif PLATFORM_WII + if (!strcmp("07Sep2006", "07Sep2006") && !strcmp("Patch9", "Patch9")) { + return; + } +#endif +#if PLATFORM_GCN || PLATFORM_WII // "SDK version doesn't match. Stopping\n" OSReport_Error("SDKのバージョンが一致しません。停止します\n"); do { @@ -60,111 +88,47 @@ void version_check() { char mDoMain::COPYDATE_STRING[18] = "??/??/?? ??:??:??"; -// static HeapCheck RootHeapCheck; -static HeapCheck RootHeapCheck = HeapCheck(0,"Root","ルート"); - -// static HeapCheck SystemHeapCheck; -static HeapCheck SystemHeapCheck = HeapCheck(0,"System","システム"); - -// static HeapCheck ZeldaHeapCheck; -static HeapCheck ZeldaHeapCheck = HeapCheck(0,"Zelda","ゼルダ"); - -// static HeapCheck GameHeapCheck; -static HeapCheck GameHeapCheck = HeapCheck(0,"Game","ゲーム"); - -// static HeapCheck ArchiveHeapCheck; -static HeapCheck ArchiveHeapCheck = HeapCheck(0,"Archive","アーカイブ"); - -// static HeapCheck J2dHeapCheck; -static HeapCheck J2dHeapCheck = HeapCheck(0,"J2d","J2D"); - -// static HeapCheck HostioHeapCheck; -static HeapCheck HostioHeapCheck = HeapCheck(0,"Hostio","ホストIO"); - -// static HeapCheck CommandHeapCheck; -static HeapCheck CommandHeapCheck = HeapCheck(0,"Command","コマンド"); - -static HeapCheck* HeapCheckTable[8] = { - &RootHeapCheck, &SystemHeapCheck, &ZeldaHeapCheck, &GameHeapCheck, - &ArchiveHeapCheck, &J2dHeapCheck, &HostioHeapCheck, &CommandHeapCheck, +#if VERSION == VERSION_WII_USA_R0 +static HeapCheck RootHeapCheck = { + "Root", NULL, 0, 0x7FFFFFFF, 0x1400000, 0x140, 0x10000, 0, 0, }; +static HeapCheck SystemHeapCheck = { + "System", NULL, 0, 0x7FFFFFFF, 0x870000, 0x87, 0x10000, 0, 0, +}; +static HeapCheck ZeldaHeapCheck = { + "Zelda", NULL, 0, 0x7FFFFFFF, 0x7C0000, 0x7C, 0x10000, 0, 0, +}; +static HeapCheck GameHeapCheck = { + "Game", NULL, 0, 0x7FFFFFFF, 0x300000, 0x30, 0x10000, 0, 0, +}; +static HeapCheck ArchiveHeapCheck = { + "Archive", NULL, 0, 0x7FFFFFFF, 0x880000, 0x88, 0x10000, 0, 0, +}; +static HeapCheck J2dHeapCheck = { + "J2d", NULL, 0, 0x7FFFFFFF, 0x1000, 0x10, 0x100, 0, 0, +}; +static HeapCheck CommandHeapCheck = { + "Command", NULL, 0, 0x7FFFFFFF, 0x1000, 0x10, 0x100, 0, 0, +}; +#else +static HeapCheck RootHeapCheck = HeapCheck(0, "Root", "ルート"); +static HeapCheck SystemHeapCheck = HeapCheck(0, "System", "システム"); +static HeapCheck ZeldaHeapCheck = HeapCheck(0, "Zelda", "ゼルダ"); +static HeapCheck GameHeapCheck = HeapCheck(0, "Game", "ゲーム"); +static HeapCheck ArchiveHeapCheck = HeapCheck(0, "Archive", "アーカイブ"); +static HeapCheck J2dHeapCheck = HeapCheck(0, "J2d", "J2D"); +static HeapCheck HostioHeapCheck = HeapCheck(0, "Hostio", "ホストIO"); +static HeapCheck CommandHeapCheck = HeapCheck(0, "Command", "コマンド"); +#endif -void printFrameLine() { - OSCalendarTime calendar; - OSTime time = OSGetTime(); - u32 retrace = VIGetRetraceCount(); - OSTicksToCalendarTime(time, &calendar); - - OS_REPORT("\x1b[44m-- %5d - %5d - %3d %d %04d/%02d/%02d %02d:%02d:%02d\'%03d\'\'%03d\n\x1b[m", - g_Counter.mCounter0, retrace, - calendar.yday, calendar.wday, calendar.year, calendar.mon, calendar.mday, - calendar.hour, calendar.min, calendar.sec, calendar.msec, calendar.usec); -} - -void HeapCheck::CheckHeap1() { - s32 totalUsedSize = mHeap->getTotalUsedSize(); - s32 freeSize = mHeap->getFreeSize(); - - if (mMaxTotalUsedSize < totalUsedSize) - mMaxTotalUsedSize = totalUsedSize; - - if (mMaxTotalFreeSize > freeSize) - mMaxTotalFreeSize = freeSize; -} - -void CheckHeap(u32 i_padNo) { - mDoMch_HeapCheckAll(); - OSCheckActiveThreads(); - - int saveRel = (mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z) == (PAD_TRIGGER_L + PAD_TRIGGER_R) && mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z; - - for (int i = 0; i < 8; i++) { - HeapCheckTable[i]->CheckHeap1(); - if (saveRel) { - HeapCheckTable[i]->saveRelBase(); - } - } -} - -static int countUsed(JKRExpHeap* heap) { - OSDisableScheduler(); - - int counter = 0; - JKRExpHeap::CMemBlock* used_blocks_head = heap->getUsedFirst(); - while (used_blocks_head) { - counter++; - used_blocks_head = used_blocks_head->getNextBlock(); - } - - OSEnableScheduler(); - return counter; -} - -s32 HeapCheck::getUsedCount() const { - return countUsed(mHeap); -} - -void HeapCheck::heapDisplay() const { - s32 heap_size = mHeap->getHeapSize(); - s32 used_count = heap_size - getTargetHeapSize(); - - s32 total_used_size = mHeap->getTotalUsedSize(); - s32 total_free_size = mHeap->getTotalFreeSize(); - s32 heap_free_size = mHeap->getFreeSize(); - - JUTReport(100, 212, "[%sName]", mName); - JUTReport(100, 227, "HeapSize %8ld", heap_size); - JUTReport(100, 240, "TargetHeapSize %8ld", getTargetHeapSize()); - JUTReport(100, 253, "TotalFree %8ld", total_free_size - used_count); - JUTReport(100, 266, "FreeSize %8ld", heap_free_size - used_count); - JUTReport(100, 279, "TotalUsedSize %8ld", total_used_size); - JUTReport(100, 292, "TotalUsedRate %3ld%%", (int)(total_used_size * 100) / (int)getTargetHeapSize()); - JUTReport(100, 305, "MaxTotalUsedSize %8ld", mMaxTotalUsedSize); - JUTReport(100, 318, "MaxTotalUsedRate %3ld%%", (mMaxTotalUsedSize * 100) / (int)getTargetHeapSize()); - JUTReport(100, 331, "MinFreeSize %8ld", mMaxTotalFreeSize - used_count); - JUTReport(100, 344, "MinFreeRate %3ld%%", ((mMaxTotalFreeSize - used_count) * 100) / (int)getTargetHeapSize()); - JUTReport(100, 357, "UsedCount %3ld%", countUsed(mHeap)); -} +static HeapCheck* HeapCheckTable[] = { + &RootHeapCheck, &SystemHeapCheck, &ZeldaHeapCheck, &GameHeapCheck, + &ArchiveHeapCheck, &J2dHeapCheck, +#if VERSION != VERSION_WII_USA_R0 + &HostioHeapCheck, +#endif + &CommandHeapCheck, +}; #if DEBUG int mDoMain::argument = -1; @@ -214,7 +178,105 @@ static u8 mCheckHeap; mDoMain_HIO_c mDoMain_HIO; #endif -void debugDisplay() { +static void printFrameLine() { + OSCalendarTime calendar; + OSTime time = OSGetTime(); + u32 retrace = VIGetRetraceCount(); + OSTicksToCalendarTime(time, &calendar); + + OS_REPORT("\x1b[44m-- %5d - %5d - %3d %d %04d/%02d/%02d %02d:%02d:%02d\'%03d\'\'%03d\n\x1b[m", + g_Counter.mCounter0, retrace, + calendar.yday, calendar.wday, calendar.year, calendar.mon, calendar.mday, + calendar.hour, calendar.min, calendar.sec, calendar.msec, calendar.usec); +} + +#if VERSION != VERSION_WII_USA_R0 +inline HeapCheck::HeapCheck(JKRExpHeap* heap, const char* name, const char* jName) { + mName = name; + mJName = jName; + setHeap(heap); +} +#endif + +void HeapCheck::CheckHeap1() { + s32 totalUsedSize = mHeap->getTotalUsedSize(); + s32 freeSize = mHeap->getFreeSize(); + + if (mMaxTotalUsedSize < totalUsedSize) + mMaxTotalUsedSize = totalUsedSize; + + if (mMaxTotalFreeSize > freeSize) + mMaxTotalFreeSize = freeSize; +} + +static void CheckHeap(u32 i_padNo) { + mDoMch_HeapCheckAll(); + OSCheckActiveThreads(); + + int saveRel = + (GET_BUTTON(i_padNo) & ~PAD_TRIGGER_Z) == (PAD_TRIGGER_L + PAD_TRIGGER_R) && + GET_TRIGGER(i_padNo) & PAD_TRIGGER_Z; + + for (int i = 0; i < ARRAY_SIZE(HeapCheckTable); i++) { + HeapCheckTable[i]->CheckHeap1(); + if (saveRel) { + HeapCheckTable[i]->saveRelBase(); + } + } +} + +static int countUsed(JKRExpHeap* heap) { + OSDisableScheduler(); + + int counter = 0; + JKRExpHeap::CMemBlock* used_blocks_head = heap->getUsedFirst(); + while (used_blocks_head) { + counter++; + used_blocks_head = used_blocks_head->getNextBlock(); + } + + OSEnableScheduler(); + return counter; +} + +s32 HeapCheck::getUsedCount() const { + return countUsed(mHeap); +} + +#if VERSION == VERSION_WII_USA_R0 +void HeapCheck::heapDisplay() { +#else +void HeapCheck::heapDisplay() const { +#endif + s32 heap_size = mHeap->getHeapSize(); + s32 used_count = heap_size - getTargetHeapSize(); + + s32 total_used_size = mHeap->getTotalUsedSize(); + s32 total_free_size = mHeap->getTotalFreeSize(); + s32 heap_free_size = mHeap->getFreeSize(); + + JUTReport(100, 212, "[%sName]", mName); + JUTReport(100, 227, "HeapSize %8ld", heap_size); + JUTReport(100, 240, "TargetHeapSize %8ld", getTargetHeapSize()); + JUTReport(100, 253, "TotalFree %8ld", total_free_size - used_count); + JUTReport(100, 266, "FreeSize %8ld", heap_free_size - used_count); + JUTReport(100, 279, "TotalUsedSize %8ld", total_used_size); + JUTReport(100, 292, "TotalUsedRate %3ld%%", (int)(total_used_size * 100) / (int)getTargetHeapSize()); + JUTReport(100, 305, "MaxTotalUsedSize %8ld", mMaxTotalUsedSize); + JUTReport(100, 318, "MaxTotalUsedRate %3ld%%", (mMaxTotalUsedSize * 100) / (int)getTargetHeapSize()); + JUTReport(100, 331, "MinFreeSize %8ld", mMaxTotalFreeSize - used_count); + JUTReport(100, 344, "MinFreeRate %3ld%%", ((mMaxTotalFreeSize - used_count) * 100) / (int)getTargetHeapSize()); + JUTReport(100, 357, "UsedCount %3ld%", countUsed(mHeap)); +} + +#if VERSION == VERSION_WII_USA_R0 +u32 HeapCheck::getTargetHeapSize() { + field_0x14 = field_0x18 * mTargetHeapSize; + return field_0x14; +} +#endif + +static void debugDisplay() { static const char* desc1[5] = { "", "TotalFree", "MaxUsed ", "Used ", "RelUsed ", }; @@ -237,15 +299,19 @@ void debugDisplay() { } return; } - + if (mHeapBriefType != 0) { JUT_ASSERT(596, mHeapBriefType < HeapCheckTableNum); JUTReport(475, 100, "%s", desc1[mHeapBriefType]); JUTReport(475, 114, "%s", desc2[mHeapBriefType]); - for (int i = 0; i < 8; i++) { + for (int i = 0; i < ARRAY_SIZE(HeapCheckTable); i++) { HeapCheck* heap_check = HeapCheckTable[i]; +#if VERSION == VERSION_WII_USA_R0 +#define expHeap heap_check->getHeap() +#else JKRExpHeap* expHeap = heap_check->getHeap(); +#endif s32 check1; s32 check2; @@ -268,6 +334,10 @@ void debugDisplay() { break; } +#if defined(expHeap) +#undef expHeap +#endif + JUTReport(475, (i * 44) + 150, " [%s]", heap_check->getName()); JUTReport(475, (i * 44) + 164, "%10d", check1); JUTReport(475, (i * 44) + 178, "%10d", check2); @@ -275,7 +345,7 @@ void debugDisplay() { } } -void my_genCheckBox(JORMContext* mctx, const char* label, u8* pSrc, u8 mask) { +static void my_genCheckBox(JORMContext* mctx, const char* label, u8* pSrc, u8 mask) { mctx->genCheckBox(label, pSrc, mask); } @@ -316,7 +386,7 @@ void mDoMain_HIO_c::genMessage(JORMContext* mctx) { mctx->startComboBox("ヒープバーの種類", &mSelectHeapBar); mctx->genComboBoxItem("カレント", 0); - for (int i = 0; i < 8; i++) { + for (int i = 0; i < ARRAY_SIZE(HeapCheckTable); i++) { mctx->genComboBoxItem(HeapCheckTable[i]->getJName(), i + 1); } mctx->endComboBox(); @@ -437,7 +507,7 @@ void mDoMain_HIO_c::listenPropertyEvent(const JORPropertyEvent* property) { if ((u8*)property->id == &mSelectHeapBar) { JKRHeap* heap = NULL; u32 select_heap = mSelectHeapBar - 1; - if (select_heap < 8) { + if (select_heap < ARRAY_SIZE(HeapCheckTable)) { heap = HeapCheckTable[select_heap]->getHeap(); } @@ -471,32 +541,33 @@ void mDoMain_HIO_c::listenPropertyEvent(const JORPropertyEvent* property) { } #endif -bool Debug_console(u32 i_padNo) { +static bool Debug_console(u32 i_padNo) { JUTConsole* console = JFWSystem::getSystemConsole(); if (console != NULL) { static f32 console_position_x = 20.0f; static f32 console_position_y = 30.0f; static f32 console_scroll = 0.0f; - if (mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z && !(mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z)) { + if (GET_TRIGGER(i_padNo) & PAD_TRIGGER_Z && !(GET_BUTTON(i_padNo) & ~PAD_TRIGGER_Z)) + { console->setVisible(console->isVisible() == false); JUTAssertion::setMessageCount(0); } if (console->isVisible()) { - if ((mDoCPd_c::getHold(i_padNo) & PAD_TRIGGER_L && mDoCPd_c::getHold(i_padNo) & PAD_TRIGGER_R) || - ((mDoCPd_c::getAnalogL(i_padNo) > 0.0f && mDoCPd_c::getAnalogR(i_padNo) > 0.0f))) + if ((GET_BUTTON(i_padNo) & PAD_TRIGGER_L && GET_BUTTON(i_padNo) & PAD_TRIGGER_R) || + (GET_ANALOG_L(i_padNo) > 0.0f && GET_ANALOG_R(i_padNo) > 0.0f)) { - f32 stick_x = mDoCPd_c::getStickX(i_padNo); - f32 stick_y = mDoCPd_c::getStickY(i_padNo); + f32 stick_x = GET_STICK_X(i_padNo); + f32 stick_y = GET_STICK_Y(i_padNo); - if (mDoCPd_c::getHold(i_padNo) & (PAD_BUTTON_Y | PAD_BUTTON_X) && - mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_START) + if (GET_BUTTON(i_padNo) & (PAD_BUTTON_Y | PAD_BUTTON_X) && + GET_TRIGGER(i_padNo) & PAD_BUTTON_START) { console->clear(); } - if (!(mDoCPd_c::getHold(i_padNo) & (PAD_BUTTON_Y | PAD_BUTTON_X))) { + if (!(GET_BUTTON(i_padNo) & (PAD_BUTTON_Y | PAD_BUTTON_X))) { console_scroll -= stick_y; int scrollAmount; @@ -513,16 +584,16 @@ bool Debug_console(u32 i_padNo) { console->scroll(scrollAmount); } } else { - if (mDoCPd_c::getHold(i_padNo) & PAD_BUTTON_X) { + if (GET_BUTTON(i_padNo) & PAD_BUTTON_X) { console_position_x += stick_x; } - if (mDoCPd_c::getHold(i_padNo) & PAD_BUTTON_Y) { + if (GET_BUTTON(i_padNo) & PAD_BUTTON_Y) { console_position_y -= stick_y; } } - if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_A) { + if (GET_TRIGGER(i_padNo) & PAD_BUTTON_A) { console->dumpToTerminal(0xFFFFFFFF); console->setOutput(JUTConsole::OUTPUT_OSREPORT | JUTConsole::OUTPUT_CONSOLE); } @@ -533,11 +604,11 @@ bool Debug_console(u32 i_padNo) { JUTReport(30, 420, 1, "SCROLL:%3d %3d %3d Output=%1x", console->getLineOffset(), console->getPositionX(), console->getPositionY(), console->getOutput()); } else { - if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_DOWN) { + if (GET_TRIGGER(i_padNo) & PAD_BUTTON_DOWN) { g_HIO.mDisplayMeter ^= (u8)1; } - if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_LEFT) { + if (GET_TRIGGER(i_padNo) & PAD_BUTTON_LEFT) { JKRAramHeap* aram = JKRAram::getAramHeap(); if (aram != NULL) { aram->dump(); @@ -547,11 +618,16 @@ bool Debug_console(u32 i_padNo) { g_dComIfG_gameInfo.mResControl.dump(); } - if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_RIGHT) { + if (GET_TRIGGER(i_padNo) & PAD_BUTTON_RIGHT) { +#if PLATFORM_GCN + // hack to fix JKRHeap::dump_sort placement in .text + ((JKRExpHeap*)JKRGetSystemHeap())->dump_sort(); +#else JKRGetSystemHeap()->dump_sort(); +#endif } - if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_UP) { + if (GET_TRIGGER(i_padNo) & PAD_BUTTON_UP) { zeldaHeap->dump_sort(); gameHeap->dump_sort(); archiveHeap->dump_sort(); @@ -569,10 +645,12 @@ bool Debug_console(u32 i_padNo) { return 0; } -#if PLATFORM_GCN -#define COPYDATE_PATH "/str/Final/Release/COPYDATE" -#else +#if VERSION == VERSION_SHIELD_DEBUG #define COPYDATE_PATH "/str/RVL/Debug/COPYDATE" +#elif PLATFORM_WII +#define COPYDATE_PATH "/str/Rfinal/Release/COPYDATE" +#else +#define COPYDATE_PATH "/str/Final/Release/COPYDATE" #endif s32 LOAD_COPYDATE(void*) { @@ -629,7 +707,7 @@ static void debug() { #else Debug_console(PAD_3); #endif - + #if DEBUG fapGm_HIO_c::startCpuTimer(); @@ -658,14 +736,23 @@ extern u8 _e_dtors[]; extern u8 _f_rodata[]; extern u8 _e_rodata[]; -#if VERSION == VERSION_SHIELD_DEBUG +#if PLATFORM_WII || PLATFORM_SHIELD const int audioHeapSize = 0x169000; #else const int audioHeapSize = 0x14D800; #endif +inline void HeapCheck::setHeap(JKRExpHeap* i_heap) { + mHeap = i_heap; +#if VERSION != VERSION_WII_USA_R0 + if (i_heap != NULL) { + mTargetHeapSize = i_heap->getHeapSize(); + } +#endif +} + void main01(void) { - OS_REPORT("\x1b[m"); + OS_REPORT("\x1B[m"); // Setup heaps, setup exception manager, set RNG seed, setup DVDError Thread, setup Memory card Thread mDoMch_Create(); @@ -680,6 +767,10 @@ void main01(void) { // setup FrameBuffer and ZBuffer, init display lists mDoGph_Create(); +#if PLATFORM_WII + mReCPd::create(); +#endif + // Setup control pad mDoCPd_c::create(); @@ -689,7 +780,9 @@ void main01(void) { GameHeapCheck.setHeap(mDoExt_getGameHeap()); ArchiveHeapCheck.setHeap(mDoExt_getArchiveHeap()); J2dHeapCheck.setHeap(mDoExt_getJ2dHeap()); +#if VERSION != VERSION_WII_USA_R0 HostioHeapCheck.setHeap(mDoExt_getHostIOHeap()); +#endif CommandHeapCheck.setHeap(mDoExt_getCommandHeap()); #if DEBUG @@ -712,6 +805,10 @@ void main01(void) { mDoDvdThd_callback_c::create((mDoDvdThd_callback_func)LOAD_COPYDATE, NULL); fapGm_Create(); // init framework +#if PLATFORM_WII + dCsr_mng_c::create(); +#endif + #if DEBUG mDoMain_HIO.entryHIO("メイン"); g_regHIO.id = mDoHIO_createChild("レジスタ", &g_regHIO); @@ -738,11 +835,17 @@ void main01(void) { mDoMch_HeapCheckAll(); } +#if PLATFORM_GCN || PLATFORM_SHIELD if (mDoDvdThd::SyncWidthSound) { mDoMemCd_UpDate(); } +#endif - mDoCPd_c::read(); // read controller input +#if PLATFORM_WII + mReCPd::read(); // read Wii controller input +#endif + + mDoCPd_c::read(); // read GCN controller input #if DEBUG if (mDoMch::GXWarningExecuteFrame) { @@ -798,12 +901,12 @@ void parse_args(int argc, const char* argv[]) { } else if (strncmp(argv[i], "--menu=", sizeof("--menu=") - 1) == 0) { char* var_r27 = strchr(argv[i] + 7, ','); if (var_r27 != NULL) { - *var_r27 = 0; + *var_r27 = '\0'; var_r27++; char* var_r26 = std::strchr(var_r27, ','); if (var_r26 != NULL) { - *var_r26 = 0; + *var_r26 = '\0'; var_r26++; char* spC = std::strchr(var_r26, ','); @@ -861,13 +964,26 @@ void parse_args(int argc, const char* argv[]) { } #endif -static u8 mainThreadStack[32768]; +#if PLATFORM_GCN +#define MAIN_THREAD_STACK_SIZE 0x8000 +#else +#define MAIN_THREAD_STACK_SIZE 0xF000 +#endif + +#if PLATFORM_GCN +static u8 mainThreadStack[MAIN_THREAD_STACK_SIZE]; +#endif OSThread mainThread; void main(int argc, const char* argv[]) { OSThread* current_thread = OSGetCurrentThread(); +#if PLATFORM_GCN u8* stack = mainThreadStack; +#else + u8 stack[MAIN_THREAD_STACK_SIZE] ATTRIBUTE_ALIGN(32); + u8* stack_ptr = stack; +#endif mDoMain::sPowerOnTime = OSGetTime(); OSReportInit(); version_check(); @@ -892,8 +1008,10 @@ void main(int argc, const char* argv[]) { mDoRst::setProgSeqFlag(0); mDoRst::setProgChgFlag(0); mDoRst::setWarningDispFlag(0); +#if VERSION != VERSION_WII_USA_R0 mDoRst::offShutdown(); mDoRst::offReturnToMenu(); +#endif } #if PLATFORM_WII || PLATFORM_SHIELD @@ -927,17 +1045,23 @@ void main(int argc, const char* argv[]) { } OS_REPORT("メインスレッドを作成します\n"); - OSCreateThread(&mainThread, (void*(*)(void*))main01, 0, stack + sizeof(mainThreadStack), sizeof(mainThreadStack), OSGetThreadPriority(current_thread), 0); + OSCreateThread(&mainThread, (void*(*)(void*))main01, NULL, stack + MAIN_THREAD_STACK_SIZE, + MAIN_THREAD_STACK_SIZE, OSGetThreadPriority(current_thread), 0); OSResumeThread(&mainThread); OS_REPORT("メインスレッドを起動しました <%x>\n", &mainThread); OSSetThreadPriority(current_thread, 0x1F); OSSuspendThread(current_thread); } -bool JKRHeap::dump_sort() { - return true; +// hack to fix JKRHeap::dump_sort placement in .text +#if PLATFORM_GCN +static void dummy() { + // probably fake, needed to pull in JKRHeap::dump_sort + ((JKRHeap*)NULL)->dump_sort(); } +#endif +#if PLATFORM_GCN template<> Z2WolfHowlMgr* JASGlobalInstance::sInstance JAS_GLOBAL_INSTANCE_INIT; @@ -1011,3 +1135,4 @@ JASDefaultBankTable* JASGlobalInstance::sInstance JAS_GLOBA template<> JAUSectionHeap* JASGlobalInstance::sInstance JAS_GLOBAL_INSTANCE_INIT; #endif +#endif diff --git a/src/m_Do/m_Do_mtx.cpp b/src/m_Do/m_Do_mtx.cpp index 3b8bcd137e..532cb3db4f 100644 --- a/src/m_Do/m_Do_mtx.cpp +++ b/src/m_Do/m_Do_mtx.cpp @@ -3,6 +3,8 @@ * Matrix Helper Functions */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_mtx.h" #include "JSystem/JGeometry.h" #include "JSystem/JMath/JMath.h" diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp index 6c0f6193ca..67a84a8312 100644 --- a/src/m_Do/m_Do_printf.cpp +++ b/src/m_Do/m_Do_printf.cpp @@ -3,6 +3,8 @@ * OSReport and printf Helper Functions */ +#include "m_Do/machine.h" // IWYU pragma: keep + #include "m_Do/m_Do_printf.h" #include #include