From 43c14a03c76a6049718bb28b9fb40073f8d768fb Mon Sep 17 00:00:00 2001 From: Yanis42 <35189056+Yanis42@users.noreply.github.com> Date: Mon, 14 Oct 2024 17:10:20 +0200 Subject: [PATCH 1/2] proper norelocs --- config/mq-e/config.yml | 18 +++++++- config/mq-j/config.yml | 94 ++++++++++++++++++++++++++++++++++++++++ config/mq-j/symbols.txt | 27 +++++++----- config/mq-u/config.yml | 95 +++++++++++++++++++++++++++++++++++++++++ config/mq-u/symbols.txt | 20 ++++----- 5 files changed, 233 insertions(+), 21 deletions(-) diff --git a/config/mq-e/config.yml b/config/mq-e/config.yml index bb433adf..ebf0b49a 100644 --- a/config/mq-e/config.yml +++ b/config/mq-e/config.yml @@ -69,7 +69,7 @@ extract: header: gbar.inc block_relocations: -# system.c +# systemSetupGameALL - source: 0x8002D7A4 - source: 0x8002D7B0 - source: 0x8002D7D0 @@ -124,6 +124,7 @@ block_relocations: - source: 0x8002E8E8 - source: 0x8002E914 - source: 0x8002E948 +- source: 0x8002E978 - source: 0x8002E954 - source: 0x8002E998 - source: 0x8002E9A4 @@ -155,3 +156,18 @@ block_relocations: - source: 0x8002F860 - source: 0x8002F870 - source: 0x8002F898 +# cpuFindFunction +- source: 0x80032D3C +- source: 0x80032D44 +- source: 0x80032DA4 +- source: 0x80032DAC +- source: 0x80032DB8 +- source: 0x80033548 +- source: 0x80033578 +- source: 0x8003357C +- source: 0x800335B0 +- source: 0x800335C4 +- source: 0x80033604 +- source: 0x80033608 +- source: 0x8003363C +- source: 0x80033650 diff --git a/config/mq-j/config.yml b/config/mq-j/config.yml index 2f852ffe..6bc7e829 100644 --- a/config/mq-j/config.yml +++ b/config/mq-j/config.yml @@ -31,3 +31,97 @@ extract: header: gno.inc - symbol: gmesgOK header: gmesgOK.inc + +block_relocations: +# systemSetupGameALL +- source: 0x8002DD28 +- source: 0x8002DD34 +- source: 0x8002DD54 +- source: 0x8002DD5C +- source: 0x8002DD7C +- source: 0x8002DD88 +- source: 0x8002DDAC +- source: 0x8002E274 +- source: 0x8002E27C +- source: 0x8002E29C +- source: 0x8002E2A4 +- source: 0x8002E2CC +- source: 0x8002E2F4 +- source: 0x8002E31C +- source: 0x8002E344 +- source: 0x8002E36C +- source: 0x8002E394 +- source: 0x8002E3BC +- source: 0x8002E3E4 +- source: 0x8002E408 +- source: 0x8002E42C +- source: 0x8002E44C +- source: 0x8002E454 +- source: 0x8002E708 +- source: 0x8002E714 +- source: 0x8002E828 +- source: 0x8002E834 +- source: 0x8002E91C +- source: 0x8002E924 +- source: 0x8002E948 +- source: 0x8002E96C +- source: 0x8002E990 +- source: 0x8002E998 +- source: 0x8002E9BC +- source: 0x8002E9E0 +- source: 0x8002EB14 +- source: 0x8002EB20 +- source: 0x8002EB48 +- source: 0x8002EB70 +- source: 0x8002EBA4 +- source: 0x8002EBB0 +- source: 0x8002EBD4 +- source: 0x8002EC00 +- source: 0x8002EC34 +- source: 0x8002EC40 +- source: 0x8002EC64 +- source: 0x8002EC84 +- source: 0x8002EC90 +- source: 0x8002EDD4 +- source: 0x8002EDE0 +- source: 0x8002EE08 +- source: 0x8002F354 +- source: 0x8002F360 +- source: 0x8002F388 +- source: 0x8002F3B0 +- source: 0x8002F3D4 +- source: 0x8002F3FC +- source: 0x8002F57C +- source: 0x8002F588 +- source: 0x8002F5E8 +- source: 0x8002F5F0 +- source: 0x8002F614 +- source: 0x8002F634 +- source: 0x8002F640 +- source: 0x8002F664 +- source: 0x8002F744 +- source: 0x8002F754 +- source: 0x8002F898 +- source: 0x8002F8A4 +- source: 0x8002F8DC +- source: 0x8002F8EC +- source: 0x8002FA18 +- source: 0x8002FA20 +- source: 0x8002FA58 +- source: 0x8002FA68 +- source: 0x8002FA90 +# cpuFindFunction +- source: 0x80032C28 +- source: 0x80032C30 +- source: 0x80032C90 +- source: 0x80032C98 +- source: 0x80032CA4 +- source: 0x80033434 +- source: 0x80033464 +- source: 0x80033468 +- source: 0x8003349C +- source: 0x800334B0 +- source: 0x800334F0 +- source: 0x800334F4 +- source: 0x80033528 +- source: 0x8003353C diff --git a/config/mq-j/symbols.txt b/config/mq-j/symbols.txt index 49278039..946f75cb 100644 --- a/config/mq-j/symbols.txt +++ b/config/mq-j/symbols.txt @@ -240,15 +240,15 @@ frameConvertYUVtoRGB = .text:0x80020E20; // type:function size:0xCC frameScaleMatrix = .text:0x80020EEC; // type:function size:0xC8 frameEvent = .text:0x80020FB4; // type:function size:0x284 frameGetDepth = .text:0x80021238; // type:function size:0x270 -frameHackCIMG_Panel = .text:0x800214A8; // type:function size:0x184C noreloc -frameHackTIMG_Panel = .text:0x80022CF4; // type:function size:0xA4 noreloc +frameHackCIMG_Panel = .text:0x800214A8; // type:function size:0x184C +frameHackTIMG_Panel = .text:0x80022CF4; // type:function size:0xA4 PanelDrawFR3D = .text:0x80022D98; // type:function size:0xB4 PanelDrawBG16 = .text:0x80022E4C; // type:function size:0xBC PanelDrawBG8 = .text:0x80022F08; // type:function size:0xAC -frameHackCIMG_Zelda2_Camera = .text:0x80022FB4; // type:function size:0x134 noreloc +frameHackCIMG_Zelda2_Camera = .text:0x80022FB4; // type:function size:0x134 frameHackCIMG_Zelda2_Shrink = .text:0x800230E8; // type:function size:0x174 frameHackCIMG_Zelda = .text:0x8002325C; // type:function size:0x440 -frameHackCIMG_Zelda2 = .text:0x8002369C; // type:function size:0x608 noreloc +frameHackCIMG_Zelda2 = .text:0x8002369C; // type:function size:0x608 frameHackTIMG_Zelda = .text:0x80023CA4; // type:function size:0x1C8 ZeldaDrawFrameCamera = .text:0x80023E6C; // type:function size:0x2F4 ZeldaDrawFrameShrink = .text:0x80024160; // type:function size:0x50C @@ -258,15 +258,15 @@ ZeldaDrawFrame = .text:0x80024D40; // type:function size:0x2E0 ZeldaDrawFrameBlur = .text:0x80025020; // type:function size:0x2E4 ZeldaDrawFrameNoBlend = .text:0x80025304; // type:function size:0x1F4 _frameDrawRectangle = .text:0x800254F8; // type:function size:0x128 -frameEnd = .text:0x80025620; // type:function size:0x288 noreloc +frameEnd = .text:0x80025620; // type:function size:0x288 frameBegin = .text:0x800258A8; // type:function size:0x288 frameBeginOK = .text:0x80025B30; // type:function size:0x1C frameSetColor = .text:0x80025B4C; // type:function size:0xFC frameSetDepth = .text:0x80025C48; // type:function size:0x10 frameSetScissor = .text:0x80025C58; // type:function size:0x128 frameShow = .text:0x80025D80; // type:function size:0x8 -frameDrawRectTexture_Setup = .text:0x80025D88; // type:function size:0x3F4 noreloc -frameDrawRectTexture = .text:0x8002617C; // type:function size:0x4D8 noreloc +frameDrawRectTexture_Setup = .text:0x80025D88; // type:function size:0x3F4 +frameDrawRectTexture = .text:0x8002617C; // type:function size:0x4D8 frameDrawRectFill_Setup = .text:0x80026654; // type:function size:0xB0 frameDrawRectFill = .text:0x80026704; // type:function size:0x294 frameDrawLine_Setup = .text:0x80026998; // type:function size:0xDC @@ -316,7 +316,7 @@ systemGet32 = .text:0x8002D750; // type:function size:0x10 scope:local systemGet16 = .text:0x8002D760; // type:function size:0x10 scope:local systemGet8 = .text:0x8002D770; // type:function size:0x10 scope:local systemGetException = .text:0x8002D780; // type:function size:0x1DC scope:local -systemSetupGameALL = .text:0x8002D95C; // type:function size:0x24FC scope:local noreloc +systemSetupGameALL = .text:0x8002D95C; // type:function size:0x24FC scope:local systemGetInitialConfiguration = .text:0x8002FE58; // type:function size:0x594 systemSetupGameRAM = .text:0x800303EC; // type:function size:0x338 scope:local cpuOpcodeChecksum = .text:0x80030724; // type:function size:0x114 @@ -339,7 +339,7 @@ treeInitNode = .text:0x800327E0; // type:function size:0x11C treeInit = .text:0x800328FC; // type:function size:0x58 treeCallerCheck = .text:0x80032954; // type:function size:0x104 cpuDMAUpdateFunction = .text:0x80032A58; // type:function size:0x160 -cpuFindFunction = .text:0x80032BB8; // type:function size:0xB84 noreloc +cpuFindFunction = .text:0x80032BB8; // type:function size:0xB84 cpuTreeTake = .text:0x8003373C; // type:function size:0xB4 cpuHeapFree = .text:0x800337F0; // type:function size:0xEC cpuHeapTake = .text:0x800338DC; // type:function size:0x260 @@ -548,7 +548,7 @@ rspLoadYield = .text:0x80072538; // type:function size:0x188 rspSaveYield = .text:0x800726C0; // type:function size:0x178 rspFindUCode = .text:0x80072838; // type:function size:0x1160 rspLoadMatrix = .text:0x80073998; // type:function size:0x288 -rspParseGBI_F3DEX2 = .text:0x80073C20; // type:function size:0x1BD0 noreloc +rspParseGBI_F3DEX2 = .text:0x80073C20; // type:function size:0x1BD0 rspGeometryMode = .text:0x800757F0; // type:function size:0xE8 rspParseGBI_F3DEX1 = .text:0x800758D8; // type:function size:0x1684 rspSetGeometryMode1 = .text:0x80076F5C; // type:function size:0xC0 @@ -1872,6 +1872,7 @@ lbl_800EBF60 = .data:0x800EBF60; // type:object size:0x694 data:4byte lbl_800EC5F4 = .data:0x800EC5F4; // type:object size:0x2C data:string jumptable_800EC620 = .data:0x800EC620; // type:object size:0x28 scope:local jumptable_800EC648 = .data:0x800EC648; // type:object size:0x28 scope:local +lbl_800EC670 = .data:0x800EC670; // type:object size:0x54 jumptable_800EC6C4 = .data:0x800EC6C4; // type:object size:0x20 scope:local jumptable_800EC6E4 = .data:0x800EC6E4; // type:object size:0x80 scope:local lbl_800EC78C = .data:0x800EC78C; // type:object size:0x2C @@ -2439,6 +2440,12 @@ lbl_80130FC0 = .bss:0x80130FC0; // type:object size:0xC80 data:2byte gSystemRomConfigurationList = .bss:0x80131C40; // type:object size:0x174 ...bss.0 = .bss:0x80131C40; // type:label scope:local aHeapTreeFlag = .bss:0x80131DB8; // type:object size:0x1F4 data:4byte +lbl_80131FB0 = .bss:0x80131FB0; // type:object size:0xA000 +lbl_8013BFB0 = .bss:0x8013BFB0; // type:object size:0x14052 data:2byte +lbl_80150002 = .bss:0x80150002; // type:object size:0x117AE +lbl_801617B0 = .bss:0x801617B0; // type:object size:0x172D0 data:2byte +lbl_80178A80 = .bss:0x80178A80; // type:object size:0xF14 +lbl_80179994 = .bss:0x80179994; // type:object size:0xD61C tevStages_519 = .bss:0x80186FB0; // type:object size:0x2D0 data:4byte DriveInfo = .bss:0x80187280; // type:object size:0x20 scope:local ...bss.0 = .bss:0x80187280; // type:label scope:local diff --git a/config/mq-u/config.yml b/config/mq-u/config.yml index ceb95da8..c6b77ff5 100644 --- a/config/mq-u/config.yml +++ b/config/mq-u/config.yml @@ -31,3 +31,98 @@ extract: header: gno.inc - symbol: gmesgOK header: gmesgOK.inc + +block_relocations: +# systemSetupGameALL +- source: 0x8002E128 +- source: 0x8002E134 +- source: 0x8002E154 +- source: 0x8002E15C +- source: 0x8002E17C +- source: 0x8002E188 +- source: 0x8002E1A8 +- source: 0x8002E1B0 +- source: 0x8002E204 +- source: 0x8002E20C +- source: 0x8002E22C +- source: 0x8002E24C +- source: 0x8002E258 +- source: 0x8002E27C +- source: 0x8002E76C +- source: 0x8002E774 +- source: 0x8002E79C +- source: 0x8002E7C4 +- source: 0x8002E7EC +- source: 0x8002E814 +- source: 0x8002E83C +- source: 0x8002E864 +- source: 0x8002E88C +- source: 0x8002E8B4 +- source: 0x8002E8D8 +- source: 0x8002E8FC +- source: 0x8002EBD8 +- source: 0x8002EBE4 +- source: 0x8002ECF8 +- source: 0x8002ED04 +- source: 0x8002EDEC +- source: 0x8002EDF4 +- source: 0x8002EE18 +- source: 0x8002EE3C +- source: 0x8002EE60 +- source: 0x8002EE68 +- source: 0x8002EE8C +- source: 0x8002EEB0 +- source: 0x8002EFE4 +- source: 0x8002EFF0 +- source: 0x8002F018 +- source: 0x8002F040 +- source: 0x8002F074 +- source: 0x8002F080 +- source: 0x8002F0A4 +- source: 0x8002F0D0 +- source: 0x8002F104 +- source: 0x8002F110 +- source: 0x8002F134 +- source: 0x8002F154 +- source: 0x8002F160 +- source: 0x8002F2C0 +- source: 0x8002F2CC +- source: 0x8002F2F4 +- source: 0x8002F840 +- source: 0x8002F84C +- source: 0x8002F874 +- source: 0x8002F89C +- source: 0x8002F8C0 +- source: 0x8002F8E8 +- source: 0x8002FA68 +- source: 0x8002FA74 +- source: 0x8002FAD4 +- source: 0x8002FADC +- source: 0x8002FB00 +- source: 0x8002FB20 +- source: 0x8002FB2C +- source: 0x8002FB50 +- source: 0x8002FC30 +- source: 0x8002FC40 +- source: 0x8002FD84 +- source: 0x8002FD90 +- source: 0x8002FDC8 +- source: 0x8002FDD8 +- source: 0x8002FF04 +- source: 0x8002FF0C +- source: 0x8002FF44 +- source: 0x8002FF54 +- source: 0x8002FF7C +# cpuFindFunction +- source: 0x8003342C +- source: 0x80033434 +- source: 0x80033440 +- source: 0x80033BD0 +- source: 0x80033C00 +- source: 0x80033C04 +- source: 0x80033C38 +- source: 0x80033C4C +- source: 0x80033C8C +- source: 0x80033C90 +- source: 0x80033CC4 +- source: 0x80033CD8 diff --git a/config/mq-u/symbols.txt b/config/mq-u/symbols.txt index 1621ccf3..8dd83415 100644 --- a/config/mq-u/symbols.txt +++ b/config/mq-u/symbols.txt @@ -240,15 +240,15 @@ frameConvertYUVtoRGB = .text:0x80021048; // type:function size:0xCC frameScaleMatrix = .text:0x80021114; // type:function size:0xC8 frameEvent = .text:0x800211DC; // type:function size:0x384 frameGetDepth = .text:0x80021560; // type:function size:0x270 -frameHackCIMG_Panel = .text:0x800217D0; // type:function size:0x1844 noreloc -frameHackTIMG_Panel = .text:0x80023014; // type:function size:0xA4 noreloc +frameHackCIMG_Panel = .text:0x800217D0; // type:function size:0x1844 +frameHackTIMG_Panel = .text:0x80023014; // type:function size:0xA4 PanelDrawFR3D = .text:0x800230B8; // type:function size:0xB4 PanelDrawBG16 = .text:0x8002316C; // type:function size:0xBC PanelDrawBG8 = .text:0x80023228; // type:function size:0xAC -frameHackCIMG_Zelda2_Camera = .text:0x800232D4; // type:function size:0x134 noreloc +frameHackCIMG_Zelda2_Camera = .text:0x800232D4; // type:function size:0x134 frameHackCIMG_Zelda2_Shrink = .text:0x80023408; // type:function size:0x174 frameHackCIMG_Zelda = .text:0x8002357C; // type:function size:0x440 -frameHackCIMG_Zelda2 = .text:0x800239BC; // type:function size:0x658 noreloc +frameHackCIMG_Zelda2 = .text:0x800239BC; // type:function size:0x658 frameHackTIMG_Zelda = .text:0x80024014; // type:function size:0x1C8 ZeldaDrawFrameCamera = .text:0x800241DC; // type:function size:0x2F4 ZeldaDrawFrameShrink = .text:0x800244D0; // type:function size:0x50C @@ -258,15 +258,15 @@ ZeldaDrawFrame = .text:0x800250B0; // type:function size:0x2E0 ZeldaDrawFrameBlur = .text:0x80025390; // type:function size:0x2E4 ZeldaDrawFrameNoBlend = .text:0x80025674; // type:function size:0x1F4 _frameDrawRectangle = .text:0x80025868; // type:function size:0x128 -frameEnd = .text:0x80025990; // type:function size:0x288 noreloc +frameEnd = .text:0x80025990; // type:function size:0x288 frameBegin = .text:0x80025C18; // type:function size:0x28C frameBeginOK = .text:0x80025EA4; // type:function size:0x1C frameSetColor = .text:0x80025EC0; // type:function size:0xFC frameSetDepth = .text:0x80025FBC; // type:function size:0x10 frameSetScissor = .text:0x80025FCC; // type:function size:0x128 frameShow = .text:0x800260F4; // type:function size:0x8 -frameDrawRectTexture_Setup = .text:0x800260FC; // type:function size:0x3F0 noreloc -frameDrawRectTexture = .text:0x800264EC; // type:function size:0x4D8 noreloc +frameDrawRectTexture_Setup = .text:0x800260FC; // type:function size:0x3F0 +frameDrawRectTexture = .text:0x800264EC; // type:function size:0x4D8 frameDrawRectFill_Setup = .text:0x800269C4; // type:function size:0xB0 frameDrawRectFill = .text:0x80026A74; // type:function size:0x294 frameDrawLine_Setup = .text:0x80026D08; // type:function size:0xDC @@ -316,7 +316,7 @@ systemGet32 = .text:0x8002DB3C; // type:function size:0x10 scope:local systemGet16 = .text:0x8002DB4C; // type:function size:0x10 scope:local systemGet8 = .text:0x8002DB5C; // type:function size:0x10 scope:local systemGetException = .text:0x8002DB6C; // type:function size:0x1DC scope:local -systemSetupGameALL = .text:0x8002DD48; // type:function size:0x25FC scope:local noreloc +systemSetupGameALL = .text:0x8002DD48; // type:function size:0x25FC scope:local systemGetInitialConfiguration = .text:0x80030344; // type:function size:0x7D4 systemSetupGameRAM = .text:0x80030B18; // type:function size:0x3A8 scope:local cpuOpcodeChecksum = .text:0x80030EC0; // type:function size:0x114 @@ -339,7 +339,7 @@ treeInitNode = .text:0x80032F7C; // type:function size:0x11C treeInit = .text:0x80033098; // type:function size:0x58 treeCallerCheck = .text:0x800330F0; // type:function size:0x104 cpuDMAUpdateFunction = .text:0x800331F4; // type:function size:0x160 -cpuFindFunction = .text:0x80033354; // type:function size:0xB84 noreloc +cpuFindFunction = .text:0x80033354; // type:function size:0xB84 cpuTreeTake = .text:0x80033ED8; // type:function size:0xB4 cpuHeapFree = .text:0x80033F8C; // type:function size:0xEC cpuHeapTake = .text:0x80034078; // type:function size:0x260 @@ -549,7 +549,7 @@ rspLoadYield = .text:0x80072DBC; // type:function size:0x188 rspSaveYield = .text:0x80072F44; // type:function size:0x178 rspFindUCode = .text:0x800730BC; // type:function size:0x1160 rspLoadMatrix = .text:0x8007421C; // type:function size:0x288 -rspParseGBI_F3DEX2 = .text:0x800744A4; // type:function size:0x1BD0 noreloc +rspParseGBI_F3DEX2 = .text:0x800744A4; // type:function size:0x1BD0 rspGeometryMode = .text:0x80076074; // type:function size:0xE8 rspParseGBI_F3DEX1 = .text:0x8007615C; // type:function size:0x1684 rspSetGeometryMode1 = .text:0x800777E0; // type:function size:0xC0 From 19501a5fb476b5dc135078474506c28b9296e36e Mon Sep 17 00:00:00 2001 From: Yanis42 <35189056+Yanis42@users.noreply.github.com> Date: Mon, 14 Oct 2024 17:20:40 +0200 Subject: [PATCH 2/2] fix symbol oddity on mq-j --- config/mq-j/symbols.txt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/config/mq-j/symbols.txt b/config/mq-j/symbols.txt index 946f75cb..b36e21ee 100644 --- a/config/mq-j/symbols.txt +++ b/config/mq-j/symbols.txt @@ -2441,11 +2441,8 @@ gSystemRomConfigurationList = .bss:0x80131C40; // type:object size:0x174 ...bss.0 = .bss:0x80131C40; // type:label scope:local aHeapTreeFlag = .bss:0x80131DB8; // type:object size:0x1F4 data:4byte lbl_80131FB0 = .bss:0x80131FB0; // type:object size:0xA000 -lbl_8013BFB0 = .bss:0x8013BFB0; // type:object size:0x14052 data:2byte -lbl_80150002 = .bss:0x80150002; // type:object size:0x117AE -lbl_801617B0 = .bss:0x801617B0; // type:object size:0x172D0 data:2byte -lbl_80178A80 = .bss:0x80178A80; // type:object size:0xF14 -lbl_80179994 = .bss:0x80179994; // type:object size:0xD61C +lbl_8013BFB0 = .bss:0x8013BFB0; // type:object size:0x25800 data:2byte +lbl_801617B0 = .bss:0x801617B0; // type:object size:0x25800 data:2byte tevStages_519 = .bss:0x80186FB0; // type:object size:0x2D0 data:4byte DriveInfo = .bss:0x80187280; // type:object size:0x20 scope:local ...bss.0 = .bss:0x80187280; // type:label scope:local