diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index 91fea830..a76a42d9 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -830,15 +830,91 @@ dolphin/gx/GXStubs.c: dolphin/gx/GXDisplayList.c: .text start:0x800CF018 end:0x800CF224 + .bss start:0x801A6778 end:0x801A6C98 + .sbss start:0x801D4600 end:0x801D4608 dolphin/gx/GXTransform.c: .text start:0x800CF224 end:0x800CF9D8 - .sdata2 start:0x801D64D0 end:0x801D64F8 + .sdata2 start:0x801D64D0 end:0x801D64F0 dolphin/gx/GXPerf.c: .text start:0x800CF9D8 end:0x800D09A4 .data start:0x8013DDA0 end:0x8013DEE8 +dolphin/card/CARDBios.c: + .text start:0x800D09A4 end:0x800D1CC4 + .data start:0x8013DEE8 end:0x8013DF00 + .bss start:0x801A6C98 end:0x801A6ED8 + +dolphin/card/CARDUnlock.c: + .text start:0x800D2F24 end:0x800D31A4 + +dolphin/card/CARDBlock.c: + .text start:0x800D31A4 end:0x800D35A8 + +dolphin/card/CARDDir.c: + .text start:0x800D35A8 end:0x800D380C + +dolphin/card/CARDCheck.c: + .text start:0x800D380C end:0x800D4774 + +dolphin/card/CARDMount.c: + .text start:0x800D4774 end:0x800D5234 + .data start:0x8013E060 end:0x8013E0A0 + +dolphin/card/CARDFormat.c: + .text start:0x800D5234 end:0x800D5A24 + +dolphin/card/CARDOpen.c: + .text start:0x800D5A24 end:0x800D5E78 + +dolphin/card/CARDCreate.c: + .text start:0x800D5E78 end:0x800D6210 + +dolphin/card/CARDRead.c: + .text start:0x800D6210 end:0x800D6688 + +dolphin/card/CARDWrite.c: + .text start:0x800D6688 end:0x800D6A04 + +dolphin/card/CARDDelete.c: + .text start:0x800D6A04 end:0x800D6C00 + +dolphin/card/CARDStat.c: + .text start:0x800D6C00 end:0x800D70E0 + +dolphin/card/CARDNet.c: + .text start:0x800D70E0 end:0x800D71A4 + +dolphin/exi/EXIBios.c: + .text start:0x800D71A4 end:0x800D8A78 + .bss start:0x801A6ED8 end:0x801A6F98 + +dolphin/exi/EXIUart.c: + .text start:0x800D8A78 end:0x800D8CE8 + .sbss start:0x801D4608 end:0x801D4618 + +dolphin/si/SIBios.c: + .text start:0x800D8CE8 end:0x800DA3C8 + .data start:0x8013E0A0 end:0x8013E170 + .bss start:0x801A6F98 end:0x801A71A0 + .sbss start:0x801D4618 end:0x801D4628 + +dolphin/si/SISamplingRate.c: + .text start:0x800DA3C8 end:0x800DA4D0 + .data start:0x8013E170 end:0x8013E208 + .sbss start:0x801D4628 end:0x801D4640 + +dolphin/thp/THPDec.c: + .text start:0x800DA4D0 end:0x800E1A10 + .rodata start:0x8011E440 end:0x8011E4D0 + .bss start:0x801A71A0 end:0x801A72D0 + .sbss start:0x801D4640 end:0x801D4758 + .sdata2 start:0x801D64F0 end:0x801D6510 + +dolphin/thp/THPAudio.c: + .text start:0x800E1A10 end:0x800E1F40 + 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 2f84fbd8..972e685a 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -4652,7 +4652,8 @@ lbl_8011E3D0 = .rodata:0x8011E3D0; // type:object size:0x20 data:4byte lbl_8011E3F0 = .rodata:0x8011E3F0; // type:object size:0x20 data:4byte lbl_8011E410 = .rodata:0x8011E410; // type:object size:0x20 data:4byte lbl_8011E430 = .rodata:0x8011E430; // type:object size:0x10 data:4byte -lbl_8011E440 = .rodata:0x8011E440; // type:object size:0x90 data:byte +__THPJpegNaturalOrder = .rodata:0x8011E440; // type:object size:0x50 data:byte +__THPAANScaleFactor = .rodata:0x8011E490; // type:object size:0x40 data:byte lbl_8011E4D0 = .rodata:0x8011E4D0; // type:object size:0x10 lbl_8011E4E0 = .rodata:0x8011E4E0; // type:object size:0x10 lbl_8011E4F0 = .rodata:0x8011E4F0; // type:object size:0x18 data:double @@ -5330,13 +5331,14 @@ 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 -lbl_8013DEE8 = .data:0x8013DEE8; // type:object size:0x18 -lbl_8013DF00 = .data:0x8013DF00; // type:object size:0x160 -lbl_8013E060 = .data:0x8013E060; // type:object size:0x20 -lbl_8013E080 = .data:0x8013E080; // type:object size:0x20 +ResetFunctionInfo = .data:0x8013DEE8; // type:object size:0x10 scope:local +CardData = .data:0x8013DF00; // type:object size:0x160 scope:local align:32 +SectorSizeTable = .data:0x8013E060; // type:object size:0x20 scope:local +LatencyTable = .data:0x8013E080; // type:object size:0x20 scope:local Si = .data:0x8013E0A0; // type:object size:0x14 scope:local data:4byte Type = .data:0x8013E0B4; // type:object size:0x10 scope:local XYNTSC = .data:0x8013E170; // type:object size:0x30 scope:local +XYPAL = .data:0x8013E1A0; // type:object size:0x30 scope:local lbl_8013E208 = .data:0x8013E208; // type:object size:0x10 jumptable_8013E218 = .data:0x8013E218; // type:object size:0x44 scope:local jumptable_8013E25C = .data:0x8013E25C; // type:object size:0x44 scope:local @@ -5569,18 +5571,25 @@ 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 +DisplayListFifo = .bss:0x801A6778; // type:object size:0x24 scope:local data:4byte +__savedGXdata = .bss:0x801A679C; // type:object size:0x4F8 scope:local data:4byte +__CARDBlock = .bss:0x801A6C98; // type:object size:0x220 data:4byte +__CARDDiskNone = .bss:0x801A6EB8; // type:object size:0x20 Ecb = .bss:0x801A6ED8; // type:object size:0xC0 scope:local data:4byte -Packet = .bss:0x801A6F98; // type:object size:0x80 scope:local data:4byte -lbl_801A7018 = .bss:0x801A7018; // type:object size:0xA0 -TypeTime = .bss:0x801A70B8; // type:object size:0x20 scope:local -lbl_801A70D8 = .bss:0x801A70D8; // type:object size:0x20 -lbl_801A70F8 = .bss:0x801A70F8; // type:object size:0x40 -lbl_801A7138 = .bss:0x801A7138; // type:object size:0x68 data:4byte -lbl_801A71A0 = .bss:0x801A71A0; // type:object size:0x118 -lbl_801A72B8 = .bss:0x801A72B8; // type:object size:0x18 data:4byte +Packet = .bss:0x801A6F98; // type:object size:0x80 scope:local align:8 data:4byte +Alarm = .bss:0x801A7018; // type:object size:0xA0 scope:local align:8 +TypeTime = .bss:0x801A70B8; // type:object size:0x20 scope:local align:8 +XferTime = .bss:0x801A70D8; // type:object size:0x20 scope:local align:8 +TypeCallback = .bss:0x801A70F8; // type:object size:0x40 scope:local +RDSTHandler = .bss:0x801A7138; // type:object size:0x10 scope:local data:4byte +InputBufferValid = .bss:0x801A7148; // type:object size:0x10 scope:local data:4byte +InputBuffer = .bss:0x801A7158; // type:object size:0x20 scope:local data:4byte +InputBufferVcount = .bss:0x801A7178; // type:object size:0x10 scope:local data:4byte +cmdFixDevice$327 = .bss:0x801A7188; // type:object size:0x10 scope:local data:4byte +__THPIDCTWorkspace = .bss:0x801A71A0; // type:object size:0x100 scope:local align:32 +__THPLCWork512 = .bss:0x801A72A0; // type:object size:0xC scope:local +__THPLCWork640 = .bss:0x801A72AC; // type:object size:0xC scope:local +__THPMCUBuffer = .bss:0x801A72B8; // type:object size:0x18 scope:local data:4byte fragmentinfo = .bss:0x801A72D0; // type:object size:0xC scope:local data:4byte __atexit_funcs = .bss:0x801A72E0; // type:object size:0x100 scope:local stderr_buff = .bss:0x801A73E0; // type:object size:0x38 data:4byte @@ -6694,32 +6703,32 @@ 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 -lbl_801D4610 = .sbss:0x801D4610; // type:object size:0x4 data:4byte -lbl_801D4614 = .sbss:0x801D4614; // type:object size:0x4 data:4byte -lbl_801D4618 = .sbss:0x801D4618; // type:object size:0x4 +OldCPUFifo = .sbss:0x801D4600; // type:object size:0x4 scope:local data:4byte +Chan = .sbss:0x801D4608; // type:object size:0x4 scope:local data:4byte +Dev = .sbss:0x801D460C; // type:object size:0x4 scope:local data:4byte +Enabled = .sbss:0x801D4610; // type:object size:0x4 scope:local data:4byte +BarnacleEnabled = .sbss:0x801D4614; // type:object size:0x4 scope:local data:4byte +cmdTypeAndStatus$78 = .sbss:0x801D4618; // type:object size:0x4 scope:local cmdTypeAndStatus$371 = .sbss:0x801D461C; // type:object size:0x4 scope:local -lbl_801D4620 = .sbss:0x801D4620; // type:object size:0x8 data:4byte +__PADFixBits = .sbss:0x801D4620; // type:object size:0x8 data:4byte SamplingRate = .sbss:0x801D4628; // type:object size:0x4 scope:local data:4byte -lbl_801D4640 = .sbss:0x801D4640; // type:object size:0x20 data:4byte -lbl_801D4660 = .sbss:0x801D4660; // type:object size:0x20 data:4byte -lbl_801D4680 = .sbss:0x801D4680; // type:object size:0x20 data:4byte -lbl_801D46A0 = .sbss:0x801D46A0; // type:object size:0x20 data:4byte -lbl_801D46C0 = .sbss:0x801D46C0; // type:object size:0x20 data:4byte -lbl_801D46E0 = .sbss:0x801D46E0; // type:object size:0x4 data:4byte -lbl_801D46E4 = .sbss:0x801D46E4; // type:object size:0x4 data:4byte -lbl_801D46E8 = .sbss:0x801D46E8; // type:object size:0x4 data:4byte -lbl_801D46EC = .sbss:0x801D46EC; // type:object size:0x14 data:4byte -lbl_801D4700 = .sbss:0x801D4700; // type:object size:0x20 data:4byte -lbl_801D4720 = .sbss:0x801D4720; // type:object size:0x20 data:4byte -lbl_801D4740 = .sbss:0x801D4740; // type:object size:0x4 data:4byte -lbl_801D4744 = .sbss:0x801D4744; // type:object size:0x4 data:4byte -lbl_801D4748 = .sbss:0x801D4748; // type:object size:0x4 data:4byte -lbl_801D474C = .sbss:0x801D474C; // type:object size:0x4 data:4byte -lbl_801D4750 = .sbss:0x801D4750; // type:object size:0x4 data:4byte -lbl_801D4754 = .sbss:0x801D4754; // type:object size:0x4 data:4byte +Ydchuff = .sbss:0x801D4640; // type:object size:0x4 scope:local align:32 data:4byte +Udchuff = .sbss:0x801D4660; // type:object size:0x4 scope:local align:32 data:4byte +Vdchuff = .sbss:0x801D4680; // type:object size:0x4 scope:local align:32 data:4byte +Yachuff = .sbss:0x801D46A0; // type:object size:0x4 scope:local align:32 data:4byte +Uachuff = .sbss:0x801D46C0; // type:object size:0x4 scope:local align:32 data:4byte +Vachuff = .sbss:0x801D46E0; // type:object size:0x4 scope:local align:32 data:4byte +__THPHuffmanBits = .sbss:0x801D46E4; // type:object size:0x4 scope:local data:4byte +__THPHuffmanSizeTab = .sbss:0x801D46E8; // type:object size:0x4 scope:local data:4byte +__THPHuffmanCodeTab = .sbss:0x801D46EC; // type:object size:0x4 scope:local data:4byte +Gbase = .sbss:0x801D4700; // type:object size:0x20 align:32 data:4byte +Gwid = .sbss:0x801D4720; // type:object size:0x20 align:32 data:4byte +Gq = .sbss:0x801D4740; // type:object size:0x4 scope:local align:32 data:4byte +__THPOldGQR5 = .sbss:0x801D4744; // type:object size:0x4 scope:local data:4byte +__THPOldGQR6 = .sbss:0x801D4748; // type:object size:0x4 scope:local data:4byte +__THPWorkArea = .sbss:0x801D474C; // type:object size:0x4 scope:local data:4byte +__THPInfo = .sbss:0x801D4750; // type:object size:0x4 scope:local data:4byte +__THPInitFlag = .sbss:0x801D4754; // type:object size:0x4 scope:local data:4byte __global_destructor_chain = .sbss:0x801D4758; // type:object size:0x4 scope:global data:4byte __aborting = .sbss:0x801D4760; // type:object size:0x4 scope:global data:4byte __atexit_curr_func = .sbss:0x801D4764; // type:object size:0x4 scope:local data:4byte diff --git a/configure.py b/configure.py index 9507456a..30bed484 100644 --- a/configure.py +++ b/configure.py @@ -436,6 +436,47 @@ config.libs = [ Object(NonMatching, "dolphin/gx/GXPerf.c"), ], ), + DolphinLib( + "card", + [ + Object(NonMatching, "dolphin/card/CARDBios.c"), + Object(NonMatching, "dolphin/card/CARDUnlock.c"), + Object(NonMatching, "dolphin/card/CARDRdwr.c"), + Object(NonMatching, "dolphin/card/CARDBlock.c"), + Object(NonMatching, "dolphin/card/CARDDir.c"), + Object(NonMatching, "dolphin/card/CARDCheck.c"), + Object(NonMatching, "dolphin/card/CARDMount.c"), + Object(NonMatching, "dolphin/card/CARDFormat.c"), + Object(NonMatching, "dolphin/card/CARDOpen.c"), + Object(NonMatching, "dolphin/card/CARDCreate.c"), + Object(NonMatching, "dolphin/card/CARDRead.c"), + Object(NonMatching, "dolphin/card/CARDWrite.c"), + Object(NonMatching, "dolphin/card/CARDDelete.c"), + Object(NonMatching, "dolphin/card/CARDStat.c"), + Object(NonMatching, "dolphin/card/CARDNet.c"), + ], + ), + DolphinLib( + "exi", + [ + Object(NonMatching, "dolphin/exi/EXIBios.c"), + Object(NonMatching, "dolphin/exi/EXIUart.c"), + ], + ), + DolphinLib( + "si", + [ + Object(NonMatching, "dolphin/si/SIBios.c"), + Object(NonMatching, "dolphin/si/SISamplingRate.c"), + ], + ), + DolphinLib( + "thp", + [ + Object(NonMatching, "dolphin/thp/THPDec.c"), + Object(NonMatching, "dolphin/thp/THPAudio.c"), + ], + ), { "lib": "Runtime.PPCEABI.H", "mw_version": config.linker_version,