From d72aee82d6025c513ac5ba55ad76a0761abcfe36 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Wed, 27 Dec 2023 21:17:09 -0600 Subject: [PATCH] Split out rest of GX library --- config/GMPE01_00/splits.txt | 59 ++++++++++++++++++++++++++++++++++++ config/GMPE01_00/symbols.txt | 42 ++++++++++++------------- configure.py | 14 +++++++++ 3 files changed, 94 insertions(+), 21 deletions(-) diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index d3321bbc..91fea830 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -780,6 +780,65 @@ dolphin/gx/GXInit.c: .sbss start:0x801D45B8 end:0x801D45C8 .sdata2 start:0x801D63E8 end:0x801D6408 +dolphin/gx/GXFifo.c: + .text start:0x800C8ECC end:0x800C96F4 + .sbss start:0x801D45C8 end:0x801D45E8 + +dolphin/gx/GXAttr.c: + .text start:0x800C96F4 end:0x800CA51C + .data start:0x8013D8C0 end:0x8013D9E0 + .sdata start:0x801D3940 end:0x801D3950 + +dolphin/gx/GXMisc.c: + .text start:0x800CA51C end:0x800CAC40 + .sbss start:0x801D45E8 end:0x801D4600 + +dolphin/gx/GXGeometry.c: + .text start:0x800CAC40 end:0x800CB020 + +dolphin/gx/GXFrameBuf.c: + .text start:0x800CB020 end:0x800CBBD4 + .data start:0x8013D9E0 end:0x8013DB10 + .sdata2 start:0x801D6408 end:0x801D6410 + +dolphin/gx/GXLight.c: + .text start:0x800CBBD4 end:0x800CC5C0 + .data start:0x8013DB10 end:0x8013DB30 + .sdata2 start:0x801D6410 end:0x801D6460 + +dolphin/gx/GXTexture.c: + .text start:0x800CC5C0 end:0x800CD618 + .data start:0x8013DB30 end:0x8013DD58 + .sdata start:0x801D3950 end:0x801D3958 + .sdata2 start:0x801D6460 end:0x801D6488 + +dolphin/gx/GXBump.c: + .text start:0x800CD618 end:0x800CDE94 + .sdata2 start:0x801D6488 end:0x801D64A0 + +dolphin/gx/GXTev.c: + .text start:0x800CDE94 end:0x800CE8CC + .data start:0x8013DD58 end:0x8013DD80 + +dolphin/gx/GXPixel.c: + .text start:0x800CE8CC end:0x800CF014 + .data start:0x8013DD80 end:0x8013DDA0 + .sdata2 start:0x801D64A0 end:0x801D64D0 + +dolphin/gx/GXStubs.c: + .text start:0x800CF014 end:0x800CF018 + +dolphin/gx/GXDisplayList.c: + .text start:0x800CF018 end:0x800CF224 + +dolphin/gx/GXTransform.c: + .text start:0x800CF224 end:0x800CF9D8 + .sdata2 start:0x801D64D0 end:0x801D64F8 + +dolphin/gx/GXPerf.c: + .text start:0x800CF9D8 end:0x800D09A4 + .data start:0x8013DDA0 end:0x8013DEE8 + 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 0570fe06..81ce66bb 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -2571,9 +2571,9 @@ GXCallDisplayList = .text:0x800CF1B4; // type:function size:0x70 GXProject = .text:0x800CF224; // type:function size:0x174 GXSetProjection = .text:0x800CF398; // type:function size:0xD4 GXSetProjectionv = .text:0x800CF46C; // type:function size:0x78 -WriteMTXPS4x3 = .text:0x800CF4E4; // type:function size:0x34 -WriteMTXPS3x3from3x4 = .text:0x800CF518; // type:function size:0x34 -WriteMTXPS4x2 = .text:0x800CF54C; // type:function size:0x24 +WriteMTXPS4x3 = .text:0x800CF4E4; // type:function size:0x34 scope:local +WriteMTXPS3x3from3x4 = .text:0x800CF518; // type:function size:0x34 scope:local +WriteMTXPS4x2 = .text:0x800CF54C; // type:function size:0x24 scope:local GXLoadPosMtxImm = .text:0x800CF570; // type:function size:0x3C GXLoadNrmMtxImm = .text:0x800CF5AC; // type:function size:0x40 GXSetCurrentMtx = .text:0x800CF5EC; // type:function size:0x3C @@ -5320,13 +5320,13 @@ GXNtsc480IntDf = .data:0x8013D9E0; // type:object size:0x3C GXNtsc480Prog = .data:0x8013DA1C; // type:object size:0x3C GXMpal480IntDf = .data:0x8013DA58; // type:object size:0x3C GXPal528IntDf = .data:0x8013DA94; // type:object size:0x3C -GXEurgb60Hz480IntDf = .data:0x8013DAD0; // type:object size:0x40 +GXEurgb60Hz480IntDf = .data:0x8013DAD0; // type:object size:0x3C jumptable_8013DB10 = .data:0x8013DB10; // type:object size:0x1C scope:local jumptable_8013DB30 = .data:0x8013DB30; // type:object size:0xF4 scope:local jumptable_8013DC24 = .data:0x8013DC24; // type:object size:0xF4 scope:local jumptable_8013DD18 = .data:0x8013DD18; // type:object size:0x3C scope:local -lbl_8013DD58 = .data:0x8013DD58; // type:object size:0x28 -lbl_8013DD80 = .data:0x8013DD80; // type:object size:0x20 +c2r$364 = .data:0x8013DD58; // type:object size:0x24 scope:local +p2f$194 = .data:0x8013DD80; // type:object size:0x20 scope:local jumptable_8013DDA0 = .data:0x8013DDA0; // type:object size:0x5C scope:local jumptable_8013DDFC = .data:0x8013DDFC; // type:object size:0x90 scope:local jumptable_8013DE8C = .data:0x8013DE8C; // type:object size:0x5C scope:local @@ -5909,10 +5909,10 @@ 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 -lbl_801D3948 = .sdata:0x801D3948; // type:object size:0x8 -lbl_801D3950 = .sdata:0x801D3950; // type:object size:0x8 +tbl1$215 = .sdata:0x801D3940; // type:object size:0x4 scope:local +tbl2$216 = .sdata:0x801D3944; // type:object size:0x4 scope:local +tbl3$217 = .sdata:0x801D3948; // type:object size:0x4 scope:local +GX2HWFiltConv = .sdata:0x801D3950; // type:object size:0x6 lbl_801D3958 = .sdata:0x801D3958; // type:object size:0x8 lbl_801D3960 = .sdata:0x801D3960; // type:object size:0x8 lbl_801D3968 = .sdata:0x801D3968; // type:object size:0x8 @@ -6683,17 +6683,17 @@ __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 __memReg = .sbss:0x801D45C4; // type:object size:0x4 scope:global data:4byte -lbl_801D45C8 = .sbss:0x801D45C8; // type:object size:0x4 data:4byte -lbl_801D45CC = .sbss:0x801D45CC; // type:object size:0x4 data:4byte -lbl_801D45D0 = .sbss:0x801D45D0; // type:object size:0x4 data:4byte -lbl_801D45D4 = .sbss:0x801D45D4; // type:object size:0x1 data:byte -lbl_801D45D8 = .sbss:0x801D45D8; // type:object size:0x4 data:4byte -lbl_801D45DC = .sbss:0x801D45DC; // type:object size:0x4 data:4byte -lbl_801D45E0 = .sbss:0x801D45E0; // type:object size:0x8 data:4byte -lbl_801D45E8 = .sbss:0x801D45E8; // type:object size:0x4 data:4byte -lbl_801D45EC = .sbss:0x801D45EC; // type:object size:0x4 data:4byte -lbl_801D45F0 = .sbss:0x801D45F0; // type:object size:0x1 data:byte -lbl_801D45F4 = .sbss:0x801D45F4; // type:object size:0xC +CPUFifo = .sbss:0x801D45C8; // type:object size:0x4 scope:local data:4byte +GPFifo = .sbss:0x801D45CC; // type:object size:0x4 scope:local data:4byte +__GXCurrentThread = .sbss:0x801D45D0; // type:object size:0x4 scope:local data:4byte +CPGPLinked = .sbss:0x801D45D4; // type:object size:0x1 scope:local data:byte +GXOverflowSuspendInProgress = .sbss:0x801D45D8; // type:object size:0x4 scope:local data:4byte +BreakPointCB = .sbss:0x801D45DC; // type:object size:0x4 scope:local data:4byte +__GXOverflowCount = .sbss:0x801D45E0; // type:object size:0x4 scope:local data:4byte +TokenCB = .sbss:0x801D45E8; // type:object size:0x4 scope:local data:4byte +DrawDoneCB = .sbss:0x801D45EC; // type:object size:0x4 scope:local data:4byte +DrawDone = .sbss:0x801D45F0; // type:object size:0x1 scope:local data:byte +FinishQueue = .sbss:0x801D45F4; // type:object size:0x8 scope:local lbl_801D4600 = .sbss:0x801D4600; // type:object size:0x8 data:4byte lbl_801D4608 = .sbss:0x801D4608; // type:object size:0x4 data:4byte lbl_801D460C = .sbss:0x801D460C; // type:object size:0x4 data:4byte diff --git a/configure.py b/configure.py index 0a3b06bc..55289681 100644 --- a/configure.py +++ b/configure.py @@ -420,6 +420,20 @@ config.libs = [ "gx", [ Object(NonMatching, "dolphin/gx/GXInit.c"), + Object(NonMatching, "dolphin/gx/GXFifo.c"), + Object(NonMatching, "dolphin/gx/GXAttr.c"), + Object(NonMatching, "dolphin/gx/GXMisc.c"), + Object(NonMatching, "dolphin/gx/GXGeometry.c"), + Object(NonMatching, "dolphin/gx/GXFrameBuf.c"), + Object(NonMatching, "dolphin/gx/GXLight.c"), + Object(NonMatching, "dolphin/gx/GXTexture.c"), + Object(NonMatching, "dolphin/gx/GXBump.c"), + Object(NonMatching, "dolphin/gx/GXTev.c"), + Object(NonMatching, "dolphin/gx/GXPixel.c"), + Object(NonMatching, "dolphin/gx/GXStubs.c"), + Object(NonMatching, "dolphin/gx/GXDisplayList.c"), + Object(NonMatching, "dolphin/gx/GXTransform.c"), + Object(NonMatching, "dolphin/gx/GXPerf.c"), ], ), {