Split Final Game Translation Units
Splits saveload.c and sreset.c. Also splits Gecko_ExceptionPPC to fix problems.
This commit is contained in:
parent
36ce4d7940
commit
a1a6006fe9
5 changed files with 115 additions and 72 deletions
|
|
@ -547,3 +547,21 @@ extract:
|
|||
- symbol: Ascii8x8_1bpp
|
||||
binary: Ascii8x8_1bpp.bin
|
||||
header: Ascii8x8_1bpp.inc
|
||||
- symbol: coveropen_en
|
||||
binary: coveropen_en.bin
|
||||
header: coveropen_en.inc
|
||||
- symbol: fatalerror_en
|
||||
binary: fatalerror_en.bin
|
||||
header: fatalerror_en.inc
|
||||
- symbol: loading_en
|
||||
binary: loading_en.bin
|
||||
header: loading_en.inc
|
||||
- symbol: nodisc_en
|
||||
binary: nodisc_en.bin
|
||||
header: nodisc_en.inc
|
||||
- symbol: retryerror_en
|
||||
binary: retryerror_en.bin
|
||||
header: retryerror_en.inc
|
||||
- symbol: wrongdisc_en
|
||||
binary: wrongdisc_en.bin
|
||||
header: wrongdisc_en.inc
|
||||
|
|
|
|||
|
|
@ -295,11 +295,27 @@ game/objsub.c:
|
|||
.text start:0x80057E24 end:0x80058010
|
||||
.data start:0x80131350 end:0x80132150
|
||||
.bss start:0x801981E0 end:0x80198410
|
||||
.sbss start:0x801D3E80 end:0x801D3EA8
|
||||
|
||||
game/flag.c:
|
||||
.text start:0x80058010 end:0x80058228
|
||||
.bss start:0x80198410 end:0x80198420
|
||||
|
||||
game/saveload.c:
|
||||
.text start:0x80058228 end:0x8005A6F8
|
||||
.data start:0x80132150 end:0x801321F8
|
||||
.bss start:0x80198420 end:0x8019C440
|
||||
.sdata start:0x801D3640 end:0x801D3658
|
||||
.sbss start:0x801D3EA8 end:0x801D3EB8
|
||||
.sdata2 start:0x801D5138 end:0x801D5148
|
||||
|
||||
game/sreset.c:
|
||||
.text start:0x8005A6F8 end:0x8005B150
|
||||
.data start:0x801321F8 end:0x80139798
|
||||
.bss start:0x8019C440 end:0x8019D7E0
|
||||
.sdata start:0x801D3658 end:0x801D3670
|
||||
.sbss start:0x801D3EB8 end:0x801D3ED0
|
||||
|
||||
dolphin/PPCArch.c:
|
||||
.text start:0x800B42F4 end:0x800B439C
|
||||
|
||||
|
|
@ -441,3 +457,12 @@ Runtime.PPCEABI.H/__init_cpp_exceptions.cpp:
|
|||
.ctors start:0x8011DCC0 end:0x8011DCC4
|
||||
.dtors start:0x8011DCE0 end:0x8011DCE8
|
||||
.sdata start:0x801D39B0 end:0x801D39B8
|
||||
|
||||
Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp:
|
||||
extab start:0x80005670 end:0x800056E4
|
||||
extabindex start:0x80005748 end:0x8000579C
|
||||
.text start:0x800E2B24 end:0x800E3F5C
|
||||
.rodata start:0x8011E4D0 end:0x8011E5A0
|
||||
.data start:0x8013E218 end:0x8013E300
|
||||
.bss start:0x801A72D0 end:0x801A72E0
|
||||
.sdata start:0x801D39B8 end:0x801D39C8
|
||||
|
|
|
|||
|
|
@ -959,46 +959,46 @@ _CheckFlag = .text:0x80058010; // type:function size:0xA0
|
|||
_SetFlag = .text:0x800580B0; // type:function size:0xA4
|
||||
_ClearFlag = .text:0x80058154; // type:function size:0xA4
|
||||
_InitFlag = .text:0x800581F8; // type:function size:0x30
|
||||
fn_80058228 = .text:0x80058228; // type:function size:0x140
|
||||
fn_80058368 = .text:0x80058368; // type:function size:0x2B0
|
||||
fn_80058618 = .text:0x80058618; // type:function size:0x11C
|
||||
fn_80058734 = .text:0x80058734; // type:function size:0x84
|
||||
fn_800587B8 = .text:0x800587B8; // type:function size:0x4C
|
||||
fn_80058804 = .text:0x80058804; // type:function size:0x8
|
||||
fn_8005880C = .text:0x8005880C; // type:function size:0xC
|
||||
fn_80058818 = .text:0x80058818; // type:function size:0x40
|
||||
fn_80058858 = .text:0x80058858; // type:function size:0x8
|
||||
fn_80058860 = .text:0x80058860; // type:function size:0x154
|
||||
fn_800589B4 = .text:0x800589B4; // type:function size:0x218
|
||||
fn_80058BCC = .text:0x80058BCC; // type:function size:0x254
|
||||
fn_80058E20 = .text:0x80058E20; // type:function size:0x8C
|
||||
fn_80058EAC = .text:0x80058EAC; // type:function size:0x8C
|
||||
fn_80058F38 = .text:0x80058F38; // type:function size:0x380
|
||||
fn_800592B8 = .text:0x800592B8; // type:function size:0xDC
|
||||
fn_80059394 = .text:0x80059394; // type:function size:0x48
|
||||
fn_800593DC = .text:0x800593DC; // type:function size:0x110
|
||||
fn_800594EC = .text:0x800594EC; // type:function size:0x38
|
||||
fn_80059524 = .text:0x80059524; // type:function size:0x1A0
|
||||
fn_800596C4 = .text:0x800596C4; // type:function size:0x184
|
||||
fn_80059848 = .text:0x80059848; // type:function size:0x28
|
||||
fn_80059870 = .text:0x80059870; // type:function size:0xA0
|
||||
fn_80059910 = .text:0x80059910; // type:function size:0x60
|
||||
fn_80059970 = .text:0x80059970; // type:function size:0x54
|
||||
fn_800599C4 = .text:0x800599C4; // type:function size:0x90
|
||||
fn_80059A54 = .text:0x80059A54; // type:function size:0x1D4
|
||||
fn_80059C28 = .text:0x80059C28; // type:function size:0x12C
|
||||
fn_80059D54 = .text:0x80059D54; // type:function size:0x5A8
|
||||
fn_8005A2FC = .text:0x8005A2FC; // type:function size:0x3FC
|
||||
fn_8005A6F8 = .text:0x8005A6F8; // type:function size:0x50
|
||||
fn_8005A748 = .text:0x8005A748; // type:function size:0x28
|
||||
SLFileOpen = .text:0x80058228; // type:function size:0x140
|
||||
SLFileCreate = .text:0x80058368; // type:function size:0x2B0
|
||||
SLFileWrite = .text:0x80058618; // type:function size:0x11C
|
||||
SLFileRead = .text:0x80058734; // type:function size:0x84
|
||||
SLFileClose = .text:0x800587B8; // type:function size:0x4C
|
||||
SLCurSlotNoSet = .text:0x80058804; // type:function size:0x8
|
||||
SLCurBoxNoSet = .text:0x8005880C; // type:function size:0xC
|
||||
SLSaveFlagSet = .text:0x80058818; // type:function size:0x40
|
||||
SLSaveFlagGet = .text:0x80058858; // type:function size:0x8
|
||||
SLSaveDataMake = .text:0x80058860; // type:function size:0x154
|
||||
SLSaveDataInfoSet = .text:0x800589B4; // type:function size:0x218
|
||||
SLCommonSet = .text:0x80058BCC; // type:function size:0x254
|
||||
SLSaveBoard = .text:0x80058E20; // type:function size:0x8C
|
||||
SLSaveBoardBackup = .text:0x80058EAC; // type:function size:0x8C
|
||||
SLSave = .text:0x80058F38; // type:function size:0x380
|
||||
SLCreateSaveWin = .text:0x800592B8; // type:function size:0xDC scope:local
|
||||
SLKillSaveWin = .text:0x80059394; // type:function size:0x48 scope:local
|
||||
SLLoad = .text:0x800593DC; // type:function size:0x110
|
||||
SLLoadGameStat = .text:0x800594EC; // type:function size:0x38
|
||||
SLLoadBoard = .text:0x80059524; // type:function size:0x1A0
|
||||
SLLoadBoardBackup = .text:0x800596C4; // type:function size:0x184
|
||||
SLSerialNoGet = .text:0x80059848; // type:function size:0x28
|
||||
SLSerialNoCheck = .text:0x80059870; // type:function size:0xA0
|
||||
SLCheckSumCheck = .text:0x80059910; // type:function size:0x60
|
||||
SLCheckSumGet = .text:0x80059970; // type:function size:0x54
|
||||
SLCheckSumSet = .text:0x800599C4; // type:function size:0x90
|
||||
SLStatSet = .text:0x80059A54; // type:function size:0x1D4
|
||||
SLCardMount = .text:0x80059C28; // type:function size:0x12C
|
||||
SLFormat = .text:0x80059D54; // type:function size:0x5A8
|
||||
SLMessOut = .text:0x8005A2FC; // type:function size:0x3FC
|
||||
HuSoftResetButtonCheck = .text:0x8005A6F8; // type:function size:0x50
|
||||
HuDvdErrDispIntFunc = .text:0x8005A748; // type:function size:0x28
|
||||
HuDvdErrDispInit = .text:0x8005A770; // type:function size:0x1F4
|
||||
fn_8005A964 = .text:0x8005A964; // type:function size:0xD8
|
||||
fn_8005AA3C = .text:0x8005AA3C; // type:function size:0x128
|
||||
fn_8005AB64 = .text:0x8005AB64; // type:function size:0x2D0
|
||||
fn_8005AE34 = .text:0x8005AE34; // type:function size:0xDC
|
||||
fn_8005AF10 = .text:0x8005AF10; // type:function size:0xFC
|
||||
fn_8005B00C = .text:0x8005B00C; // type:function size:0xCC
|
||||
fn_8005B0D8 = .text:0x8005B0D8; // type:function size:0x78
|
||||
ToeThreadFunc = .text:0x8005A964; // type:function size:0xD8 scope:local
|
||||
ToeDispCheck = .text:0x8005AA3C; // type:function size:0x128 scope:local
|
||||
_HuDvdErrDispXFB = .text:0x8005AB64; // type:function size:0x2D0 scope:local
|
||||
HuRestartSystem = .text:0x8005AE34; // type:function size:0xDC
|
||||
HuSoftResetCheck = .text:0x8005AF10; // type:function size:0xFC scope:local
|
||||
HuSoftResetCountCheck = .text:0x8005B00C; // type:function size:0xCC scope:local
|
||||
HuSoftResetPostProc = .text:0x8005B0D8; // type:function size:0x78 scope:local
|
||||
fn_8005B150 = .text:0x8005B150; // type:function size:0x2E0
|
||||
fn_8005B430 = .text:0x8005B430; // type:function size:0x64
|
||||
fn_8005B494 = .text:0x8005B494; // type:function size:0x9C
|
||||
|
|
@ -5126,15 +5126,15 @@ lbl_8013219C = .data:0x8013219C; // type:object size:0xC data:string
|
|||
lbl_801321A8 = .data:0x801321A8; // type:object size:0xC data:string
|
||||
lbl_801321B4 = .data:0x801321B4; // type:object size:0xC
|
||||
jumptable_801321C0 = .data:0x801321C0; // type:object size:0x34 scope:local
|
||||
lbl_801321F8 = .data:0x801321F8; // type:object size:0x10
|
||||
lbl_80132208 = .data:0x80132208; // type:object size:0x1384 noreloc
|
||||
lbl_8013358C = .data:0x8013358C; // type:object size:0x1384 noreloc
|
||||
lbl_80134910 = .data:0x80134910; // type:object size:0x1384 noreloc
|
||||
lbl_80135C94 = .data:0x80135C94; // type:object size:0x1384 noreloc
|
||||
lbl_80137018 = .data:0x80137018; // type:object size:0x1384 noreloc
|
||||
lbl_8013839C = .data:0x8013839C; // type:object size:0x1384 noreloc
|
||||
SR_PreRstChk = .data:0x801321F8; // type:object size:0x10
|
||||
coveropen_en = .data:0x80132208; // type:object size:0x1384 noreloc
|
||||
fatalerror_en = .data:0x8013358C; // type:object size:0x1384 noreloc
|
||||
loading_en = .data:0x80134910; // type:object size:0x1384 noreloc
|
||||
nodisc_en = .data:0x80135C94; // type:object size:0x1384 noreloc
|
||||
retryerror_en = .data:0x80137018; // type:object size:0x1384 noreloc
|
||||
wrongdisc_en = .data:0x8013839C; // type:object size:0x1384 noreloc
|
||||
jumptable_80139720 = .data:0x80139720; // type:object size:0x34 scope:local
|
||||
lbl_80139754 = .data:0x80139754; // type:object size:0x18
|
||||
bmpMes$493 = .data:0x80139754; // type:object size:0x18 scope:local
|
||||
lbl_8013976C = .data:0x8013976C; // type:object size:0x13 data:string
|
||||
lbl_8013977F = .data:0x8013977F; // type:object size:0x19
|
||||
lbl_80139798 = .data:0x80139798; // type:object size:0x24
|
||||
|
|
@ -5476,9 +5476,13 @@ GWGameStatBackup = .bss:0x801981E0; // type:object size:0x118
|
|||
lbl_801982F8 = .bss:0x801982F8; // type:object size:0x100
|
||||
lbl_801983F8 = .bss:0x801983F8; // type:object size:0x18
|
||||
_Sys_Flag = .bss:0x80198410; // type:object size:0x10
|
||||
lbl_80198420 = .bss:0x80198420; // type:object size:0x20
|
||||
lbl_80198440 = .bss:0x80198440; // type:object size:0x4000
|
||||
lbl_8019C440 = .bss:0x8019C440; // type:object size:0x13A0
|
||||
curFileInfo = .bss:0x80198420; // type:object size:0x20
|
||||
saveBuf = .bss:0x80198440; // type:object size:0x4000 align:32
|
||||
ToeMessageQueue = .bss:0x8019C440; // type:object size:0x20 scope:local
|
||||
padStat$377 = .bss:0x8019C460; // type:object size:0x30 scope:local
|
||||
ToeMessageArray = .bss:0x8019C490; // type:object size:0x40 scope:local
|
||||
ToeThread = .bss:0x8019C4D0; // type:object size:0x310 scope:local align:8
|
||||
ToeThreadStack = .bss:0x8019C7E0; // type:object size:0x1000 scope:local
|
||||
lbl_8019D7E0 = .bss:0x8019D7E0; // type:object size:0xC4 data:byte
|
||||
lbl_8019D8A4 = .bss:0x8019D8A4; // type:object size:0xC4
|
||||
lbl_8019D968 = .bss:0x8019D968; // type:object size:0x10
|
||||
|
|
@ -5739,14 +5743,14 @@ lbl_801D3623 = .sdata:0x801D3623; // type:object size:0x8 data:string
|
|||
lbl_801D362B = .sdata:0x801D362B; // type:object size:0x6 data:string
|
||||
lbl_801D3631 = .sdata:0x801D3631; // type:object size:0x7
|
||||
lbl_801D3638 = .sdata:0x801D3638; // type:object size:0x8
|
||||
lbl_801D3640 = .sdata:0x801D3640; // type:object size:0x4 data:4byte
|
||||
SaveEnableF = .sdata:0x801D3640; // type:object size:0x4 data:4byte
|
||||
lbl_801D3644 = .sdata:0x801D3644; // type:object size:0x2 data:string
|
||||
lbl_801D3646 = .sdata:0x801D3646; // type:object size:0x2 data:string
|
||||
lbl_801D3648 = .sdata:0x801D3648; // type:object size:0x8
|
||||
lbl_801D3650 = .sdata:0x801D3650; // type:object size:0x8 data:4byte
|
||||
lbl_801D3658 = .sdata:0x801D3658; // type:object size:0x8 data:2byte
|
||||
lbl_801D3660 = .sdata:0x801D3660; // type:object size:0x1 data:byte
|
||||
lbl_801D3664 = .sdata:0x801D3664; // type:object size:0xC data:4byte
|
||||
SlotNameTbl = .sdata:0x801D3648; // type:object size:0x8 scope:local
|
||||
saveMessWin = .sdata:0x801D3650; // type:object size:0x8 scope:local data:4byte
|
||||
SR_PushTime = .sdata:0x801D3658; // type:object size:0x8 scope:local data:2byte
|
||||
SR_ResetPad = .sdata:0x801D3660; // type:object size:0x1 scope:local data:byte
|
||||
Xfb = .sdata:0x801D3664; // type:object size:0x8 scope:local data:4byte
|
||||
lbl_801D3670 = .sdata:0x801D3670; // type:object size:0x4 data:4byte
|
||||
lbl_801D3674 = .sdata:0x801D3674; // type:object size:0x1 data:byte
|
||||
lbl_801D3675 = .sdata:0x801D3675; // type:object size:0x1 data:byte
|
||||
|
|
@ -5911,8 +5915,8 @@ lbl_801D39A0 = .sdata:0x801D39A0; // type:object size:0x8
|
|||
lbl_801D39A8 = .sdata:0x801D39A8; // type:object size:0x4 data:4byte
|
||||
lbl_801D39AC = .sdata:0x801D39AC; // type:object size:0x4 data:4byte
|
||||
fragmentID = .sdata:0x801D39B0; // type:object size:0x4 scope:local data:4byte
|
||||
lbl_801D39B8 = .sdata:0x801D39B8; // type:object size:0x8
|
||||
lbl_801D39C0 = .sdata:0x801D39C0; // type:object size:0x8
|
||||
__RTTI__Q23std9exception = .sdata:0x801D39B8; // type:object size:0x8 scope:local
|
||||
__RTTI__Q23std13bad_exception = .sdata:0x801D39C0; // type:object size:0x8 scope:local
|
||||
@wstringBase0 = .sdata:0x801D39C8; // type:object size:0x2 scope:local
|
||||
lbl_801D39D0 = .sdata:0x801D39D0; // type:object size:0x4 data:float
|
||||
lbl_801D39D4 = .sdata:0x801D39D4; // type:object size:0x4 data:float
|
||||
|
|
@ -6219,13 +6223,13 @@ lbl_801D3EAA = .sbss:0x801D3EAA; // type:object size:0x1 data:byte
|
|||
lbl_801D3EAC = .sbss:0x801D3EAC; // type:object size:0x4
|
||||
lbl_801D3EB0 = .sbss:0x801D3EB0; // type:object size:0x4 data:4byte
|
||||
lbl_801D3EB4 = .sbss:0x801D3EB4; // type:object size:0x4 data:4byte
|
||||
lbl_801D3EB8 = .sbss:0x801D3EB8; // type:object size:0x4 data:4byte
|
||||
lbl_801D3EBC = .sbss:0x801D3EBC; // type:object size:0x4 data:4byte
|
||||
lbl_801D3EC0 = .sbss:0x801D3EC0; // type:object size:0x4 data:4byte
|
||||
lbl_801D3EC4 = .sbss:0x801D3EC4; // type:object size:0x4 data:4byte
|
||||
lbl_801D3EC8 = .sbss:0x801D3EC8; // type:object size:0x4 data:4byte
|
||||
lbl_801D3ECC = .sbss:0x801D3ECC; // type:object size:0x2 data:2byte
|
||||
lbl_801D3ECE = .sbss:0x801D3ECE; // type:object size:0x2 data:2byte
|
||||
H_ResetReady = .sbss:0x801D3EB8; // type:object size:0x4 scope:local data:4byte
|
||||
SR_RestartChk = .sbss:0x801D3EBC; // type:object size:0x4 scope:local data:4byte
|
||||
SR_ExecReset = .sbss:0x801D3EC0; // type:object size:0x4 data:4byte
|
||||
trychkBusyWait = .sbss:0x801D3EC4; // type:object size:0x4 scope:local data:4byte
|
||||
XfbProg = .sbss:0x801D3EC8; // type:object size:0x4 scope:local data:4byte
|
||||
XfbH = .sbss:0x801D3ECC; // type:object size:0x2 scope:local data:2byte
|
||||
XfbW = .sbss:0x801D3ECE; // type:object size:0x2 scope:local data:2byte
|
||||
lbl_801D3ED0 = .sbss:0x801D3ED0; // type:object size:0x4 data:4byte
|
||||
lbl_801D3ED4 = .sbss:0x801D3ED4; // type:object size:0x4 data:4byte
|
||||
lbl_801D3ED8 = .sbss:0x801D3ED8; // type:object size:0x4 data:4byte
|
||||
|
|
|
|||
|
|
@ -278,6 +278,8 @@ config.libs = [
|
|||
Object(NonMatching, "game/thpmain.c"),
|
||||
Object(NonMatching, "game/objsub.c"),
|
||||
Object(NonMatching, "game/flag.c"),
|
||||
Object(NonMatching, "game/saveload.c"),
|
||||
Object(NonMatching, "game/sreset.c"),
|
||||
],
|
||||
},
|
||||
DolphinLib(
|
||||
|
|
@ -340,6 +342,7 @@ config.libs = [
|
|||
"objects": [
|
||||
Object(Matching, "Runtime.PPCEABI.H/global_destructor_chain.c"),
|
||||
Object(Matching, "Runtime.PPCEABI.H/__init_cpp_exceptions.cpp"),
|
||||
Object(Matching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp"),
|
||||
],
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define OS_THREAD_SPECIFIC_MAX 2
|
||||
|
||||
typedef struct OSThread OSThread;
|
||||
typedef struct OSThreadQueue OSThreadQueue;
|
||||
typedef struct OSThreadLink OSThreadLink;
|
||||
|
|
@ -58,8 +56,6 @@ struct OSThread {
|
|||
OSThreadLink linkActive;
|
||||
u8* stackBase;
|
||||
u32* stackEnd;
|
||||
s32 error;
|
||||
void* specific[OS_THREAD_SPECIFIC_MAX];
|
||||
};
|
||||
|
||||
enum OS_THREAD_STATE {
|
||||
|
|
@ -98,9 +94,6 @@ OSPriority OSGetThreadPriority(OSThread* thread);
|
|||
void OSSleepThread(OSThreadQueue* queue);
|
||||
void OSWakeupThread(OSThreadQueue* queue);
|
||||
|
||||
void* OSGetThreadSpecific(s32 index);
|
||||
void OSSetThreadSpecific(s32 index, void* ptr);
|
||||
|
||||
OSThread* OSSetIdleFunction(OSIdleFunction idleFunction, void* param, void* stack, u32 stackSize);
|
||||
OSThread* OSGetIdleFunction(void);
|
||||
void OSClearStack(u8 val);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue