Add support for PAL version (#464)

* Initial setup for PAL version

* Add hashes to config.yml
Set REL/empty.c to matching for every version
Turn off quick-analysis for PAL

* Set nisDll matching only for the US version

* More config.yml fixes and reran auto-analysis

* Split PAL to sprput

* Add more symbols

* Split a lot more code in PAL

* Split more

Also introduce version.h header

* Split to board stuff

* Port early board TUs to PAL

* More board PAL ports

* Split rest of board code

* Board RELs porting to PAL

* Match w06Dll/fire.c in PAL

* Match w04 big boo for PAL

---------

Co-authored-by: dbalatoni13 <stubiflex.junior@gmail.com>
This commit is contained in:
Liam Coleman 2024-11-16 12:35:24 -06:00 committed by GitHub
parent 80015a6e5e
commit d0a5c85d3e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
236 changed files with 40998 additions and 390 deletions

View file

@ -565,7 +565,4 @@ extract:
header: retryerror_en.inc
- symbol: wrongdisc_en
binary: wrongdisc_en.bin
header: wrongdisc_en.inc
- symbol: DEMOFontBitmap
binary: DEMOFontBitmap.bin
header: DEMOFontBitmap.inc
header: wrongdisc_en.inc

View file

@ -475,7 +475,7 @@ Hu3DParticleAttrSet = .text:0x8002A544; // type:function size:0x40
Hu3DParticleAttrReset = .text:0x8002A584; // type:function size:0x44
Hu3DParticleCntSet = .text:0x8002A5C8; // type:function size:0x3C
Hu3DParticleAnimModeSet = .text:0x8002A604; // type:function size:0x60
_Hu3DParticleAttrReset = .text:0x8002A664; // type:function size:0xAD4 scope:local
particleFunc = .text:0x8002A664; // type:function size:0xAD4 scope:local
Hu3DParManInit = .text:0x8002B138; // type:function size:0x48
Hu3DParManCreate = .text:0x8002B180; // type:function size:0x1D4
Hu3DParManLink = .text:0x8002B354; // type:function size:0x17C
@ -721,7 +721,7 @@ fn_80040374 = .text:0x80040374; // type:function size:0x98
fn_8004040C = .text:0x8004040C; // type:function size:0xF4
GetClusterCurve = .text:0x80040500; // type:function size:0xA8
GetClusterWeightCurve = .text:0x800405A8; // type:function size:0xA8
SetClusterMain = .text:0x80040650; // type:function size:0x3A0
SetClusterMain = .text:0x80040650; // type:function size:0x3A0 scope:local
ClusterProc = .text:0x800409F0; // type:function size:0x160
ClusterMotionExec = .text:0x80040B50; // type:function size:0x210
SetShapeMain = .text:0x80040D60; // type:function size:0x36C scope:local
@ -1841,10 +1841,10 @@ BallBooFlash = .text:0x800A1024; // type:function size:0x178 scope:local
TakeBallCoin = .text:0x800A119C; // type:function size:0x1B0 scope:local
ExecTakeBallCoin = .text:0x800A134C; // type:function size:0xDC scope:local
TakeBallCoinPosSet = .text:0x800A1428; // type:function size:0x9C scope:local
CheckBallCoinDone = .text:0x800A14C4; // type:function size:0x68
TakeBallStar = .text:0x800A152C; // type:function size:0x168
ExecTakeBallStar = .text:0x800A1694; // type:function size:0x184
CheckTakeBallStarDone = .text:0x800A1818; // type:function size:0x1C
CheckBallCoinDone = .text:0x800A14C4; // type:function size:0x68 scope:local
TakeBallStar = .text:0x800A152C; // type:function size:0x168 scope:local
ExecTakeBallStar = .text:0x800A1694; // type:function size:0x184 scope:local
CheckTakeBallStarDone = .text:0x800A1818; // type:function size:0x1C scope:local
BoardBooStealValueGet = .text:0x800A1834; // type:function size:0x30
BoardBooStealLightCheck = .text:0x800A1864; // type:function size:0x20
UpdatePlayerCoins = .text:0x800A1884; // type:function size:0x1B0 scope:local
@ -2756,8 +2756,8 @@ __THPHuffDecodeDCTCompU = .text:0x800E0C48; // type:function size:0x6A8 scope:lo
__THPHuffDecodeDCTCompV = .text:0x800E12F0; // type:function size:0x6A8 scope:local
THPInit = .text:0x800E1998; // type:function size:0x78
THPAudioDecode = .text:0x800E1A10; // type:function size:0x464
__THPAudioGetNewSample = .text:0x800E1E74; // type:function size:0x90
__THPAudioInitialize = .text:0x800E1F04; // type:function size:0x3C
__THPAudioGetNewSample = .text:0x800E1E74; // type:function size:0x90 scope:local
__THPAudioInitialize = .text:0x800E1F04; // type:function size:0x3C scope:local
__va_arg = .text:0x800E1F40; // type:function size:0xC8 scope:global
__destroy_global_chain = .text:0x800E2008; // type:function size:0x48 scope:global
__register_global_object = .text:0x800E2050; // type:function size:0x18 scope:global
@ -2918,7 +2918,7 @@ __StringWrite = .text:0x800E65DC; // type:function size:0x6C
__FileWrite = .text:0x800E6648; // type:function size:0x58 scope:global
__pformatter = .text:0x800E66A0; // type:function size:0x774 scope:local
float2str = .text:0x800E6E14; // type:function size:0x6EC scope:local
round_decimal = .text:0x800E7500; // type:function size:0x12C
round_decimal = .text:0x800E7500; // type:function size:0x12C scope:local
double2hex = .text:0x800E762C; // type:function size:0x338 scope:local
longlong2str = .text:0x800E7964; // type:function size:0x2DC scope:local
long2str = .text:0x800E7C40; // type:function size:0x220 scope:local
@ -3514,7 +3514,7 @@ msmSysDelGroupAll = .text:0x801161B4; // type:function size:0x140
msmSysDelGroupBase = .text:0x801162F4; // type:function size:0x28C
msmSysLoadGroupBase = .text:0x80116580; // type:function size:0x298
msmSysLoadGroupSet = .text:0x80116818; // type:function size:0x3F0
msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4
msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4 scope:local
msmSysLoadGroup = .text:0x80116FBC; // type:function size:0x278
msmSysCheckInit = .text:0x80117234; // type:function size:0x20
msmSysInit = .text:0x80117254; // type:function size:0x474
@ -3570,8 +3570,8 @@ msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C
msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8
msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8
msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC
msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8
msmStreamFade = .text:0x8011B298; // type:function size:0x33C
msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 scope:local
msmStreamFade = .text:0x8011B298; // type:function size:0x33C scope:local
msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local
msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local
msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448
@ -3611,8 +3611,8 @@ pickSpr = .rodata:0x8011DFD0; // type:object size:0x20 scope:local
handMdl = .rodata:0x8011DFF0; // type:object size:0x20 scope:local
ticketSpr = .rodata:0x8011E010; // type:object size:0x10 scope:local
lbl_8011E020 = .rodata:0x8011E020; // type:object size:0x20 data:4byte
lbl_8011E040 = .rodata:0x8011E040; // type:object size:0x24
lbl_8011E064 = .rodata:0x8011E064; // type:object size:0x4C
starMesTbl1 = .rodata:0x8011E040; // type:object size:0x24 scope:local
starMesTbl2 = .rodata:0x8011E064; // type:object size:0x48 scope:local
lbl_8011E0B0 = .rodata:0x8011E0B0; // type:object size:0x10 data:4byte
lbl_8011E0C0 = .rodata:0x8011E0C0; // type:object size:0x54 data:4byte
lbl_8011E118 = .rodata:0x8011E118; // type:object size:0x38 data:4byte
@ -4291,7 +4291,9 @@ statusLayout1Vs3 = .data:0x8013AD64; // type:object size:0x30 scope:local data:f
statusLayout2Vs2 = .data:0x8013AD94; // type:object size:0x30 scope:local data:float
luckyMessTbl = .data:0x8013ADC4; // type:object size:0x24 scope:local
jumptable_8013ADE8 = .data:0x8013ADE8; // type:object size:0x20 scope:local
hiliteYTbl = .data:0x8013AE08; // type:object size:0x10 scope:local
cursorYTbl = .data:0x8013AE08; // type:object size:0x10 scope:local
hiliteYTbl = .data:0x8013AE18; // type:object size:0x10 scope:local
hiliteColTbl = .data:0x8013AE28; // type:object size:0xC scope:local
hostMesTbl = .data:0x8013AE38; // type:object size:0x90 scope:local
houseMdlTbl = .data:0x8013AEC8; // type:object size:0x30 scope:local
@ -4549,12 +4551,12 @@ rsmpTab12khz = .data:0x80141FF0; // type:object size:0x800 scope:local
padStatErrOld = .bss:0x80142800; // type:object size:0x10 scope:local
rumbleData = .bss:0x80142810; // type:object size:0x20 scope:local
ReadDataStat = .bss:0x80142840; // type:object size:0x2E00 scope:local align:32 data:4byte
TextBuffer = .bss:0x80145640; // type:object size:0x400
textBuffer = .bss:0x80145640; // type:object size:0x400 scope:local
rmodeobj = .bss:0x80145A40; // type:object size:0x40 scope:local
HeapTbl = .bss:0x80145A80; // type:object size:0x14 scope:local
strline = .bss:0x80145A98; // type:object size:0x6800 scope:local
pfStrBuf = .bss:0x8014C298; // type:object size:0x100 scope:local data:byte
processjmpbuf = .bss:0x8014C398; // type:object size:0xF8 align:8
processjmpbuf = .bss:0x8014C398; // type:object size:0xF8 scope:local align:8
HuSprData = .bss:0x8014C490; // type:object size:0x9600
HuSprGrpData = .bss:0x80155A90; // type:object size:0x5400 data:2byte
HuSprOrder = .bss:0x8015AE90; // type:object size:0x1800
@ -4609,7 +4611,7 @@ CenterM = .bss:0x801900E0; // type:object size:0xC0
CZoomM = .bss:0x801901A0; // type:object size:0x40
omDLLinfoTbl = .bss:0x801901E0; // type:object size:0x50
sndFXBuf = .bss:0x80190230; // type:object size:0x200 scope:local
charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20 scope:local
charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20
seqWorkData = .bss:0x80190450; // type:object size:0x400 scope:local data:4byte
winnerNameW = .bss:0x80190850; // type:object size:0x10 scope:local data:2byte
esprite = .bss:0x80190860; // type:object size:0x600 data:2byte
@ -4648,7 +4650,7 @@ THPFileName = .bss:0x801981A0; // type:object size:0x40 scope:local
mgGameStatBackup = .bss:0x801981E0; // type:object size:0x118
mgIndexList = .bss:0x801982F8; // type:object size:0x100
mgTicTacToeGrid = .bss:0x801983F8; // type:object size:0x12
_Sys_Flag = .bss:0x80198410; // type:object size:0x10
_Sys_Flag = .bss:0x80198410; // type:object size:0x10 scope:local
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
@ -4701,7 +4703,7 @@ spacePos = .bss:0x801A4CF0; // type:object size:0xC scope:local data:float
focusPos = .bss:0x801A4CFC; // type:object size:0xC scope:local data:float
hostPos = .bss:0x801A4D08; // type:object size:0xC scope:local
hostMot = .bss:0x801A4D14; // type:object size:0x10 scope:local data:2byte
lotteryTicketObj = .bss:0x801A4D24; // type:object size:0x14 scope:local data:4byte
lotteryTicketObj = .bss:0x801A4D24; // type:object size:0x10 scope:local data:4byte
boxRot = .bss:0x801A4D38; // type:object size:0x20 scope:local
padBoxPos = .bss:0x801A4D58; // type:object size:0xC scope:local data:float
pathNodeData = .bss:0x801A4D68; // type:object size:0x500 scope:local data:byte
@ -5005,7 +5007,7 @@ itemPickupMdlId = .sdata:0x801D3790; // type:object size:0x2 scope:local data:2b
yourTurnSprGrp = .sdata:0x801D3792; // type:object size:0x2 scope:local data:2byte
jumpMot = .sdata:0x801D3798; // type:object size:0x2 scope:local data:2byte
starMdl = .sdata:0x801D379A; // type:object size:0x2 scope:local data:2byte
lbl_801D37A0 = .sdata:0x801D37A0; // type:object size:0x8
itemMotTbl = .sdata:0x801D37A0; // type:object size:0x8 scope:local
lbl_801D37A8 = .sdata:0x801D37A8; // type:object size:0x8
jumpMot = .sdata:0x801D37B0; // type:object size:0x2 scope:local data:2byte
scareMot = .sdata:0x801D37B2; // type:object size:0x2 scope:local data:2byte
@ -5023,9 +5025,9 @@ houseShowMot = .sdata:0x801D37F0; // type:object size:0x2 scope:local data:2byte
houseHideMot = .sdata:0x801D37F2; // type:object size:0x2 scope:local data:2byte
ballMdl = .sdata:0x801D37F4; // type:object size:0x2 scope:local data:2byte
booMdl = .sdata:0x801D37F6; // type:object size:0x2 scope:local data:2byte
lbl_801D37F8 = .sdata:0x801D37F8; // type:object size:0x2 scope:local data:2byte
smokeMdl = .sdata:0x801D37F8; // type:object size:0x2 scope:local data:2byte
hostMdl = .sdata:0x801D37FA; // type:object size:0x2 scope:local data:2byte
houseMot = .sdata:0x801D37FC; // type:object size:0x6 scope:local data:2byte
hostMot = .sdata:0x801D37FC; // type:object size:0x6 scope:local data:2byte
lbl_801D3802 = .sdata:0x801D3802; // type:object size:0x7 data:string
lbl_801D3809 = .sdata:0x801D3809; // type:object size:0x7 data:string
lbl_801D3810 = .sdata:0x801D3810; // type:object size:0x7 data:string
@ -5299,8 +5301,8 @@ omovlevtno = .sbss:0x801D3CD4; // type:object size:0x4 data:4byte
omovlhisidx = .sbss:0x801D3CD8; // type:object size:0x4 data:4byte
omcurdll = .sbss:0x801D3CDC; // type:object size:0x4 data:4byte
omcurovl = .sbss:0x801D3CE0; // type:object size:0x4 data:4byte
omnextovl = .sbss:0x801D3CE4; // type:object size:0x4 data:4byte
omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 data:4byte
omnextovl = .sbss:0x801D3CE4; // type:object size:0x4 scope:local data:4byte
omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 scope:local data:4byte
omDBGSysKeyObj = .sbss:0x801D3CEC; // type:object size:0x4 data:4byte
y_start = .sbss:0x801D3CF0; // type:object size:0x4 scope:local data:4byte
x_start = .sbss:0x801D3CF4; // type:object size:0x4 scope:local data:4byte