From cbab9c2a31e786692215c3590cb396a944d5bdfb Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Wed, 27 Dec 2023 20:38:29 -0600 Subject: [PATCH] Split until GXInit.c --- config/GMPE01_00/splits.txt | 42 +++++++++++++ config/GMPE01_00/symbols.txt | 115 +++++++++++++++++------------------ configure.py | 34 +++++++++++ 3 files changed, 132 insertions(+), 59 deletions(-) diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index 2b6aaec9..d3321bbc 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -738,6 +738,48 @@ dolphin/demo/DEMOStats.c: .sbss start:0x801D4488 end:0x801D44E8 .sdata2 start:0x801D63D8 end:0x801D63E8 +dolphin/pad/Padclamp.c: + .text start:0x800C3CDC end:0x800C3F14 + .sdata start:0x801D3910 end:0x801D3918 + +dolphin/pad/Pad.c: + .text start:0x800C3F14 end:0x800C59DC + .bss start:0x801A61B0 end:0x801A6200 + .sdata start:0x801D3918 end:0x801D3938 + .sbss start:0x801D44E8 end:0x801D4510 + +dolphin/ai.c: + .text start:0x800C59DC end:0x800C62B8 + .sbss start:0x801D4510 end:0x801D4550 + +dolphin/ar/ar.c: + .text start:0x800C62B8 end:0x800C6F68 + .sbss start:0x801D4550 end:0x801D4570 + +dolphin/ar/arq.c: + .text start:0x800C6F68 end:0x800C72FC + .sbss start:0x801D4570 end:0x801D4598 + +dolphin/dsp/dsp.c: + .text start:0x800C72FC end:0x800C7508 + .data start:0x8013D748 end:0x8013D780 + .sbss start:0x801D4598 end:0x801D45A0 + +dolphin/dsp/dsp_debug.c: + .text start:0x800C7508 end:0x800C7558 + +dolphin/dsp/dsp_task.c: + .text start:0x800C7558 end:0x800C7DDC + .data start:0x8013D780 end:0x8013D8C0 + .sbss start:0x801D45A0 end:0x801D45B8 + +dolphin/gx/GXInit.c: + .text start:0x800C7DDC end:0x800C8ECC + .bss start:0x801A6200 end:0x801A6778 + .sdata start:0x801D3938 end:0x801D3940 + .sbss start:0x801D45B8 end:0x801D45C8 + .sdata2 start:0x801D63E8 end:0x801D6408 + Runtime.PPCEABI.H/global_destructor_chain.c: .text start:0x800E2008 end:0x800E2068 .dtors start:0x8011DCE8 end:0x8011DCEC diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index b38ae2cf..0570fe06 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -5564,9 +5564,11 @@ regs = .bss:0x801A6048; // type:object size:0x78 scope:local data:2byte shdwRegs = .bss:0x801A60C0; // type:object size:0x78 scope:local HorVer = .bss:0x801A6138; // type:object size:0x58 scope:local data:2byte fontTexObj = .bss:0x801A6190; // type:object size:0x20 scope:local -lbl_801A61B0 = .bss:0x801A61B0; // type:object size:0x10 -lbl_801A61C0 = .bss:0x801A61C0; // type:object size:0x40 +Type = .bss:0x801A61B0; // type:object size:0x10 scope:local +Origin = .bss:0x801A61C0; // type:object size:0x1E scope:local +CmdProbeDevice = .bss:0x801A61F0; // type:object size:0x10 scope:local gxData = .bss:0x801A6200; // type:object size:0x4F8 scope:local +FifoObj = .bss:0x801A66F8; // type:object size:0x80 lbl_801A6778 = .bss:0x801A6778; // type:object size:0x520 data:4byte lbl_801A6C98 = .bss:0x801A6C98; // type:object size:0x220 data:4byte lbl_801A6EB8 = .bss:0x801A6EB8; // type:object size:0x20 @@ -5898,14 +5900,14 @@ autoInvalidation = .sdata:0x801D38F0; // type:object size:0x4 scope:local data:4 @40 = .sdata:0x801D38FC; // type:object size:0x4 scope:local data:string @41 = .sdata:0x801D3900; // type:object size:0x3 scope:local data:string lbl_801D3908 = .sdata:0x801D3908; // type:object size:0x8 data:string -lbl_801D3910 = .sdata:0x801D3910; // type:object size:0x8 data:byte -lbl_801D3918 = .sdata:0x801D3918; // type:object size:0x4 data:4byte -lbl_801D391C = .sdata:0x801D391C; // type:object size:0x4 data:4byte -lbl_801D3920 = .sdata:0x801D3920; // type:object size:0x4 data:4byte -lbl_801D3924 = .sdata:0x801D3924; // type:object size:0x4 data:4byte -lbl_801D3928 = .sdata:0x801D3928; // type:object size:0x4 data:4byte -lbl_801D392C = .sdata:0x801D392C; // type:object size:0x4 -lbl_801D3930 = .sdata:0x801D3930; // type:object size:0x8 +ClampRegion = .sdata:0x801D3910; // type:object size:0x8 scope:local data:byte +ResettingChan = .sdata:0x801D3918; // type:object size:0x4 scope:local data:4byte +XPatchBits = .sdata:0x801D391C; // type:object size:0x4 scope:local data:4byte +AnalogMode = .sdata:0x801D3920; // type:object size:0x4 scope:local data:4byte +Spec = .sdata:0x801D3924; // type:object size:0x4 scope:local data:4byte +MakeStatus = .sdata:0x801D3928; // type:object size:0x4 scope:local data:4byte +CmdReadOrigin = .sdata:0x801D392C; // type:object size:0x4 scope:local +CmdCalibrate = .sdata:0x801D3930; // type:object size:0x4 scope:local gx = .sdata:0x801D3938; // type:object size:0x4 scope:global data:4byte lbl_801D3940 = .sdata:0x801D3940; // type:object size:0x4 lbl_801D3944 = .sdata:0x801D3944; // type:object size:0x4 @@ -6632,56 +6634,51 @@ viReq = .sbss:0x801D44D8; // type:object size:0x4 scope:local data:4byte peReq = .sbss:0x801D44DC; // type:object size:0x4 scope:local data:4byte rfReq = .sbss:0x801D44E0; // type:object size:0x4 scope:local data:4byte fiReq = .sbss:0x801D44E4; // type:object size:0x4 scope:local data:4byte -lbl_801D44E8 = .sbss:0x801D44E8; // type:object size:0x4 data:4byte -lbl_801D44EC = .sbss:0x801D44EC; // type:object size:0x4 data:4byte -lbl_801D44F0 = .sbss:0x801D44F0; // type:object size:0x4 data:4byte -lbl_801D44F4 = .sbss:0x801D44F4; // type:object size:0x4 data:4byte -lbl_801D44F8 = .sbss:0x801D44F8; // type:object size:0x4 data:4byte -lbl_801D44FC = .sbss:0x801D44FC; // type:object size:0x4 data:4byte -lbl_801D4500 = .sbss:0x801D4500; // type:object size:0x4 data:4byte -lbl_801D4504 = .sbss:0x801D4504; // type:object size:0x4 data:4byte -lbl_801D4508 = .sbss:0x801D4508; // type:object size:0x4 data:4byte +Initialized = .sbss:0x801D44E8; // type:object size:0x4 scope:local data:4byte +EnabledBits = .sbss:0x801D44EC; // type:object size:0x4 scope:local data:4byte +ResettingBits = .sbss:0x801D44F0; // type:object size:0x4 scope:local data:4byte +RecalibrateBits = .sbss:0x801D44F4; // type:object size:0x4 scope:local data:4byte +WaitingBits = .sbss:0x801D44F8; // type:object size:0x4 scope:local data:4byte +CheckingBits = .sbss:0x801D44FC; // type:object size:0x4 scope:local data:4byte +PendingBits = .sbss:0x801D4500; // type:object size:0x4 scope:local data:4byte +SamplingCallback = .sbss:0x801D4504; // type:object size:0x4 scope:local data:4byte +recalibrated$397 = .sbss:0x801D4508; // type:object size:0x4 scope:local data:4byte __PADSpec = .sbss:0x801D450C; // type:object size:0x4 scope:global data:4byte -lbl_801D4510 = .sbss:0x801D4510; // type:object size:0x4 data:4byte -lbl_801D4514 = .sbss:0x801D4514; // type:object size:0x4 data:4byte -lbl_801D4518 = .sbss:0x801D4518; // type:object size:0x4 data:4byte -lbl_801D451C = .sbss:0x801D451C; // type:object size:0x4 data:4byte -lbl_801D4520 = .sbss:0x801D4520; // type:object size:0x8 data:4byte -lbl_801D4528 = .sbss:0x801D4528; // type:object size:0x4 data:4byte -lbl_801D452C = .sbss:0x801D452C; // type:object size:0x4 data:4byte -lbl_801D4530 = .sbss:0x801D4530; // type:object size:0x4 data:4byte -lbl_801D4534 = .sbss:0x801D4534; // type:object size:0x4 data:4byte -lbl_801D4538 = .sbss:0x801D4538; // type:object size:0x4 data:4byte -lbl_801D453C = .sbss:0x801D453C; // type:object size:0x4 data:4byte -lbl_801D4540 = .sbss:0x801D4540; // type:object size:0x4 data:4byte -lbl_801D4544 = .sbss:0x801D4544; // type:object size:0x4 data:4byte -lbl_801D4548 = .sbss:0x801D4548; // type:object size:0x4 data:4byte -lbl_801D454C = .sbss:0x801D454C; // type:object size:0x4 data:4byte -lbl_801D4550 = .sbss:0x801D4550; // type:object size:0x4 data:4byte -lbl_801D4554 = .sbss:0x801D4554; // type:object size:0x4 data:4byte -lbl_801D4558 = .sbss:0x801D4558; // type:object size:0x4 data:4byte -lbl_801D455C = .sbss:0x801D455C; // type:object size:0x4 data:4byte -lbl_801D4560 = .sbss:0x801D4560; // type:object size:0x4 data:4byte -lbl_801D4564 = .sbss:0x801D4564; // type:object size:0x4 data:4byte -lbl_801D4568 = .sbss:0x801D4568; // type:object size:0x4 data:4byte -lbl_801D456C = .sbss:0x801D456C; // type:object size:0x4 data:4byte -lbl_801D4570 = .sbss:0x801D4570; // type:object size:0x4 data:4byte -lbl_801D4574 = .sbss:0x801D4574; // type:object size:0x4 data:4byte -lbl_801D4578 = .sbss:0x801D4578; // type:object size:0x4 data:4byte -lbl_801D457C = .sbss:0x801D457C; // type:object size:0x4 data:4byte -lbl_801D4580 = .sbss:0x801D4580; // type:object size:0x4 data:4byte -lbl_801D4584 = .sbss:0x801D4584; // type:object size:0x4 data:4byte -lbl_801D4588 = .sbss:0x801D4588; // type:object size:0x4 data:4byte -lbl_801D458C = .sbss:0x801D458C; // type:object size:0x4 data:4byte -lbl_801D4590 = .sbss:0x801D4590; // type:object size:0x4 data:4byte -lbl_801D4594 = .sbss:0x801D4594; // type:object size:0x4 data:4byte -lbl_801D4598 = .sbss:0x801D4598; // type:object size:0x8 data:4byte -lbl_801D45A0 = .sbss:0x801D45A0; // type:object size:0x4 data:4byte -lbl_801D45A4 = .sbss:0x801D45A4; // type:object size:0x4 data:4byte -lbl_801D45A8 = .sbss:0x801D45A8; // type:object size:0x4 data:4byte -lbl_801D45AC = .sbss:0x801D45AC; // type:object size:0x4 data:4byte -lbl_801D45B0 = .sbss:0x801D45B0; // type:object size:0x4 data:4byte -lbl_801D45B4 = .sbss:0x801D45B4; // type:object size:0x4 data:4byte +__AIS_Callback = .sbss:0x801D4510; // type:object size:0x4 scope:local data:4byte +__AID_Callback = .sbss:0x801D4514; // type:object size:0x4 scope:local data:4byte +__CallbackStack = .sbss:0x801D4518; // type:object size:0x4 scope:local data:4byte +__OldStack = .sbss:0x801D451C; // type:object size:0x4 scope:local data:4byte +__AI_init_flag = .sbss:0x801D4520; // type:object size:0x4 scope:local data:4byte +bound_32KHz = .sbss:0x801D4528; // type:object size:0x8 scope:local align:8 data:4byte +bound_48KHz = .sbss:0x801D4530; // type:object size:0x8 scope:local align:8 data:4byte +min_wait = .sbss:0x801D4538; // type:object size:0x8 scope:local align:8 data:4byte +max_wait = .sbss:0x801D4540; // type:object size:0x8 scope:local align:8 data:4byte +buffer = .sbss:0x801D4548; // type:object size:0x8 scope:local align:8 data:4byte +__AR_Callback = .sbss:0x801D4550; // type:object size:0x4 scope:local data:4byte +__AR_Size = .sbss:0x801D4554; // type:object size:0x4 scope:local data:4byte +__AR_InternalSize = .sbss:0x801D4558; // type:object size:0x4 scope:local data:4byte +__AR_ExpansionSize = .sbss:0x801D455C; // type:object size:0x4 scope:local data:4byte +__AR_StackPointer = .sbss:0x801D4560; // type:object size:0x4 scope:local data:4byte +__AR_FreeBlocks = .sbss:0x801D4564; // type:object size:0x4 scope:local data:4byte +__AR_BlockLength = .sbss:0x801D4568; // type:object size:0x4 scope:local data:4byte +__AR_init_flag = .sbss:0x801D456C; // type:object size:0x4 scope:local data:4byte +__ARQRequestQueueHi = .sbss:0x801D4570; // type:object size:0x4 scope:local data:4byte +__ARQRequestTailHi = .sbss:0x801D4574; // type:object size:0x4 scope:local data:4byte +__ARQRequestQueueLo = .sbss:0x801D4578; // type:object size:0x4 scope:local data:4byte +__ARQRequestTailLo = .sbss:0x801D457C; // type:object size:0x4 scope:local data:4byte +__ARQRequestPendingHi = .sbss:0x801D4580; // type:object size:0x4 scope:local data:4byte +__ARQRequestPendingLo = .sbss:0x801D4584; // type:object size:0x4 scope:local data:4byte +__ARQCallbackHi = .sbss:0x801D4588; // type:object size:0x4 scope:local data:4byte +__ARQCallbackLo = .sbss:0x801D458C; // type:object size:0x4 scope:local data:4byte +__ARQChunkSize = .sbss:0x801D4590; // type:object size:0x4 scope:local data:4byte +__ARQ_init_flag = .sbss:0x801D4594; // type:object size:0x4 scope:local data:4byte +__DSP_init_flag = .sbss:0x801D4598; // type:object size:0x8 scope:local data:4byte +__DSP_rude_task_pending = .sbss:0x801D45A0; // type:object size:0x4 data:4byte +__DSP_rude_task = .sbss:0x801D45A4; // type:object size:0x4 data:4byte +__DSP_tmp_task = .sbss:0x801D45A8; // type:object size:0x4 data:4byte +__DSP_last_task = .sbss:0x801D45AC; // type:object size:0x4 data:4byte +__DSP_first_task = .sbss:0x801D45B0; // type:object size:0x4 data:4byte +__DSP_curr_task = .sbss:0x801D45B4; // type:object size:0x4 data:4byte __piReg = .sbss:0x801D45B8; // type:object size:0x4 scope:global data:4byte __cpReg = .sbss:0x801D45BC; // type:object size:0x4 scope:global data:4byte __peReg = .sbss:0x801D45C0; // type:object size:0x4 scope:global data:4byte diff --git a/configure.py b/configure.py index 2d59534d..0a3b06bc 100644 --- a/configure.py +++ b/configure.py @@ -388,6 +388,40 @@ config.libs = [ Object(NonMatching, "dolphin/demo/DEMOStats.c"), ], ), + DolphinLib( + "pad", + [ + Object(NonMatching, "dolphin/pad/Padclamp.c"), + Object(NonMatching, "dolphin/pad/Pad.c"), + ], + ), + DolphinLib( + "ai", + [ + Object(NonMatching, "dolphin/ai.c"), + ], + ), + DolphinLib( + "ar", + [ + Object(NonMatching, "dolphin/ar/ar.c"), + Object(NonMatching, "dolphin/ar/arq.c"), + ], + ), + DolphinLib( + "dsp", + [ + Object(NonMatching, "dolphin/dsp/dsp.c"), + Object(NonMatching, "dolphin/dsp/dsp_debug.c"), + Object(NonMatching, "dolphin/dsp/dsp_task.c"), + ], + ), + DolphinLib( + "gx", + [ + Object(NonMatching, "dolphin/gx/GXInit.c"), + ], + ), { "lib": "Runtime.PPCEABI.H", "mw_version": config.linker_version,