Merge pull request #459 from gamemasterplc/pal

Split to board stuff
This commit is contained in:
Liam Coleman 2024-11-15 19:59:53 -06:00 committed by GitHub
commit 1270885b1c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 801 additions and 418 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

@ -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
@ -4554,7 +4554,7 @@ 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 scope:local
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
@ -4648,7 +4648,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
@ -5299,8 +5299,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 scope:local
omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 data:4byte scope:local
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

View file

@ -546,4 +546,112 @@ extract:
header: hiliteData4.inc
- symbol: Ascii8x8_1bpp
binary: Ascii8x8_1bpp.bin
header: Ascii8x8_1bpp.inc
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
- 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
- symbol: coveropen_fr
binary: coveropen_fr.bin
header: coveropen_fr.inc
- symbol: fatalerror_fr
binary: fatalerror_fr.bin
header: fatalerror_fr.inc
- symbol: loading_fr
binary: loading_fr.bin
header: loading_fr.inc
- symbol: nodisc_fr
binary: nodisc_fr.bin
header: nodisc_fr.inc
- symbol: retryerror_fr
binary: retryerror_fr.bin
header: retryerror_fr.inc
- symbol: wrongdisc_fr
binary: wrongdisc_fr.bin
header: wrongdisc_fr.inc
- symbol: coveropen_ge
binary: coveropen_ge.bin
header: coveropen_ge.inc
- symbol: fatalerror_ge
binary: fatalerror_ge.bin
header: fatalerror_ge.inc
- symbol: loading_ge
binary: loading_ge.bin
header: loading_ge.inc
- symbol: nodisc_ge
binary: nodisc_ge.bin
header: nodisc_ge.inc
- symbol: retryerror_ge
binary: retryerror_ge.bin
header: retryerror_ge.inc
- symbol: wrongdisc_ge
binary: wrongdisc_ge.bin
header: wrongdisc_ge.inc
- symbol: coveropen_it
binary: coveropen_it.bin
header: coveropen_it.inc
- symbol: fatalerror_it
binary: fatalerror_it.bin
header: fatalerror_it.inc
- symbol: loading_it
binary: loading_it.bin
header: loading_it.inc
- symbol: nodisc_it
binary: nodisc_it.bin
header: nodisc_it.inc
- symbol: retryerror_it
binary: retryerror_it.bin
header: retryerror_it.inc
- symbol: wrongdisc_it
binary: wrongdisc_it.bin
header: wrongdisc_it.inc
- symbol: coveropen_sp
binary: coveropen_sp.bin
header: coveropen_sp.inc
- symbol: fatalerror_sp
binary: fatalerror_sp.bin
header: fatalerror_sp.inc
- symbol: loading_sp
binary: loading_sp.bin
header: loading_sp.inc
- symbol: nodisc_sp
binary: nodisc_sp.bin
header: nodisc_sp.inc
- symbol: retryerror_sp
binary: retryerror_sp.bin
header: retryerror_sp.inc
- symbol: wrongdisc_sp
binary: wrongdisc_sp.bin
header: wrongdisc_sp.inc

View file

@ -245,3 +245,73 @@ game/window.c:
game/messdata.c:
.text start:0x80048110 end:0x800481F8
game/card.c:
.text start:0x800481F8 end:0x800487FC
.data start:0x80130550 end:0x801305A0
.sbss start:0x801F11B0 end:0x801F11B8
game/armem.c:
.text start:0x800487FC end:0x80049668
.data start:0x801305A0 end:0x80130690
.bss start:0x801B3B80 end:0x801B4260
.sbss start:0x801F11B8 end:0x801F11C8
game/chrman.c:
.text start:0x80049668 end:0x800509D4
.data start:0x80130690 end:0x801310B0
.bss start:0x801B4260 end:0x801B49F0
.sdata start:0x801F0998 end:0x801F09E0
.sbss start:0x801F11C8 end:0x801F11D0
.sdata2 start:0x801F2358 end:0x801F2490
game/mapspace.c:
.text start:0x800509D4 end:0x80054778
.bss start:0x801B49F0 end:0x801B4E60
.sbss start:0x801F11D0 end:0x801F11F0
.sdata2 start:0x801F2490 end:0x801F24C0
game/THPSimple.c:
.text start:0x80054778 end:0x8005687C
.data start:0x801310B0 end:0x801311B0
.bss start:0x801B4E60 end:0x801B5540
.sdata start:0x801F09E0 end:0x801F09E8
.sbss start:0x801F11F0 end:0x801F1210
.sdata2 start:0x801F24C0 end:0x801F24C8
game/THPDraw.c:
.text start:0x8005687C end:0x800571D4
.sdata2 start:0x801F24C8 end:0x801F24E0
game/thpmain.c:
.text start:0x800571D4 end:0x80057B9C
.rodata start:0x8011DB70 end:0x8011DB80
.data start:0x801311B0 end:0x80131218
.bss start:0x801B5540 end:0x801B5580
.sbss start:0x801F1210 end:0x801F1238
.sdata2 start:0x801F24E0 end:0x801F24F8
game/objsub.c:
.text start:0x80057B9C end:0x80057D88
.data start:0x80131218 end:0x80132018
.bss start:0x801B5580 end:0x801B57B0
.sbss start:0x801F1238 end:0x801F1260
game/flag.c:
.text start:0x80057D88 end:0x80057FA0
.bss start:0x801B57B0 end:0x801B57C0
game/saveload.c:
.text start:0x80057FA0 end:0x8005A40C
.data start:0x80132018 end:0x801320C0
.bss start:0x801B57C0 end:0x801B97E0
.sdata start:0x801F09E8 end:0x801F0A00
.sbss start:0x801F1260 end:0x801F1270
.sdata2 start:0x801F24F8 end:0x801F2508
game/sreset.c:
.text start:0x8005A40C end:0x8005AEF0
.data start:0x801320C0 end:0x80156B20
.bss start:0x801B97E0 end:0x801BAB80
.sdata start:0x801F0A00 end:0x801F0A18
.sbss start:0x801F1270 end:0x801F1288

View file

@ -809,149 +809,149 @@ HuWinExCleanup = .text:0x80047E08; // type:function size:0xA4
HuWinExAnimPopIn = .text:0x80047EAC; // type:function size:0x264
MessData_MesPtrGet = .text:0x80048110; // type:function size:0xE8
HuCardInit = .text:0x800481F8; // type:function size:0x34
fn_8004822C = .text:0x8004822C; // type:function size:0xC4
fn_800482F0 = .text:0x800482F0; // type:function size:0x58
fn_80048348 = .text:0x80048348; // type:function size:0xEC
fn_80048434 = .text:0x80048434; // type:function size:0x28
fn_8004845C = .text:0x8004845C; // type:function size:0x50
fn_800484AC = .text:0x800484AC; // type:function size:0x1C
fn_800484C8 = .text:0x800484C8; // type:function size:0x70
fn_80048538 = .text:0x80048538; // type:function size:0x68
fn_800485A0 = .text:0x800485A0; // type:function size:0x100
fn_800486A0 = .text:0x800486A0; // type:function size:0x38
fn_800486D8 = .text:0x800486D8; // type:function size:0x50
fn_80048728 = .text:0x80048728; // type:function size:0x40
fn_80048768 = .text:0x80048768; // type:function size:0x4C
fn_800487B4 = .text:0x800487B4; // type:function size:0x48
HuCardCheck = .text:0x8004822C; // type:function size:0xC4
HuCardSlotCheck = .text:0x800482F0; // type:function size:0x58
HuCardMount = .text:0x80048348; // type:function size:0xEC
HuCardUnMount = .text:0x80048434; // type:function size:0x28
HuCardFormat = .text:0x8004845C; // type:function size:0x50
MountCallBack = .text:0x800484AC; // type:function size:0x1C scope:local
HuCardOpen = .text:0x800484C8; // type:function size:0x70
HuCardRead = .text:0x80048538; // type:function size:0x68
HuCardCreate = .text:0x800485A0; // type:function size:0x100
HuCardClose = .text:0x800486A0; // type:function size:0x38
HuCardWrite = .text:0x800486D8; // type:function size:0x50
HuCardDelete = .text:0x80048728; // type:function size:0x40
HuCardSectorSizeGet = .text:0x80048768; // type:function size:0x4C
HuCardFreeSpaceGet = .text:0x800487B4; // type:function size:0x48
HuARInit = .text:0x800487FC; // type:function size:0x148
HuARMalloc = .text:0x80048944; // type:function size:0x16C
HuARFree = .text:0x80048AB0; // type:function size:0x16C
HuAMemDump = .text:0x80048C1C; // type:function size:0xA8
HuAR_DVDtoARAM = .text:0x80048CC4; // type:function size:0x160
fn_80048E24 = .text:0x80048E24; // type:function size:0x10
ArqCallBack = .text:0x80048E24; // type:function size:0x10 scope:local
HuAR_MRAMtoARAM = .text:0x80048E34; // type:function size:0x2C
HuAR_MRAMtoARAM2 = .text:0x80048E60; // type:function size:0x140
HuAR_ARAMtoMRAM = .text:0x80048FA0; // type:function size:0x2C
HuAR_ARAMtoMRAMNum = .text:0x80048FCC; // type:function size:0x1F0
fn_800491BC = .text:0x800491BC; // type:function size:0x44
ArqCallBackAM = .text:0x800491BC; // type:function size:0x44 scope:local
HuARDMACheck = .text:0x80049200; // type:function size:0x8
HuARDirCheck = .text:0x80049208; // type:function size:0x58
HuARDirFree = .text:0x80049260; // type:function size:0x68
HuAR_ARAMtoMRAMFileRead = .text:0x800492C8; // type:function size:0x390
fn_80049658 = .text:0x80049658; // type:function size:0x10
fn_80049668 = .text:0x80049668; // type:function size:0x134
fn_8004979C = .text:0x8004979C; // type:function size:0x1C
fn_800497B8 = .text:0x800497B8; // type:function size:0x98
fn_80049850 = .text:0x80049850; // type:function size:0x58
fn_800498A8 = .text:0x800498A8; // type:function size:0x428
fn_80049CD0 = .text:0x80049CD0; // type:function size:0x3C
fn_80049D0C = .text:0x80049D0C; // type:function size:0x180
fn_80049E8C = .text:0x80049E8C; // type:function size:0x20C
fn_8004A098 = .text:0x8004A098; // type:function size:0x173C
fn_8004B7D4 = .text:0x8004B7D4; // type:function size:0xB0
fn_8004B884 = .text:0x8004B884; // type:function size:0x254
fn_8004BAD8 = .text:0x8004BAD8; // type:function size:0xB0
fn_8004BB88 = .text:0x8004BB88; // type:function size:0xB0
fn_8004BC38 = .text:0x8004BC38; // type:function size:0xB0
fn_8004BCE8 = .text:0x8004BCE8; // type:function size:0xB0
fn_8004BD98 = .text:0x8004BD98; // type:function size:0xB0
fn_8004BE48 = .text:0x8004BE48; // type:function size:0xB0
fn_8004BEF8 = .text:0x8004BEF8; // type:function size:0x1CC
fn_8004C0C4 = .text:0x8004C0C4; // type:function size:0x4A0
fn_8004C564 = .text:0x8004C564; // type:function size:0x1E8
fn_8004C74C = .text:0x8004C74C; // type:function size:0x344
fn_8004CA90 = .text:0x8004CA90; // type:function size:0x1D0
fn_8004CC60 = .text:0x8004CC60; // type:function size:0x88
fn_8004CCE8 = .text:0x8004CCE8; // type:function size:0x9C
fn_8004CD84 = .text:0x8004CD84; // type:function size:0x2B8
fn_8004D03C = .text:0x8004D03C; // type:function size:0x430
ArqCallBackAMFileRead = .text:0x80049658; // type:function size:0x10 scope:local
CharManInit = .text:0x80049668; // type:function size:0x134
CharAMemPtrGet = .text:0x8004979C; // type:function size:0x1C
CharARAMOpen = .text:0x800497B8; // type:function size:0x98
CharARAMClose = .text:0x80049850; // type:function size:0x58
CharKill = .text:0x800498A8; // type:function size:0x428
CharKillAll = .text:0x80049CD0; // type:function size:0x3C
CharModelCreate = .text:0x80049D0C; // type:function size:0x180
UpdateChar = .text:0x80049E8C; // type:function size:0x20C scope:local
UpdateCharAnim = .text:0x8004A098; // type:function size:0x173C scope:local
PlayCharVoice = .text:0x8004B7D4; // type:function size:0xB0 scope:local
InitEffect = .text:0x8004B884; // type:function size:0x254 scope:local
CreateEffectDust = .text:0x8004BAD8; // type:function size:0xB0 scope:local
CreateEffectSmoke = .text:0x8004BB88; // type:function size:0xB0 scope:local
CreateEffectDot = .text:0x8004BC38; // type:function size:0xB0 scope:local
CreateEffectStar = .text:0x8004BCE8; // type:function size:0xB0 scope:local
CreateEffectWarn = .text:0x8004BD98; // type:function size:0xB0 scope:local
CreateEffectBird = .text:0x8004BE48; // type:function size:0xB0 scope:local
CreateEffect = .text:0x8004BEF8; // type:function size:0x1CC scope:local
UpdateEffect = .text:0x8004C0C4; // type:function size:0x4A0 scope:local
RotateEffect = .text:0x8004C564; // type:function size:0x1E8
PlayEffectSound = .text:0x8004C74C; // type:function size:0x344
CharModelMotionCreate = .text:0x8004CA90; // type:function size:0x1D0
CharModelMotionIndexSet = .text:0x8004CC60; // type:function size:0x88
CharModelMotionKill = .text:0x8004CCE8; // type:function size:0x9C
CharModelMotionDataClose = .text:0x8004CD84; // type:function size:0x2B8
CharModelDataClose = .text:0x8004D03C; // type:function size:0x430
CharModelKill = .text:0x8004D46C; // type:function size:0x244
fn_8004D6B0 = .text:0x8004D6B0; // type:function size:0x7C
fn_8004D72C = .text:0x8004D72C; // type:function size:0x17C
fn_8004D8A8 = .text:0x8004D8A8; // type:function size:0x7C
fn_8004D924 = .text:0x8004D924; // type:function size:0x7C
fn_8004D9A0 = .text:0x8004D9A0; // type:function size:0x4C
fn_8004D9EC = .text:0x8004D9EC; // type:function size:0x44
fn_8004DA30 = .text:0x8004DA30; // type:function size:0x44
fn_8004DA74 = .text:0x8004DA74; // type:function size:0x44
fn_8004DAB8 = .text:0x8004DAB8; // type:function size:0x44
fn_8004DAFC = .text:0x8004DAFC; // type:function size:0x84
fn_8004DB80 = .text:0x8004DB80; // type:function size:0x44
fn_8004DBC4 = .text:0x8004DBC4; // type:function size:0x4C
fn_8004DC10 = .text:0x8004DC10; // type:function size:0x80
fn_8004DC90 = .text:0x8004DC90; // type:function size:0x1D4
fn_8004DE64 = .text:0x8004DE64; // type:function size:0x484
fn_8004E2E8 = .text:0x8004E2E8; // type:function size:0x3FC
fn_8004E6E4 = .text:0x8004E6E4; // type:function size:0x168
fn_8004E84C = .text:0x8004E84C; // type:function size:0x1A0
fn_8004E9EC = .text:0x8004E9EC; // type:function size:0x130
fn_8004EB1C = .text:0x8004EB1C; // type:function size:0x2B4
fn_8004EDD0 = .text:0x8004EDD0; // type:function size:0xE4
fn_8004EEB4 = .text:0x8004EEB4; // type:function size:0x2B4
fn_8004F168 = .text:0x8004F168; // type:function size:0x80
fn_8004F1E8 = .text:0x8004F1E8; // type:function size:0xBC
fn_8004F2A4 = .text:0x8004F2A4; // type:function size:0x4C
fn_8004F2F0 = .text:0x8004F2F0; // type:function size:0xB0
fn_8004F3A0 = .text:0x8004F3A0; // type:function size:0x2CC
fn_8004F66C = .text:0x8004F66C; // type:function size:0x2CC
fn_8004F938 = .text:0x8004F938; // type:function size:0xF80
fn_800508B8 = .text:0x800508B8; // type:function size:0x30
fn_800508E8 = .text:0x800508E8; // type:function size:0xEC
fn_800509D4 = .text:0x800509D4; // type:function size:0x1B8
fn_80050B8C = .text:0x80050B8C; // type:function size:0x110
fn_80050C9C = .text:0x80050C9C; // type:function size:0x2A8
fn_80050F44 = .text:0x80050F44; // type:function size:0x38C
fn_800512D0 = .text:0x800512D0; // type:function size:0x470
fn_80051740 = .text:0x80051740; // type:function size:0x5D4
fn_80051D14 = .text:0x80051D14; // type:function size:0xF4
fn_80051E08 = .text:0x80051E08; // type:function size:0x388
fn_80052190 = .text:0x80052190; // type:function size:0x148
fn_800522D8 = .text:0x800522D8; // type:function size:0x518
fn_800527F0 = .text:0x800527F0; // type:function size:0x994
fn_80053184 = .text:0x80053184; // type:function size:0xC28
fn_80053DAC = .text:0x80053DAC; // type:function size:0x43C
fn_800541E8 = .text:0x800541E8; // type:function size:0x100
fn_800542E8 = .text:0x800542E8; // type:function size:0x19C
fn_80054484 = .text:0x80054484; // type:function size:0x4C
fn_800544D0 = .text:0x800544D0; // type:function size:0x184
fn_80054654 = .text:0x80054654; // type:function size:0x124
fn_80054778 = .text:0x80054778; // type:function size:0x124
fn_8005489C = .text:0x8005489C; // type:function size:0x54
fn_800548F0 = .text:0x800548F0; // type:function size:0x408
fn_80054CF8 = .text:0x80054CF8; // type:function size:0xC0
fn_80054DB8 = .text:0x80054DB8; // type:function size:0x184
fn_80054F3C = .text:0x80054F3C; // type:function size:0x240
fn_8005517C = .text:0x8005517C; // type:function size:0x2A4
fn_80055420 = .text:0x80055420; // type:function size:0x2A4
fn_800556C4 = .text:0x800556C4; // type:function size:0x14
fn_800556D8 = .text:0x800556D8; // type:function size:0x14
fn_800556EC = .text:0x800556EC; // type:function size:0x1B8
fn_800558A4 = .text:0x800558A4; // type:function size:0x47C
fn_80055D20 = .text:0x80055D20; // type:function size:0xD8
fn_80055DF8 = .text:0x80055DF8; // type:function size:0x104
fn_80055EFC = .text:0x80055EFC; // type:function size:0x5F8
fn_800564F4 = .text:0x800564F4; // type:function size:0x58
fn_8005654C = .text:0x8005654C; // type:function size:0x2C
fn_80056578 = .text:0x80056578; // type:function size:0x188
fn_80056700 = .text:0x80056700; // type:function size:0x17C
fn_8005687C = .text:0x8005687C; // type:function size:0x130
fn_800569AC = .text:0x800569AC; // type:function size:0x5A0
fn_80056F4C = .text:0x80056F4C; // type:function size:0x288
fn_800571D4 = .text:0x800571D4; // type:function size:0x108
fn_800572DC = .text:0x800572DC; // type:function size:0x110
fn_800573EC = .text:0x800573EC; // type:function size:0xF8
fn_800574E4 = .text:0x800574E4; // type:function size:0x100
fn_800575E4 = .text:0x800575E4; // type:function size:0xC
fn_800575F0 = .text:0x800575F0; // type:function size:0xC
fn_800575FC = .text:0x800575FC; // type:function size:0xC
fn_80057608 = .text:0x80057608; // type:function size:0x54
fn_8005765C = .text:0x8005765C; // type:function size:0x8
fn_80057664 = .text:0x80057664; // type:function size:0x20
fn_80057684 = .text:0x80057684; // type:function size:0x30
fn_800576B4 = .text:0x800576B4; // type:function size:0x27C
fn_80057930 = .text:0x80057930; // type:function size:0xA4
fn_800579D4 = .text:0x800579D4; // type:function size:0x17C
fn_80057B50 = .text:0x80057B50; // type:function size:0x4C
CharModelMotionSet = .text:0x8004D6B0; // type:function size:0x7C
CharModelTexAnimSet = .text:0x8004D72C; // type:function size:0x17C
CharModelTexNameGet = .text:0x8004D8A8; // type:function size:0x7C
CharModelHookNameGet = .text:0x8004D924; // type:function size:0x7C
CharModelMotionTimeSet = .text:0x8004D9A0; // type:function size:0x4C
CharModelMotionTimeGet = .text:0x8004D9EC; // type:function size:0x44
CharModelMotionMaxTimeGet = .text:0x8004DA30; // type:function size:0x44
CharModelMotionEndCheck = .text:0x8004DA74; // type:function size:0x44
CharModelMotionShiftIDGet = .text:0x8004DAB8; // type:function size:0x44
CharModelMotionShiftSet = .text:0x8004DAFC; // type:function size:0x84
CharModelMotionShiftTimeGet = .text:0x8004DB80; // type:function size:0x44
CharModelMotionSpeedSet = .text:0x8004DBC4; // type:function size:0x4C
CharModelLayerSetAll = .text:0x8004DC10; // type:function size:0x80
CharModelItemHookCreate = .text:0x8004DC90; // type:function size:0x1D4
UpdateItemHook = .text:0x8004DE64; // type:function size:0x484 scope:local
CharModelEffectCreate = .text:0x8004E2E8; // type:function size:0x3FC
OrbitEffect = .text:0x8004E6E4; // type:function size:0x168 scope:local
CharModelCoinEffectCreate = .text:0x8004E84C; // type:function size:0x1A0
fn_8004EC74 = .text:0x8004E9EC; // type:function size:0x130
fn_8004EDA4 = .text:0x8004EB1C; // type:function size:0x2B4
fn_8004F058 = .text:0x8004EDD0; // type:function size:0xE4
fn_8004F13C = .text:0x8004EEB4; // type:function size:0x2B4
CharModelLayerSetAll2 = .text:0x8004F168; // type:function size:0x80
CharModelVoiceEnableSet = .text:0x8004F1E8; // type:function size:0xBC
fn_8004F52C = .text:0x8004F2A4; // type:function size:0x4C
CharModelEffectEnableSet = .text:0x8004F2F0; // type:function size:0xB0
CharModelEffectNpcInit = .text:0x8004F3A0; // type:function size:0x2CC
CharModelEffectNpcInitSilent = .text:0x8004F66C; // type:function size:0x2CC
UpdateNpcEffect = .text:0x8004F938; // type:function size:0xF80 scope:local
CharModelStepTypeSet = .text:0x800508B8; // type:function size:0x30
PlayStepFX = .text:0x800508E8; // type:function size:0xEC scope:local
MapWall = .text:0x800509D4; // type:function size:0x1B8
MapWallCheck = .text:0x80050B8C; // type:function size:0x110
MapPos = .text:0x80050C9C; // type:function size:0x2A8
PolygonRangeCheck = .text:0x80050F44; // type:function size:0x38C scope:local
DefIfnnerMapCircle = .text:0x800512D0; // type:function size:0x470 scope:local
CalcPPLength = .text:0x80051740; // type:function size:0x5D4 scope:local
MapIflnnerCalc = .text:0x80051D14; // type:function size:0xF4 scope:local
MapCalcPoint = .text:0x80051E08; // type:function size:0x388 scope:local
AreaCheck = .text:0x80052190; // type:function size:0x148 scope:local
MapIflnnerTriangle = .text:0x800522D8; // type:function size:0x518 scope:local
MapIflnnerQuadrangle = .text:0x800527F0; // type:function size:0x994 scope:local
GetPolygonCircleMtx = .text:0x80053184; // type:function size:0xC28 scope:local
PrecalcPntToTriangle = .text:0x80053DAC; // type:function size:0x43C scope:local
Hitcheck_Triangle_with_Sphere = .text:0x800541E8; // type:function size:0x100
Hitcheck_Quadrangle_with_Sphere = .text:0x800542E8; // type:function size:0x19C
DefSetHitFace = .text:0x80054484; // type:function size:0x4C scope:local
AppendAddXZ = .text:0x800544D0; // type:function size:0x184
CharRotInv = .text:0x80054654; // type:function size:0x124
THPSimpleInit = .text:0x80054778; // type:function size:0x124
THPSimpleQuit = .text:0x8005489C; // type:function size:0x54
THPSimpleOpen = .text:0x800548F0; // type:function size:0x408
THPSimpleClose = .text:0x80054CF8; // type:function size:0xC0
THPSimpleCalcNeedMemory = .text:0x80054DB8; // type:function size:0x184
THPSimpleSetBuffer = .text:0x80054F3C; // type:function size:0x240
__THPSimpleDVDCallback = .text:0x8005517C; // type:function size:0x2A4 scope:local
THPSimplePreLoad = .text:0x80055420; // type:function size:0x2A4
THPSimpleAudioStart = .text:0x800556C4; // type:function size:0x14
THPSimpleAudioStop = .text:0x800556D8; // type:function size:0x14
THPSimpleLoadStop = .text:0x800556EC; // type:function size:0x1B8
THPSimpleDecode = .text:0x800558A4; // type:function size:0x47C
VideoDecode = .text:0x80055D20; // type:function size:0xD8 scope:local
THPSimpleDrawCurrentFrame = .text:0x80055DF8; // type:function size:0x104
MixAudio = .text:0x80055EFC; // type:function size:0x5F8 scope:local
THPSimpleGetVideoInfo = .text:0x800564F4; // type:function size:0x58
THPSimpleGetTotalFrame = .text:0x8005654C; // type:function size:0x2C
THPAudioMixCallback = .text:0x80056578; // type:function size:0x188 scope:local
THPSimpleSetVolume = .text:0x80056700; // type:function size:0x17C
THPGXRestore = .text:0x8005687C; // type:function size:0x130
THPGXYuv2RgbSetup = .text:0x800569AC; // type:function size:0x5A0
THPGXYuv2RgbDraw = .text:0x80056F4C; // type:function size:0x288
HuTHPSprCreateVol = .text:0x800571D4; // type:function size:0x108
HuTHPSprCreate = .text:0x800572DC; // type:function size:0x110
HuTHP3DCreateVol = .text:0x800573EC; // type:function size:0xF8
HuTHP3DCreate = .text:0x800574E4; // type:function size:0x100
HuTHPStop = .text:0x800575E4; // type:function size:0xC
HuTHPClose = .text:0x800575F0; // type:function size:0xC
HuTHPRestart = .text:0x800575FC; // type:function size:0xC
HuTHPEndCheck = .text:0x80057608; // type:function size:0x54
HuTHPFrameGet = .text:0x8005765C; // type:function size:0x8
HuTHPTotalFrameGet = .text:0x80057664; // type:function size:0x20
HuTHPSetVolume = .text:0x80057684; // type:function size:0x30
THPTestProc = .text:0x800576B4; // type:function size:0x27C scope:local
THPViewFunc = .text:0x80057930; // type:function size:0xA4 scope:local
THPViewSprFunc = .text:0x800579D4; // type:function size:0x17C scope:local
THPDecodeFunc = .text:0x80057B50; // type:function size:0x4C scope:local
omMgIndexGet = .text:0x80057B9C; // type:function size:0x5C
omGameSysInit = .text:0x80057BF8; // type:function size:0xF4
omVibrate = .text:0x80057CEC; // type:function size:0x9C
@ -959,46 +959,46 @@ _CheckFlag = .text:0x80057D88; // type:function size:0xA0
_SetFlag = .text:0x80057E28; // type:function size:0xA4
_ClearFlag = .text:0x80057ECC; // type:function size:0xA4
_InitFlag = .text:0x80057F70; // type:function size:0x30
fn_80057FA0 = .text:0x80057FA0; // type:function size:0x140
fn_800580E0 = .text:0x800580E0; // type:function size:0x280
fn_80058360 = .text:0x80058360; // type:function size:0x10C
fn_8005846C = .text:0x8005846C; // type:function size:0x84
fn_800584F0 = .text:0x800584F0; // type:function size:0x4C
fn_8005853C = .text:0x8005853C; // type:function size:0x8
fn_80058544 = .text:0x80058544; // type:function size:0xC
fn_80058550 = .text:0x80058550; // type:function size:0x40
fn_80058590 = .text:0x80058590; // type:function size:0x8
fn_80058598 = .text:0x80058598; // type:function size:0x154
fn_800586EC = .text:0x800586EC; // type:function size:0x218
fn_80058904 = .text:0x80058904; // type:function size:0x254
fn_80058B58 = .text:0x80058B58; // type:function size:0x8C
fn_80058BE4 = .text:0x80058BE4; // type:function size:0x8C
fn_80058C70 = .text:0x80058C70; // type:function size:0x370
fn_80058FE0 = .text:0x80058FE0; // type:function size:0xDC
fn_800590BC = .text:0x800590BC; // type:function size:0x48
fn_80059104 = .text:0x80059104; // type:function size:0x110
fn_80059214 = .text:0x80059214; // type:function size:0x38
fn_8005924C = .text:0x8005924C; // type:function size:0x1A0
fn_800593EC = .text:0x800593EC; // type:function size:0x184
fn_80059570 = .text:0x80059570; // type:function size:0x28
fn_80059598 = .text:0x80059598; // type:function size:0xA0
fn_80059638 = .text:0x80059638; // type:function size:0x60
fn_80059698 = .text:0x80059698; // type:function size:0x54
fn_800596EC = .text:0x800596EC; // type:function size:0x90
fn_8005977C = .text:0x8005977C; // type:function size:0x1D4
fn_80059950 = .text:0x80059950; // type:function size:0x12C
fn_80059A7C = .text:0x80059A7C; // type:function size:0x594
fn_8005A010 = .text:0x8005A010; // type:function size:0x3FC
SLFileOpen = .text:0x80057FA0; // type:function size:0x140
SLFileCreate = .text:0x800580E0; // type:function size:0x280
SLFileWrite = .text:0x80058360; // type:function size:0x10C
SLFileRead = .text:0x8005846C; // type:function size:0x84
SLFileClose = .text:0x800584F0; // type:function size:0x4C
SLCurSlotNoSet = .text:0x8005853C; // type:function size:0x8
SLCurBoxNoSet = .text:0x80058544; // type:function size:0xC
SLSaveFlagSet = .text:0x80058550; // type:function size:0x40
SLSaveFlagGet = .text:0x80058590; // type:function size:0x8
SLSaveDataMake = .text:0x80058598; // type:function size:0x154
SLSaveDataInfoSet = .text:0x800586EC; // type:function size:0x218
SLCommonSet = .text:0x80058904; // type:function size:0x254
SLSaveBoard = .text:0x80058B58; // type:function size:0x8C
SLSaveBoardStory = .text:0x80058BE4; // type:function size:0x8C
SLSave = .text:0x80058C70; // type:function size:0x370
SLCreateSaveWin = .text:0x80058FE0; // type:function size:0xDC scope:local
SLKillSaveWin = .text:0x800590BC; // type:function size:0x48 scope:local
SLLoad = .text:0x80059104; // type:function size:0x110
SLLoadGameStat = .text:0x80059214; // type:function size:0x38
SLLoadBoard = .text:0x8005924C; // type:function size:0x1A0
SLLoadBoardStory = .text:0x800593EC; // type:function size:0x184
SLSerialNoGet = .text:0x80059570; // type:function size:0x28
SLSerialNoCheck = .text:0x80059598; // type:function size:0xA0
SLCheckSumCheck = .text:0x80059638; // type:function size:0x60
SLCheckSumGet = .text:0x80059698; // type:function size:0x54
SLCheckSumSet = .text:0x800596EC; // type:function size:0x90
SLStatSet = .text:0x8005977C; // type:function size:0x1D4
SLCardMount = .text:0x80059950; // type:function size:0x12C
SLFormat = .text:0x80059A7C; // type:function size:0x594
SLMessOut = .text:0x8005A010; // type:function size:0x3FC
HuSoftResetButtonCheck = .text:0x8005A40C; // type:function size:0x50
HuDvdErrDispIntFunc = .text:0x8005A45C; // type:function size:0x28
HuDvdErrDispInit = .text:0x8005A484; // type:function size:0x208
fn_8005A68C = .text:0x8005A68C; // type:function size:0xD8
fn_8005A764 = .text:0x8005A764; // type:function size:0x128
fn_8005A88C = .text:0x8005A88C; // type:function size:0x348
fn_8005ABD4 = .text:0x8005ABD4; // type:function size:0xDC
fn_8005ACB0 = .text:0x8005ACB0; // type:function size:0xFC
fn_8005ADAC = .text:0x8005ADAC; // type:function size:0xCC
fn_8005AE78 = .text:0x8005AE78; // type:function size:0x78
ToeThreadFunc = .text:0x8005A68C; // type:function size:0xD8 scope:local
ToeDispCheck = .text:0x8005A764; // type:function size:0x128 scope:local
_HuDvdErrDispXFB = .text:0x8005A88C; // type:function size:0x348 scope:local
HuRestartSystem = .text:0x8005ABD4; // type:function size:0xDC
HuSoftResetCheck = .text:0x8005ACB0; // type:function size:0xFC scope:local
HuSoftResetCountCheck = .text:0x8005ADAC; // type:function size:0xCC scope:local
HuSoftResetPostProc = .text:0x8005AE78; // type:function size:0x78 scope:local
fn_8005AEF0 = .text:0x8005AEF0; // type:function size:0x2E0
fn_8005B1D0 = .text:0x8005B1D0; // type:function size:0x64
fn_8005B234 = .text:0x8005B234; // type:function size:0x9C
@ -2080,11 +2080,11 @@ ICInvalidateRange = .text:0x800B60AC; // type:function size:0x38 scope:global
ICFlashInvalidate = .text:0x800B60E4; // type:function size:0x10 scope:global
ICEnable = .text:0x800B60F4; // type:function size:0x14 scope:global
fn_800B6108 = .text:0x800B6108; // type:function size:0xCC
fn_800B61D4 = .text:0x800B61D4; // type:function size:0x38
LCEnable = .text:0x800B61D4; // type:function size:0x38
LCDisable = .text:0x800B620C; // type:function size:0x28 scope:global
fn_800B6234 = .text:0x800B6234; // type:function size:0x24
fn_800B6258 = .text:0x800B6258; // type:function size:0xAC
fn_800B6304 = .text:0x800B6304; // type:function size:0x18
LCStoreBlocks = .text:0x800B6234; // type:function size:0x24
LCStoreData = .text:0x800B6258; // type:function size:0xAC
LCQueueWait = .text:0x800B6304; // type:function size:0x18
L2GlobalInvalidate = .text:0x800B631C; // type:function size:0x98 scope:global
DMAErrorHandler = .text:0x800B63B4; // type:function size:0x160 scope:global
__OSCacheInit = .text:0x800B6514; // type:function size:0xF4 scope:global
@ -2137,11 +2137,11 @@ fn_800B8554 = .text:0x800B8554; // type:function size:0xC
__OSReboot = .text:0x800B8560; // type:function size:0x1C0 scope:global
OSRegisterResetFunction = .text:0x800B8720; // type:function size:0x84 scope:global
Reset = .text:0x800B87A4; // type:function size:0x70 scope:local
fn_800B8814 = .text:0x800B8814; // type:function size:0x48
__OSDoHotReset = .text:0x800B8814; // type:function size:0x48
OSResetSystem = .text:0x800B885C; // type:function size:0x278 scope:global
OSGetResetCode = .text:0x800B8AD4; // type:function size:0x30 scope:global
__OSResetSWInterruptHandler = .text:0x800B8B04; // type:function size:0xF4 scope:global
fn_800B8BF8 = .text:0x800B8BF8; // type:function size:0x298
OSGetResetButtonState = .text:0x800B8BF8; // type:function size:0x298
fn_800B8E90 = .text:0x800B8E90; // type:function size:0x60
fn_800B8EF0 = .text:0x800B8EF0; // type:function size:0x118
__OSInitSram = .text:0x800B9008; // type:function size:0x134 scope:global
@ -2170,28 +2170,28 @@ __OSSystemCallVectorEnd = .text:0x800B9CB4; // type:label scope:global
__OSInitSystemCall = .text:0x800B9CB8; // type:function size:0x64 scope:global
__OSThreadInit = .text:0x800B9D1C; // type:function size:0x128 scope:global
OSInitThreadQueue = .text:0x800B9E44; // type:function size:0x10 scope:global
fn_800B9E54 = .text:0x800B9E54; // type:function size:0xC
OSGetCurrentThread = .text:0x800B9E54; // type:function size:0xC
OSDisableScheduler = .text:0x800B9E60; // type:function size:0x40 scope:global
OSEnableScheduler = .text:0x800B9EA0; // type:function size:0x40 scope:global
fn_800B9EE0 = .text:0x800B9EE0; // type:function size:0x68
fn_800B9F48 = .text:0x800B9F48; // type:function size:0x3C
__OSGetEffectivePriority = .text:0x800B9F48; // type:function size:0x3C
fn_800B9F84 = .text:0x800B9F84; // type:function size:0x1C0
SelectThread = .text:0x800BA144; // type:function size:0x200 scope:local
__OSReschedule = .text:0x800BA344; // type:function size:0x30 scope:global
fn_800BA374 = .text:0x800BA374; // type:function size:0x3C
fn_800BA3B0 = .text:0x800BA3B0; // type:function size:0x120
fn_800BA4D0 = .text:0x800BA4D0; // type:function size:0xE4
OSYieldThread = .text:0x800BA374; // type:function size:0x3C
OSCreateThread = .text:0x800BA3B0; // type:function size:0x120
OSExitThread = .text:0x800BA4D0; // type:function size:0xE4
OSCancelThread = .text:0x800BA5B4; // type:function size:0x1BC scope:global
fn_800BA770 = .text:0x800BA770; // type:function size:0x288
fn_800BA9F8 = .text:0x800BA9F8; // type:function size:0x170
fn_800BAB68 = .text:0x800BAB68; // type:function size:0xEC
fn_800BAC54 = .text:0x800BAC54; // type:function size:0x104
fn_800BAD58 = .text:0x800BAD58; // type:function size:0x90
OSResumeThread = .text:0x800BA770; // type:function size:0x288
OSSuspendThread = .text:0x800BA9F8; // type:function size:0x170
OSSleepThread = .text:0x800BAB68; // type:function size:0xEC
OSWakeupThread = .text:0x800BAC54; // type:function size:0x104
OSSetIdleFunction = .text:0x800BAD58; // type:function size:0x90
OSGetTime = .text:0x800BADE8; // type:function size:0x18 scope:global
OSGetTick = .text:0x800BAE00; // type:function size:0x8 scope:global
__OSGetSystemTime = .text:0x800BAE08; // type:function size:0x64 scope:global
fn_800BAE6C = .text:0x800BAE6C; // type:function size:0x19C
fn_800BB008 = .text:0x800BB008; // type:function size:0x204
OSTicksToCalendarTime = .text:0x800BB008; // type:function size:0x204
__init_user = .text:0x800BB20C; // type:function size:0x20 scope:global
__init_cpp = .text:0x800BB22C; // type:function size:0x54 scope:local
_ExitProcess = .text:0x800BB280; // type:function size:0x20 scope:global
@ -2306,18 +2306,18 @@ DVDInquiryAsync = .text:0x800BFDC4; // type:function size:0xD0 scope:global
DVDReset = .text:0x800BFE94; // type:function size:0x44 scope:global
DVDGetCommandBlockStatus = .text:0x800BFED8; // type:function size:0x4C
DVDGetDriveStatus = .text:0x800BFF24; // type:function size:0xAC scope:global
fn_800BFFD0 = .text:0x800BFFD0; // type:function size:0x10
fn_800BFFE0 = .text:0x800BFFE0; // type:function size:0x270
fn_800C0250 = .text:0x800C0250; // type:function size:0xAC
DVDSetAutoInvalidation = .text:0x800BFFD0; // type:function size:0x10
DVDCancelAsync = .text:0x800BFFE0; // type:function size:0x270
DVDCancel = .text:0x800C0250; // type:function size:0xAC
fn_800C02FC = .text:0x800C02FC; // type:function size:0x24
fn_800C0320 = .text:0x800C0320; // type:function size:0x8
fn_800C0328 = .text:0x800C0328; // type:function size:0xE4
fn_800C040C = .text:0x800C040C; // type:function size:0x11C
DVDGetCurrentDiskID = .text:0x800C0320; // type:function size:0x8
DVDCheckDisk = .text:0x800C0328; // type:function size:0xE4
__DVDPrepareResetAsync = .text:0x800C040C; // type:function size:0x11C
__DVDClearWaitingQueue = .text:0x800C0528; // type:function size:0x38 scope:global
__DVDPushWaitingQueue = .text:0x800C0560; // type:function size:0x68 scope:global
__DVDPopWaitingQueue = .text:0x800C05C8; // type:function size:0xA0 scope:global
__DVDCheckWaitingQueue = .text:0x800C0668; // type:function size:0x58 scope:global
fn_800C06C0 = .text:0x800C06C0; // type:function size:0x60
__DVDDequeueWaitingQueue = .text:0x800C06C0; // type:function size:0x60
ErrorCode2Num = .text:0x800C0720; // type:function size:0x11C scope:local
__DVDStoreErrorCode = .text:0x800C083C; // type:function size:0x7C scope:global
cb = .text:0x800C08B8; // type:function size:0xD8 scope:local
@ -2357,7 +2357,7 @@ fn_800C3E34 = .text:0x800C3E34; // type:function size:0xD8
fn_800C3F0C = .text:0x800C3F0C; // type:function size:0x32C
fn_800C4238 = .text:0x800C4238; // type:function size:0x134
PADReset = .text:0x800C436C; // type:function size:0x100
fn_800C446C = .text:0x800C446C; // type:function size:0x104
PADRecalibrate = .text:0x800C446C; // type:function size:0x104
PADInit = .text:0x800C4570; // type:function size:0x210
PADRead = .text:0x800C4780; // type:function size:0x3AC
PADControlMotor = .text:0x800C4B2C; // type:function size:0xA4
@ -2367,7 +2367,7 @@ fn_800C4DA4 = .text:0x800C4DA4; // type:function size:0x174
fn_800C4F18 = .text:0x800C4F18; // type:function size:0x3F8
fn_800C5310 = .text:0x800C5310; // type:function size:0x194
fn_800C54A4 = .text:0x800C54A4; // type:function size:0x60
fn_800C5504 = .text:0x800C5504; // type:function size:0x54
PADSetSamplingCallback = .text:0x800C5504; // type:function size:0x54
__PADDisableRecalibration = .text:0x800C5558; // type:function size:0x7C scope:global
AIRegisterDMACallback = .text:0x800C55D4; // type:function size:0x44
AIInitDMA = .text:0x800C5618; // type:function size:0x88
@ -2394,18 +2394,18 @@ fn_800C5EF4 = .text:0x800C5EF4; // type:function size:0x3C
fn_800C5F30 = .text:0x800C5F30; // type:function size:0xF0
fn_800C6020 = .text:0x800C6020; // type:function size:0x68
fn_800C6088 = .text:0x800C6088; // type:function size:0x74
fn_800C60FC = .text:0x800C60FC; // type:function size:0x8
fn_800C6104 = .text:0x800C6104; // type:function size:0xBC
ARCheckInit = .text:0x800C60FC; // type:function size:0x8
ARInit = .text:0x800C6104; // type:function size:0xBC
fn_800C61C0 = .text:0x800C61C0; // type:function size:0x4
fn_800C61C4 = .text:0x800C61C4; // type:function size:0x8
fn_800C61CC = .text:0x800C61CC; // type:function size:0x8
ARGetSize = .text:0x800C61CC; // type:function size:0x8
fn_800C61D4 = .text:0x800C61D4; // type:function size:0x78
fn_800C624C = .text:0x800C624C; // type:function size:0x914
fn_800C6B60 = .text:0x800C6B60; // type:function size:0x100
fn_800C6C60 = .text:0x800C6C60; // type:function size:0x4
fn_800C6C64 = .text:0x800C6C64; // type:function size:0xCC
fn_800C6D30 = .text:0x800C6D30; // type:function size:0x68
fn_800C6D98 = .text:0x800C6D98; // type:function size:0x15C
ARQInit = .text:0x800C6D30; // type:function size:0x68
ARQPostRequest = .text:0x800C6D98; // type:function size:0x15C
fn_800C6EF4 = .text:0x800C6EF4; // type:function size:0x10
fn_800C6F04 = .text:0x800C6F04; // type:function size:0x10
fn_800C6F14 = .text:0x800C6F14; // type:function size:0x18
@ -2613,82 +2613,82 @@ fn_800D0CD8 = .text:0x800D0CD8; // type:function size:0xAC
fn_800D0D84 = .text:0x800D0D84; // type:function size:0xA4
fn_800D0E28 = .text:0x800D0E28; // type:function size:0x22C
fn_800D1054 = .text:0x800D1054; // type:function size:0x110
fn_800D1164 = .text:0x800D1164; // type:function size:0x1B4
fn_800D1318 = .text:0x800D1318; // type:function size:0x134
fn_800D144C = .text:0x800D144C; // type:function size:0x11C
fn_800D1568 = .text:0x800D1568; // type:function size:0xE0
fn_800D1648 = .text:0x800D1648; // type:function size:0x9C
fn_800D16E4 = .text:0x800D16E4; // type:function size:0x38
fn_800D171C = .text:0x800D171C; // type:function size:0xB8
fn_800D17D4 = .text:0x800D17D4; // type:function size:0x64
fn_800D1838 = .text:0x800D1838; // type:function size:0x150
fn_800D1988 = .text:0x800D1988; // type:function size:0x84
fn_800D1A0C = .text:0x800D1A0C; // type:function size:0x98
__CARDStart = .text:0x800D1164; // type:function size:0x1B4
__CARDReadSegment = .text:0x800D1318; // type:function size:0x134
__CARDWritePage = .text:0x800D144C; // type:function size:0x11C
__CARDEraseSector = .text:0x800D1568; // type:function size:0xE0
CARDInit = .text:0x800D1648; // type:function size:0x9C
__CARDSetDiskID = .text:0x800D16E4; // type:function size:0x38
__CARDGetControlBlock = .text:0x800D171C; // type:function size:0xB8
__CARDPutControlBlock = .text:0x800D17D4; // type:function size:0x64
CARDFreeBlocks = .text:0x800D1838; // type:function size:0x150
CARDGetSectorSize = .text:0x800D1988; // type:function size:0x84
__CARDSync = .text:0x800D1A0C; // type:function size:0x98
fn_800D1AA4 = .text:0x800D1AA4; // type:function size:0x50
fn_800D1AF4 = .text:0x800D1AF4; // type:function size:0x16C
fn_800D1C60 = .text:0x800D1C60; // type:function size:0x144
fn_800D1DA4 = .text:0x800D1DA4; // type:function size:0xC4
fn_800D1E68 = .text:0x800D1E68; // type:function size:0xB58
__CARDUnlock = .text:0x800D1E68; // type:function size:0xB58
fn_800D29C0 = .text:0x800D29C0; // type:function size:0x70
fn_800D2A30 = .text:0x800D2A30; // type:function size:0x324
fn_800D2D54 = .text:0x800D2D54; // type:function size:0xDC
fn_800D2E30 = .text:0x800D2E30; // type:function size:0x64
__CARDRead = .text:0x800D2E30; // type:function size:0x64
fn_800D2E94 = .text:0x800D2E94; // type:function size:0xDC
fn_800D2F70 = .text:0x800D2F70; // type:function size:0x64
fn_800D2FD4 = .text:0x800D2FD4; // type:function size:0x8
__CARDWrite = .text:0x800D2F70; // type:function size:0x64
__CARDGetFatBlock = .text:0x800D2FD4; // type:function size:0x8
fn_800D2FDC = .text:0x800D2FDC; // type:function size:0xD4
fn_800D30B0 = .text:0x800D30B0; // type:function size:0xC8
fn_800D3178 = .text:0x800D3178; // type:function size:0x118
fn_800D3290 = .text:0x800D3290; // type:function size:0x9C
fn_800D332C = .text:0x800D332C; // type:function size:0xAC
fn_800D33D8 = .text:0x800D33D8; // type:function size:0x8
__CARDAllocBlock = .text:0x800D3178; // type:function size:0x118
__CARDFreeBlock = .text:0x800D3290; // type:function size:0x9C
__CARDUpdateFatBlock = .text:0x800D332C; // type:function size:0xAC
__CARDGetDirBlock = .text:0x800D33D8; // type:function size:0x8
fn_800D33E0 = .text:0x800D33E0; // type:function size:0xD0
fn_800D34B0 = .text:0x800D34B0; // type:function size:0xC8
fn_800D3578 = .text:0x800D3578; // type:function size:0xC4
fn_800D363C = .text:0x800D363C; // type:function size:0x1B0
__CARDUpdateDir = .text:0x800D3578; // type:function size:0xC4
__CARDCheckSum = .text:0x800D363C; // type:function size:0x1B0
fn_800D37EC = .text:0x800D37EC; // type:function size:0x284
fn_800D3A70 = .text:0x800D3A70; // type:function size:0x240
fn_800D3CB0 = .text:0x800D3CB0; // type:function size:0x284
fn_800D3F34 = .text:0x800D3F34; // type:function size:0x8C
fn_800D3FC0 = .text:0x800D3FC0; // type:function size:0x590
fn_800D4550 = .text:0x800D4550; // type:function size:0x54
__CARDVerify = .text:0x800D3F34; // type:function size:0x8C
CARDCheckExAsync = .text:0x800D3FC0; // type:function size:0x590
CARDCheck = .text:0x800D4550; // type:function size:0x54
fn_800D45A4 = .text:0x800D45A4; // type:function size:0xCC
fn_800D4670 = .text:0x800D4670; // type:function size:0x17C
CARDProbeEx = .text:0x800D4670; // type:function size:0x17C
fn_800D47EC = .text:0x800D47EC; // type:function size:0x410
fn_800D4BFC = .text:0x800D4BFC; // type:function size:0x138
fn_800D4D34 = .text:0x800D4D34; // type:function size:0x1A0
fn_800D4ED4 = .text:0x800D4ED4; // type:function size:0x48
__CARDMountCallback = .text:0x800D4BFC; // type:function size:0x138
CARDMountAsync = .text:0x800D4D34; // type:function size:0x1A0
CARDMount = .text:0x800D4ED4; // type:function size:0x48
fn_800D4F1C = .text:0x800D4F1C; // type:function size:0x9C
fn_800D4FB8 = .text:0x800D4FB8; // type:function size:0xAC
CARDUnmount = .text:0x800D4FB8; // type:function size:0xAC
fn_800D5064 = .text:0x800D5064; // type:function size:0x144
fn_800D51A8 = .text:0x800D51A8; // type:function size:0x658
fn_800D5800 = .text:0x800D5800; // type:function size:0x54
fn_800D5854 = .text:0x800D5854; // type:function size:0x68
fn_800D58BC = .text:0x800D58BC; // type:function size:0x98
fn_800D5954 = .text:0x800D5954; // type:function size:0x30
fn_800D5984 = .text:0x800D5984; // type:function size:0x150
fn_800D5AD4 = .text:0x800D5AD4; // type:function size:0x178
fn_800D5C4C = .text:0x800D5C4C; // type:function size:0x54
fn_800D5CA0 = .text:0x800D5CA0; // type:function size:0x8
__CARDFormatRegionAsync = .text:0x800D51A8; // type:function size:0x658
CARDFormat = .text:0x800D5800; // type:function size:0x54
__CARDCompareFileName = .text:0x800D5854; // type:function size:0x68
__CARDAccess = .text:0x800D58BC; // type:function size:0x98
__CARDIsPublic = .text:0x800D5954; // type:function size:0x30
__CARDGetFileNo = .text:0x800D5984; // type:function size:0x150
CARDOpen = .text:0x800D5AD4; // type:function size:0x178
CARDClose = .text:0x800D5C4C; // type:function size:0x54
__CARDIsOpened = .text:0x800D5CA0; // type:function size:0x8
fn_800D5CA8 = .text:0x800D5CA8; // type:function size:0x130
fn_800D5DD8 = .text:0x800D5DD8; // type:function size:0x220
fn_800D5FF8 = .text:0x800D5FF8; // type:function size:0x48
fn_800D6040 = .text:0x800D6040; // type:function size:0x1B8
CARDCreateAsync = .text:0x800D5DD8; // type:function size:0x220
CARDCreate = .text:0x800D5FF8; // type:function size:0x48
__CARDSeek = .text:0x800D6040; // type:function size:0x1B8
fn_800D61F8 = .text:0x800D61F8; // type:function size:0x130
fn_800D6328 = .text:0x800D6328; // type:function size:0x148
fn_800D6470 = .text:0x800D6470; // type:function size:0x48
CARDReadAsync = .text:0x800D6328; // type:function size:0x148
CARDRead = .text:0x800D6470; // type:function size:0x48
fn_800D64B8 = .text:0x800D64B8; // type:function size:0x170
fn_800D6628 = .text:0x800D6628; // type:function size:0xB0
fn_800D66D8 = .text:0x800D66D8; // type:function size:0x114
fn_800D67EC = .text:0x800D67EC; // type:function size:0x48
CARDWriteAsync = .text:0x800D66D8; // type:function size:0x114
CARDWrite = .text:0x800D67EC; // type:function size:0x48
fn_800D6834 = .text:0x800D6834; // type:function size:0xA4
fn_800D68D8 = .text:0x800D68D8; // type:function size:0x110
fn_800D69E8 = .text:0x800D69E8; // type:function size:0x48
CARDDeleteAsync = .text:0x800D68D8; // type:function size:0x110
CARDDelete = .text:0x800D69E8; // type:function size:0x48
fn_800D6A30 = .text:0x800D6A30; // type:function size:0x1F8
fn_800D6C28 = .text:0x800D6C28; // type:function size:0x12C
fn_800D6D54 = .text:0x800D6D54; // type:function size:0x174
fn_800D6EC8 = .text:0x800D6EC8; // type:function size:0x48
fn_800D6F10 = .text:0x800D6F10; // type:function size:0xC4
CARDGetStatus = .text:0x800D6C28; // type:function size:0x12C
CARDSetStatusAsync = .text:0x800D6D54; // type:function size:0x174
CARDSetStatus = .text:0x800D6EC8; // type:function size:0x48
CARDGetSerialNo = .text:0x800D6F10; // type:function size:0xC4
fn_800D6FD4 = .text:0x800D6FD4; // type:function size:0xF4
EXIImm = .text:0x800D70C8; // type:function size:0x25C scope:global
fn_800D7324 = .text:0x800D7324; // type:function size:0xA0
@ -2737,8 +2737,8 @@ GetTypeCallback = .text:0x800D9C60; // type:function size:0x298 scope:local
SIGetType = .text:0x800D9EF8; // type:function size:0x1C4 scope:global
fn_800DA0BC = .text:0x800DA0BC; // type:function size:0x13C
SISetSamplingRate = .text:0x800DA1F8; // type:function size:0xE4 scope:global
fn_800DA2DC = .text:0x800DA2DC; // type:function size:0x24
fn_800DA300 = .text:0x800DA300; // type:function size:0x244
SIRefreshSamplingRate = .text:0x800DA2DC; // type:function size:0x24
THPVideoDecode = .text:0x800DA300; // type:function size:0x244
fn_800DA544 = .text:0x800DA544; // type:function size:0x44
fn_800DA588 = .text:0x800DA588; // type:function size:0x13C
fn_800DA6C4 = .text:0x800DA6C4; // type:function size:0x11C
@ -2756,8 +2756,8 @@ fn_800DE950 = .text:0x800DE950; // type:function size:0x1AAC
fn_800E03FC = .text:0x800E03FC; // type:function size:0x67C
fn_800E0A78 = .text:0x800E0A78; // type:function size:0x6A8
fn_800E1120 = .text:0x800E1120; // type:function size:0x6A8
fn_800E17C8 = .text:0x800E17C8; // type:function size:0x78
fn_800E1840 = .text:0x800E1840; // type:function size:0x464
THPInit = .text:0x800E17C8; // type:function size:0x78
THPAudioDecode = .text:0x800E1840; // type:function size:0x464
fn_800E1CA4 = .text:0x800E1CA4; // type:function size:0x90
fn_800E1D34 = .text:0x800E1D34; // type:function size:0x3C
__va_arg = .text:0x800E1D70; // type:function size:0xC8 scope:global
@ -3495,8 +3495,8 @@ EXI2_Reserve = .text:0x8011527C; // type:function size:0x4 scope:global
EXI2_Unreserve = .text:0x80115280; // type:function size:0x4 scope:global
AMC_IsStub = .text:0x80115284; // type:function size:0x8 scope:global
Hu_IsStub = .text:0x8011528C; // type:function size:0x8 scope:weak
fn_80115294 = .text:0x80115294; // type:function size:0x10
fn_801152A4 = .text:0x801152A4; // type:function size:0x34
HuSetVecF = .text:0x80115294; // type:function size:0x10
HuSubVecF = .text:0x801152A4; // type:function size:0x34
fn_801152D8 = .text:0x801152D8; // type:function size:0x6C
fn_80115344 = .text:0x80115344; // type:function size:0x27C
fn_801155C0 = .text:0x801155C0; // type:function size:0x15C
@ -5082,11 +5082,18 @@ lbl_801305A0 = .data:0x801305A0; // type:object size:0x19 data:string
lbl_801305B9 = .data:0x801305B9; // type:object size:0x14 data:string
lbl_801305CD = .data:0x801305CD; // type:object size:0x93
lbl_80130660 = .data:0x80130660; // type:object size:0x30
lbl_80130690 = .data:0x80130690; // type:object size:0x60
lbl_801306F0 = .data:0x801306F0; // type:object size:0x60
lbl_80130750 = .data:0x80130750; // type:object size:0x168
effectDataTbl = .data:0x80130690; // type:object size:0x60 scope:local
charDirTbl = .data:0x801306F0; // type:object size:0x60 scope:local
effectDustParam = .data:0x80130750; // type:object size:0x38 scope:local
effectDotParam = .data:0x80130788; // type:object size:0x38 scope:local
effectStarParam = .data:0x801307C0; // type:object size:0x38 scope:local
effectWarnParam = .data:0x801307F8; // type:object size:0x38 scope:local
effectSmokeParam = .data:0x80130830; // type:object size:0x38 scope:local
lbl_801309A0 = .data:0x80130868; // type:object size:0x20 scope:local
lbl_801309C0 = .data:0x80130888; // type:object size:0x20 scope:local
lbl_801309E0 = .data:0x801308A8; // type:object size:0x10 scope:local
jumptable_801308B8 = .data:0x801308B8; // type:object size:0x1E8 scope:local
lbl_80130AA0 = .data:0x80130AA0; // type:object size:0x40
voiceParam = .data:0x80130AA0; // type:object size:0x40 scope:local
lbl_80130AE0 = .data:0x80130AE0; // type:object size:0xE data:string
lbl_80130AEE = .data:0x80130AEE; // type:object size:0xE data:string
lbl_80130AFC = .data:0x80130AFC; // type:object size:0xE data:string
@ -5115,66 +5122,66 @@ lbl_80130C48 = .data:0x80130C48; // type:object size:0x18 data:string
lbl_80130C60 = .data:0x80130C60; // type:object size:0xE data:string
lbl_80130C6E = .data:0x80130C6E; // type:object size:0x18 data:string
lbl_80130C86 = .data:0x80130C86; // type:object size:0x1A
lbl_80130CA0 = .data:0x80130CA0; // type:object size:0x100
charTexNameTbl = .data:0x80130CA0; // type:object size:0x100
lbl_80130DA0 = .data:0x80130DA0; // type:object size:0xD data:string
lbl_80130DAD = .data:0x80130DAD; // type:object size:0xD data:string
lbl_80130DBA = .data:0x80130DBA; // type:object size:0xE data:string
lbl_80130DC8 = .data:0x80130DC8; // type:object size:0xE data:string
lbl_80130DD6 = .data:0x80130DD6; // type:object size:0x12
lbl_80130DE8 = .data:0x80130DE8; // type:object size:0xA0
lbl_80130E88 = .data:0x80130E88; // type:object size:0x38
lbl_80130EC0 = .data:0x80130EC0; // type:object size:0x38
lbl_80130EF8 = .data:0x80130EF8; // type:object size:0x38
lbl_80130F30 = .data:0x80130F30; // type:object size:0x38
hookNameTbl = .data:0x80130DE8; // type:object size:0xA0 scope:local
modelParticleParam = .data:0x80130E88; // type:object size:0x38 scope:local
coinParticleParam = .data:0x80130EC0; // type:object size:0x38
lbl_80130EF8 = .data:0x80130EF8; // type:object size:0x38 scope:local
lbl_80130F30 = .data:0x80130F30; // type:object size:0x38 scope:local
lbl_80130F68 = .data:0x80130F68; // type:object size:0x1C
lbl_80130F84 = .data:0x80130F84; // type:object size:0x38
lbl_80130FBC = .data:0x80130FBC; // type:object size:0x38
lbl_80130FF4 = .data:0x80130FF4; // type:object size:0xBC
lbl_801310B0 = .data:0x801310B0; // type:object size:0x100
VolumeTable = .data:0x801310B0; // type:object size:0x100 scope:local
lbl_801311B0 = .data:0x801311B0; // type:object size:0x4D
lbl_801311FD = .data:0x801311FD; // type:object size:0x1B
mgInfoTbl = .data:0x80131218; // type:object size:0xE00 data:2byte
lbl_80132018 = .data:0x80132018; // type:object size:0x40
commentTbl = .data:0x80132018; // type:object size:0x40 scope:local
lbl_80132058 = .data:0x80132058; // type:object size:0xC data:string
lbl_80132064 = .data:0x80132064; // type:object size:0xC data:string
lbl_80132070 = .data:0x80132070; // type:object size:0xC data:string
lbl_8013207C = .data:0x8013207C; // type:object size:0xC
SaveFileNameTbl = .data:0x8013207C; // type:object size:0xC
jumptable_80132088 = .data:0x80132088; // type:object size:0x34 scope:local
lbl_801320C0 = .data:0x801320C0; // type:object size:0x10
lbl_801320D0 = .data:0x801320D0; // type:object size:0x1384 noreloc
lbl_80133454 = .data:0x80133454; // type:object size:0x1384 noreloc
lbl_801347D8 = .data:0x801347D8; // type:object size:0x1384 noreloc
lbl_80135B5C = .data:0x80135B5C; // type:object size:0x1384 noreloc
lbl_80136EE0 = .data:0x80136EE0; // type:object size:0x1384 noreloc
lbl_80138264 = .data:0x80138264; // type:object size:0x1384 noreloc
lbl_801395E8 = .data:0x801395E8; // type:object size:0x1384 noreloc
lbl_8013A96C = .data:0x8013A96C; // type:object size:0x1384 noreloc
lbl_8013BCF0 = .data:0x8013BCF0; // type:object size:0x1384 noreloc
lbl_8013D074 = .data:0x8013D074; // type:object size:0x1384 noreloc
lbl_8013E3F8 = .data:0x8013E3F8; // type:object size:0x1384 noreloc
lbl_8013F77C = .data:0x8013F77C; // type:object size:0x1384 noreloc
lbl_80140B00 = .data:0x80140B00; // type:object size:0x1384 noreloc
lbl_80141E84 = .data:0x80141E84; // type:object size:0x1384 noreloc
lbl_80143208 = .data:0x80143208; // type:object size:0x1384 noreloc
lbl_8014458C = .data:0x8014458C; // type:object size:0x1384 noreloc
lbl_80145910 = .data:0x80145910; // type:object size:0x1384 noreloc
lbl_80146C94 = .data:0x80146C94; // type:object size:0x1384 noreloc
lbl_80148018 = .data:0x80148018; // type:object size:0x1384 noreloc
lbl_8014939C = .data:0x8014939C; // type:object size:0x1384 noreloc
lbl_8014A720 = .data:0x8014A720; // type:object size:0x1384 noreloc
lbl_8014BAA4 = .data:0x8014BAA4; // type:object size:0x1384 noreloc
lbl_8014CE28 = .data:0x8014CE28; // type:object size:0x1384 noreloc
lbl_8014E1AC = .data:0x8014E1AC; // type:object size:0x1384 noreloc
lbl_8014F530 = .data:0x8014F530; // type:object size:0x1384 noreloc
lbl_801508B4 = .data:0x801508B4; // type:object size:0x1384 noreloc
lbl_80151C38 = .data:0x80151C38; // type:object size:0x1384 noreloc
lbl_80152FBC = .data:0x80152FBC; // type:object size:0x1384 noreloc
lbl_80154340 = .data:0x80154340; // type:object size:0x1384 noreloc
lbl_801556C4 = .data:0x801556C4; // type:object size:0x1384 noreloc
SR_PreRstChk = .data:0x801320C0; // type:object size:0x10 scope:local
coveropen_en = .data:0x801320D0; // type:object size:0x1384 noreloc
fatalerror_en = .data:0x80133454; // type:object size:0x1384 noreloc
loading_en = .data:0x801347D8; // type:object size:0x1384 noreloc
nodisc_en = .data:0x80135B5C; // type:object size:0x1384 noreloc
retryerror_en = .data:0x80136EE0; // type:object size:0x1384 noreloc
wrongdisc_en = .data:0x80138264; // type:object size:0x1384 noreloc
coveropen_fr = .data:0x801395E8; // type:object size:0x1384 noreloc
fatalerror_fr = .data:0x8013A96C; // type:object size:0x1384 noreloc
loading_fr = .data:0x8013BCF0; // type:object size:0x1384 noreloc
nodisc_fr = .data:0x8013D074; // type:object size:0x1384 noreloc
retryerror_fr = .data:0x8013E3F8; // type:object size:0x1384 noreloc
wrongdisc_fr = .data:0x8013F77C; // type:object size:0x1384 noreloc
coveropen_ge = .data:0x80140B00; // type:object size:0x1384 noreloc
fatalerror_ge = .data:0x80141E84; // type:object size:0x1384 noreloc
loading_ge = .data:0x80143208; // type:object size:0x1384 noreloc
nodisc_ge = .data:0x8014458C; // type:object size:0x1384 noreloc
retryerror_ge = .data:0x80145910; // type:object size:0x1384 noreloc
wrongdisc_ge = .data:0x80146C94; // type:object size:0x1384 noreloc
coveropen_it = .data:0x80148018; // type:object size:0x1384 noreloc
fatalerror_it = .data:0x8014939C; // type:object size:0x1384 noreloc
loading_it = .data:0x8014A720; // type:object size:0x1384 noreloc
nodisc_it = .data:0x8014BAA4; // type:object size:0x1384 noreloc
retryerror_it = .data:0x8014CE28; // type:object size:0x1384 noreloc
wrongdisc_it = .data:0x8014E1AC; // type:object size:0x1384 noreloc
coveropen_sp = .data:0x8014F530; // type:object size:0x1384 noreloc
fatalerror_sp = .data:0x801508B4; // type:object size:0x1384 noreloc
loading_sp = .data:0x80151C38; // type:object size:0x1384 noreloc
nodisc_sp = .data:0x80152FBC; // type:object size:0x1384 noreloc
retryerror_sp = .data:0x80154340; // type:object size:0x1384 noreloc
wrongdisc_sp = .data:0x801556C4; // type:object size:0x1384 noreloc
jumptable_80156A48 = .data:0x80156A48; // type:object size:0x34 scope:local
lbl_80156A7C = .data:0x80156A7C; // type:object size:0x78
bmpMes$493 = .data:0x80156A7C; // type:object size:0x78 scope:local
lbl_80156AF4 = .data:0x80156AF4; // type:object size:0x13 data:string
lbl_80156B07 = .data:0x80156B07; // type:object size:0x19
lbl_80156B07 = .data:0x80156B07; // type:object size:0x12 data:string
lbl_80156B20 = .data:0x80156B20; // type:object size:0x24
jumptable_80156B44 = .data:0x80156B44; // type:object size:0x24 scope:local
lbl_80156B68 = .data:0x80156B68; // type:object size:0x48
@ -5489,34 +5496,41 @@ winData = .bss:0x801AF760; // type:object size:0x3000 align:32 data:byte
winKey = .bss:0x801B2760; // type:object size:0x10
winComKeyBuf = .bss:0x801B2770; // type:object size:0x1400
mesWInsert = .bss:0x801B3B70; // type:object size:0x10
lbl_801B3B80 = .bss:0x801B3B80; // type:object size:0x400 data:byte
lbl_801B3F80 = .bss:0x801B3F80; // type:object size:0x20
lbl_801B3FA0 = .bss:0x801B3FA0; // type:object size:0x2C0
lbl_801B4260 = .bss:0x801B4260; // type:object size:0x640
lbl_801B48A0 = .bss:0x801B48A0; // type:object size:0x10 data:2byte
lbl_801B48B0 = .bss:0x801B48B0; // type:object size:0x20
lbl_801B48D0 = .bss:0x801B48D0; // type:object size:0x80
lbl_801B4950 = .bss:0x801B4950; // type:object size:0xA0
lbl_801B49F0 = .bss:0x801B49F0; // type:object size:0x40
lbl_801B4A30 = .bss:0x801B4A30; // type:object size:0x60
lbl_801B4A90 = .bss:0x801B4A90; // type:object size:0xC data:float
lbl_801B4A9C = .bss:0x801B4A9C; // type:object size:0xC data:float
lbl_801B4AA8 = .bss:0x801B4AA8; // type:object size:0x78
lbl_801B4B20 = .bss:0x801B4B20; // type:object size:0x18C
lbl_801B4CAC = .bss:0x801B4CAC; // type:object size:0x180
lbl_801B4E2C = .bss:0x801B4E2C; // type:object size:0x34
lbl_801B4E60 = .bss:0x801B4E60; // type:object size:0x1A0
lbl_801B5000 = .bss:0x801B5000; // type:object size:0x500
lbl_801B5500 = .bss:0x801B5500; // type:object size:0x40
lbl_801B5540 = .bss:0x801B5540; // type:object size:0x40
lbl_801B5580 = .bss:0x801B5580; // type:object size:0x118
lbl_801B5698 = .bss:0x801B5698; // type:object size:0x100
lbl_801B5798 = .bss:0x801B5798; // type:object size:0x18
lbl_801B57B0 = .bss:0x801B57B0; // type:object size:0x10
lbl_801B57C0 = .bss:0x801B57C0; // type:object size:0x20
lbl_801B57E0 = .bss:0x801B57E0; // type:object size:0x4000
lbl_801B97E0 = .bss:0x801B97E0; // type:object size:0x1277
lbl_801BAA57 = .bss:0x801BAA57; // type:object size:0x129
ARInfo = .bss:0x801B3B80; // type:object size:0x400 data:byte
arqReq = .bss:0x801B3F80; // type:object size:0x20 scope:local
ARQueBuf = .bss:0x801B3FA0; // type:object size:0x280 scope:local
preLoadBuf = .bss:0x801B4220; // type:object size:0x40 scope:local
charInstance = .bss:0x801B4260; // type:object size:0x640 scope:local
effectMdl = .bss:0x801B48A0; // type:object size:0x10 scope:local data:2byte
particleData = .bss:0x801B48B0; // type:object size:0x20 scope:local
itemHookProcess = .bss:0x801B48D0; // type:object size:0x80 scope:local
lbl_801975B0 = .bss:0x801B4950; // type:object size:0x10 scope:local
lbl_801975C0 = .bss:0x801B4960; // type:object size:0x90 scope:local
MapObject = .bss:0x801B49F0; // type:object size:0x40
MapMT = .bss:0x801B4A30; // type:object size:0x30
MapMTR = .bss:0x801B4A60; // type:object size:0x30
MTRAdd = .bss:0x801B4A90; // type:object size:0xC scope:local data:float
FieldVec = .bss:0x801B4A9C; // type:object size:0xC scope:local data:float
ColisionIdx = .bss:0x801B4AA8; // type:object size:0x78
HitFaceVec = .bss:0x801B4B20; // type:object size:0x180
OldXYZ = .bss:0x801B4CA0; // type:object size:0xC scope:local
HitFace = .bss:0x801B4CAC; // type:object size:0x180
CharObject = .bss:0x801B4E2C; // type:object size:0x30
SimpleControl = .bss:0x801B4E60; // type:object size:0x1A0
SoundBuffer = .bss:0x801B5000; // type:object size:0x500 scope:local align:32
WorkBuffer = .bss:0x801B5500; // type:object size:0x40 scope:local align:32
THPFileName = .bss:0x801B5540; // type:object size:0x40 scope:local
mgGameStatBackup = .bss:0x801B5580; // type:object size:0x118
mgIndexList = .bss:0x801B5698; // type:object size:0x100
mgTicTacToeGrid = .bss:0x801B5798; // type:object size:0x12
_Sys_Flag = .bss:0x801B57B0; // type:object size:0x10 scope:local
curFileInfo = .bss:0x801B57C0; // type:object size:0x20
saveBuf = .bss:0x801B57E0; // type:object size:0x4000
ToeMessageQueue = .bss:0x801B97E0; // type:object size:0x20 scope:local
padStat$377 = .bss:0x801B9800; // type:object size:0x30 scope:local
ToeMessageArray = .bss:0x801B9830; // type:object size:0x40 scope:local
ToeThread = .bss:0x801B9870; // type:object size:0x310 scope:local align:8
ToeThreadStack = .bss:0x801B9B80; // type:object size:0x1000 scope:local
lbl_801BAB80 = .bss:0x801BAB80; // type:object size:0xC4 data:byte
lbl_801BAC44 = .bss:0x801BAC44; // type:object size:0xC4
lbl_801BAD08 = .bss:0x801BAD08; // type:object size:0x10
@ -5791,14 +5805,14 @@ lbl_801F09CB = .sdata:0x801F09CB; // type:object size:0x8 data:string
lbl_801F09D3 = .sdata:0x801F09D3; // type:object size:0x6 data:string
lbl_801F09D9 = .sdata:0x801F09D9; // type:object size:0x7
lbl_801F09E0 = .sdata:0x801F09E0; // type:object size:0x8
lbl_801F09E8 = .sdata:0x801F09E8; // type:object size:0x4 data:4byte
SaveEnableF = .sdata:0x801F09E8; // type:object size:0x4 data:4byte
lbl_801F09EC = .sdata:0x801F09EC; // type:object size:0x2 data:string
lbl_801F09EE = .sdata:0x801F09EE; // type:object size:0x2 data:string
lbl_801F09F0 = .sdata:0x801F09F0; // type:object size:0x8
lbl_801F09F8 = .sdata:0x801F09F8; // type:object size:0x8 data:4byte
lbl_801F0A00 = .sdata:0x801F0A00; // type:object size:0x8 data:2byte
lbl_801F0A08 = .sdata:0x801F0A08; // type:object size:0x1 data:byte
lbl_801F0A0C = .sdata:0x801F0A0C; // type:object size:0xC data:4byte
SlotNameTbl = .sdata:0x801F09F0; // type:object size:0x8 scope:local
saveMessWin = .sdata:0x801F09F8; // type:object size:0x4 data:4byte
SR_PushTime = .sdata:0x801F0A00; // type:object size:0x8 scope:local data:2byte
SR_ResetPad = .sdata:0x801F0A08; // type:object size:0x1 scope:local data:byte
Xfb = .sdata:0x801F0A0C; // type:object size:0x8 scope:local data:4byte
lbl_801F0A18 = .sdata:0x801F0A18; // type:object size:0x4 data:4byte
lbl_801F0A1C = .sdata:0x801F0A1C; // type:object size:0x1 data:byte
lbl_801F0A1D = .sdata:0x801F0A1D; // type:object size:0x1 data:byte
@ -6226,58 +6240,57 @@ cardAnimB = .sbss:0x801F119C; // type:object size:0x4 scope:local data:4byte
cardAnimA = .sbss:0x801F11A0; // type:object size:0x4 scope:local data:4byte
cursorAnim = .sbss:0x801F11A4; // type:object size:0x4 scope:local data:4byte
iconAnim = .sbss:0x801F11A8; // type:object size:0x8 scope:local data:4byte
lbl_801F11B0 = .sbss:0x801F11B0; // type:object size:0x1 scope:local data:byte
lbl_801F11B4 = .sbss:0x801F11B4; // type:object size:0x4 data:4byte
lbl_801F11B8 = .sbss:0x801F11B8; // type:object size:0x2 data:2byte
lbl_801F11BC = .sbss:0x801F11BC; // type:object size:0x4 data:4byte
lbl_801F11C0 = .sbss:0x801F11C0; // type:object size:0x8 data:4byte
lbl_801F11C8 = .sbss:0x801F11C8; // type:object size:0x4 data:4byte
lbl_801F11CC = .sbss:0x801F11CC; // type:object size:0x4 data:4byte
lbl_801F11D0 = .sbss:0x801F11D0; // type:object size:0x4 data:4byte
lbl_801F11D4 = .sbss:0x801F11D4; // type:object size:0x4 data:4byte
lbl_801F11D8 = .sbss:0x801F11D8; // type:object size:0x4 data:4byte
lbl_801F11DC = .sbss:0x801F11DC; // type:object size:0x4 data:4byte
lbl_801F11E0 = .sbss:0x801F11E0; // type:object size:0x4
lbl_801F11E4 = .sbss:0x801F11E4; // type:object size:0x4 data:4byte
lbl_801F11E8 = .sbss:0x801F11E8; // type:object size:0x4 data:float
lbl_801F11EC = .sbss:0x801F11EC; // type:object size:0x4 data:float
lbl_801F11F0 = .sbss:0x801F11F0; // type:object size:0x4 data:4byte
lbl_801F11F4 = .sbss:0x801F11F4; // type:object size:0x4 data:4byte
lbl_801F11F8 = .sbss:0x801F11F8; // type:object size:0x4 data:4byte
lbl_801F11FC = .sbss:0x801F11FC; // type:object size:0x4 data:4byte
lbl_801F1200 = .sbss:0x801F1200; // type:object size:0x4 data:4byte
lbl_801F1204 = .sbss:0x801F1204; // type:object size:0x4 data:4byte
lbl_801F1208 = .sbss:0x801F1208; // type:object size:0x8 data:4byte
lbl_801F1210 = .sbss:0x801F1210; // type:object size:0x4 data:4byte
lbl_801F1214 = .sbss:0x801F1214; // type:object size:0x2 data:2byte
lbl_801F1218 = .sbss:0x801F1218; // type:object size:0x4 data:4byte
lbl_801F121C = .sbss:0x801F121C; // type:object size:0x2 data:2byte
lbl_801F121E = .sbss:0x801F121E; // type:object size:0x2 data:2byte
lbl_801F1220 = .sbss:0x801F1220; // type:object size:0x4 data:4byte
lbl_801F1224 = .sbss:0x801F1224; // type:object size:0x4 data:4byte
lbl_801F1228 = .sbss:0x801F1228; // type:object size:0x4 data:4byte
lbl_801F122C = .sbss:0x801F122C; // type:object size:0xC data:4byte
lbl_801F1238 = .sbss:0x801F1238; // type:object size:0x4
lbl_801F123C = .sbss:0x801F123C; // type:object size:0x4
lbl_801F1240 = .sbss:0x801F1240; // type:object size:0x4 data:4byte
UnMountCnt = .sbss:0x801F11B0; // type:object size:0x1 data:byte
cardWork = .sbss:0x801F11B4; // type:object size:0x4 scope:local data:4byte
arqIdx = .sbss:0x801F11B8; // type:object size:0x2 scope:local data:2byte
arqCnt = .sbss:0x801F11BC; // type:object size:0x4 scope:local data:4byte
ARBase = .sbss:0x801F11C0; // type:object size:0x8 scope:local data:4byte
effectAMemP = .sbss:0x801F11C8; // type:object size:0x4 scope:local data:4byte
skipAnimUpdate = .sbss:0x801F11CC; // type:object size:0x4 scope:local data:4byte
CollisionCount = .sbss:0x801F11D0; // type:object size:0x4 data:4byte
topvtx = .sbss:0x801F11D4; // type:object size:0x4 scope:local data:4byte
AttrHsf = .sbss:0x801F11D8; // type:object size:0x4 scope:local data:4byte
HitFaceCount = .sbss:0x801F11DC; // type:object size:0x4 data:4byte
nChar = .sbss:0x801F11E0; // type:object size:0x4
nMap = .sbss:0x801F11E4; // type:object size:0x4 data:4byte
AddZ = .sbss:0x801F11E8; // type:object size:0x4 data:float
AddX = .sbss:0x801F11EC; // type:object size:0x4 data:float
Initialized = .sbss:0x801F11F0; // type:object size:0x4 scope:local data:4byte
OldAIDCallback = .sbss:0x801F11F4; // type:object size:0x4 scope:local data:4byte
AudioSystem = .sbss:0x801F11F8; // type:object size:0x4 scope:local data:4byte
bufIdx = .sbss:0x801F11FC; // type:object size:0x4 scope:local data:4byte
CurAudioBuffer = .sbss:0x801F1200; // type:object size:0x4 scope:local data:4byte
LastAudioBuffer = .sbss:0x801F1204; // type:object size:0x4 scope:local data:4byte
SoundBufferIndex = .sbss:0x801F1208; // type:object size:0x4 scope:local data:4byte
THPProc = .sbss:0x801F1210; // type:object size:0x4 data:4byte
THPStart = .sbss:0x801F1214; // type:object size:0x2 scope:local data:2byte
THPFrame = .sbss:0x801F1218; // type:object size:0x4 scope:local data:4byte
THPStat = .sbss:0x801F121C; // type:object size:0x2 scope:local data:2byte
THPLoopF = .sbss:0x801F121E; // type:object size:0x2 scope:local data:2byte
decodeThread = .sbss:0x801F1220; // type:object size:0x4 scope:local data:4byte
decodeStackP = .sbss:0x801F1224; // type:object size:0x4 scope:local data:4byte
decodeRate = .sbss:0x801F1228; // type:object size:0x4 scope:local data:4byte
audioTrack = .sbss:0x801F122C; // type:object size:0x8 scope:local data:4byte
mgBoardHostEnableF = .sbss:0x801F1238; // type:object size:0x4
mgInstExitEnableF = .sbss:0x801F123C; // type:object size:0x4
mgPracticeEnableF = .sbss:0x801F1240; // type:object size:0x4 data:4byte
mgQuitExtraF = .sbss:0x801F1244; // type:object size:0x4 data:4byte
lbl_801F1248 = .sbss:0x801F1248; // type:object size:0x4
lbl_801F124C = .sbss:0x801F124C; // type:object size:0x2
lbl_801F124E = .sbss:0x801F124E; // type:object size:0x2
lbl_801F1250 = .sbss:0x801F1250; // type:object size:0x8
lbl_801F1258 = .sbss:0x801F1258; // type:object size:0x8
lbl_801F1260 = .sbss:0x801F1260; // type:object size:0x2 data:2byte
lbl_801F1262 = .sbss:0x801F1262; // type:object size:0x1 data:byte
lbl_801F1264 = .sbss:0x801F1264; // type:object size:0x4
lbl_801F1268 = .sbss:0x801F1268; // type:object size:0x4 data:4byte
lbl_801F126C = .sbss:0x801F126C; // type:object size:0x4 data:4byte
lbl_801F1270 = .sbss:0x801F1270; // type:object size:0x4 data:4byte
lbl_801F1274 = .sbss:0x801F1274; // type:object size:0x4 data:4byte
lbl_801F1278 = .sbss:0x801F1278; // type:object size:0x4 data:4byte
lbl_801F127C = .sbss:0x801F127C; // type:object size:0x4 data:4byte
lbl_801F1280 = .sbss:0x801F1280; // type:object size:0x4 data:4byte
lbl_801F1284 = .sbss:0x801F1284; // type:object size:0x2 data:2byte
lbl_801F1286 = .sbss:0x801F1286; // type:object size:0x2 data:2byte
mgRecordExtra = .sbss:0x801F1248; // type:object size:0x4
lbl_801D3E94 = .sbss:0x801F124C; // type:object size:0x2
mgBattleStarMax = .sbss:0x801F124E; // type:object size:0x2
mgBattleStar = .sbss:0x801F1250; // type:object size:0x8
mgTypeCurr = .sbss:0x801F1258; // type:object size:0x2
curSlotNo = .sbss:0x801F1260; // type:object size:0x2 data:2byte
curBoxNo = .sbss:0x801F1262; // type:object size:0x1 data:byte
saveExecF = .sbss:0x801F1264; // type:object size:0x4
SLSerialNo = .sbss:0x801F1268; // type:object size:0x8 data:4byte
H_ResetReady = .sbss:0x801F1270; // type:object size:0x4 scope:local data:4byte
SR_RestartChk = .sbss:0x801F1274; // type:object size:0x4 scope:local data:4byte
SR_ExecReset = .sbss:0x801F1278; // type:object size:0x4 data:4byte
trychkBusyWait = .sbss:0x801F127C; // type:object size:0x4 scope:local data:4byte
XfbProg = .sbss:0x801F1280; // type:object size:0x4 scope:local data:4byte
XfbH = .sbss:0x801F1284; // type:object size:0x2 scope:local data:2byte
XfbW = .sbss:0x801F1286; // type:object size:0x2 scope:local data:2byte
lbl_801F1288 = .sbss:0x801F1288; // type:object size:0x4 data:4byte
lbl_801F128C = .sbss:0x801F128C; // type:object size:0x4 data:4byte
lbl_801F1290 = .sbss:0x801F1290; // type:object size:0x4 data:4byte

View file

@ -546,4 +546,94 @@ extract:
header: hiliteData4.inc
- symbol: Ascii8x8_1bpp
binary: Ascii8x8_1bpp.bin
header: Ascii8x8_1bpp.inc
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
- symbol: coveropen_fr
binary: coveropen_fr.bin
header: coveropen_fr.inc
- symbol: fatalerror_fr
binary: fatalerror_fr.bin
header: fatalerror_fr.inc
- symbol: loading_fr
binary: loading_fr.bin
header: loading_fr.inc
- symbol: nodisc_fr
binary: nodisc_fr.bin
header: nodisc_fr.inc
- symbol: retryerror_fr
binary: retryerror_fr.bin
header: retryerror_fr.inc
- symbol: wrongdisc_fr
binary: wrongdisc_fr.bin
header: wrongdisc_fr.inc
- symbol: coveropen_ge
binary: coveropen_ge.bin
header: coveropen_ge.inc
- symbol: fatalerror_ge
binary: fatalerror_ge.bin
header: fatalerror_ge.inc
- symbol: loading_ge
binary: loading_ge.bin
header: loading_ge.inc
- symbol: nodisc_ge
binary: nodisc_ge.bin
header: nodisc_ge.inc
- symbol: retryerror_ge
binary: retryerror_ge.bin
header: retryerror_ge.inc
- symbol: wrongdisc_ge
binary: wrongdisc_ge.bin
header: wrongdisc_ge.inc
- symbol: coveropen_it
binary: coveropen_it.bin
header: coveropen_it.inc
- symbol: fatalerror_it
binary: fatalerror_it.bin
header: fatalerror_it.inc
- symbol: loading_it
binary: loading_it.bin
header: loading_it.inc
- symbol: nodisc_it
binary: nodisc_it.bin
header: nodisc_it.inc
- symbol: retryerror_it
binary: retryerror_it.bin
header: retryerror_it.inc
- symbol: wrongdisc_it
binary: wrongdisc_it.bin
header: wrongdisc_it.inc
- symbol: coveropen_sp
binary: coveropen_sp.bin
header: coveropen_sp.inc
- symbol: fatalerror_sp
binary: fatalerror_sp.bin
header: fatalerror_sp.inc
- symbol: loading_sp
binary: loading_sp.bin
header: loading_sp.inc
- symbol: nodisc_sp
binary: nodisc_sp.bin
header: nodisc_sp.inc
- symbol: retryerror_sp
binary: retryerror_sp.bin
header: retryerror_sp.inc
- symbol: wrongdisc_sp
binary: wrongdisc_sp.bin
header: wrongdisc_sp.inc

View file

@ -410,18 +410,18 @@ config.libs = [
Object(Matching, "game/ShapeExec.c"),
Object(Matching, "game/wipe.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/window.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/messdata.c"),
Object(Matching, "game/messdata.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/card.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/armem.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/chrman.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/mapspace.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/THPSimple.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/THPDraw.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/thpmain.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/objsub.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/flag.c"),
Object(Matching, "game/armem.c"),
Object(Matching, "game/chrman.c"),
Object(Matching, "game/mapspace.c"),
Object(Matching, "game/THPSimple.c"),
Object(Matching, "game/THPDraw.c"),
Object(Matching, "game/thpmain.c"),
Object(Matching, "game/objsub.c"),
Object(Matching, "game/flag.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/saveload.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/sreset.c"),
Object(Matching, "game/sreset.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/main.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/player.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/model.c"),

View file

@ -4,6 +4,9 @@
#include "game/pad.h"
#include "game/audio.h"
#include "game/thpmain.h"
#include "game/gamework_data.h"
#include "version.h"
#define SR_DVD_LOADING 0
#define SR_DVD_COVER_OPEN 1
@ -19,6 +22,8 @@ extern s32 HuDvdErrWait;
static s32 SR_PreRstChk[4] = {};
#if VERSION_NTSC
#include "coveropen_en.inc"
#include "fatalerror_en.inc"
#include "loading_en.inc"
@ -26,6 +31,45 @@ static s32 SR_PreRstChk[4] = {};
#include "retryerror_en.inc"
#include "wrongdisc_en.inc"
#else
#include "coveropen_en.inc"
#include "fatalerror_en.inc"
#include "loading_en.inc"
#include "nodisc_en.inc"
#include "retryerror_en.inc"
#include "wrongdisc_en.inc"
#include "coveropen_fr.inc"
#include "fatalerror_fr.inc"
#include "loading_fr.inc"
#include "nodisc_fr.inc"
#include "retryerror_fr.inc"
#include "wrongdisc_fr.inc"
#include "coveropen_ge.inc"
#include "fatalerror_ge.inc"
#include "loading_ge.inc"
#include "nodisc_ge.inc"
#include "retryerror_ge.inc"
#include "wrongdisc_ge.inc"
#include "coveropen_it.inc"
#include "fatalerror_it.inc"
#include "loading_it.inc"
#include "nodisc_it.inc"
#include "retryerror_it.inc"
#include "wrongdisc_it.inc"
#include "coveropen_sp.inc"
#include "fatalerror_sp.inc"
#include "loading_sp.inc"
#include "nodisc_sp.inc"
#include "retryerror_sp.inc"
#include "wrongdisc_sp.inc"
#endif
static s16 SR_PushTime[4] = {};
static s8 SR_ResetPad = -1;
@ -103,9 +147,17 @@ void HuDvdErrDispInit(GXRenderModeObj *rmode, void *xfb1, void *xfb2)
XfbW = (u16)(((u16)rmode->fbWidth+15) & ~0xF);
XfbH = rmode->xfbHeight;
} else {
#if VERSION_NTSC
XfbW = 640;
XfbH = 480;
#else
XfbW = 640;
XfbH = 528;
#endif
}
#if VERSION_PAL
(void)(VIGetTvFormat() == VI_PAL);
#endif
if((u16)rmode->xFBmode == VI_XFBMODE_SF) {
XfbProg = 0;
} else {
@ -223,20 +275,39 @@ static void ToeDispCheck(void)
_HuDvdErrDispXFB(status);
}
#if VERSION_NTSC
#define XFB_SIZE 0x96000
#else
#define XFB_SIZE (XfbW*XfbH*2)
#endif
static void _HuDvdErrDispXFB(s32 error)
{
#if VERSION_NTSC
static void *bmpMes[][6] = {
loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en
};
volatile s32 status;
u8 color[2];
s8 language;
#else
static void *bmpMes[][6] = {
loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en,
loading_fr, coveropen_fr, nodisc_fr, wrongdisc_fr, retryerror_fr, fatalerror_fr,
loading_ge, coveropen_ge, nodisc_ge, wrongdisc_ge, retryerror_ge, fatalerror_ge,
loading_it, coveropen_it, nodisc_it, wrongdisc_it, retryerror_it, fatalerror_it,
loading_sp, coveropen_sp, nodisc_sp, wrongdisc_sp, retryerror_sp, fatalerror_sp
};
#endif
s16 *bmpData;
u8 *xfb1_ptr;
u8 *xfb2_ptr;
u32 i;
u32 data;
u32 row;
s8 language;
u32 *xfb1;
u32 *xfb2;
u32 j;
@ -246,25 +317,59 @@ static void _HuDvdErrDispXFB(s32 error)
u32 *data_ptr;
u32 row_offset;
u32 row_pitch;
void *tempfb1;
void *tempfb2;
s32 status;
u8 color[2];
#if VERSION_PAL
switch(GWGameStat.language) {
case 2:
language = 2;
break;
case 3:
language = 1;
break;
case 4:
language = 3;
break;
case 5:
language = 4;
break;
default:
language = 0;
break;
}
#else
language = 0;
#endif
xfb1 = Xfb[0];
xfb2 = Xfb[1];
for(i=0; i<0x25800; i++, xfb1++, xfb2++) {
for(i=0; i<XFB_SIZE/4; i++, xfb1++, xfb2++) {
#if VERSION_NTSC
*xfb1 = *xfb2 = 0x800080;
#else
*xfb1 = *xfb2 = 0x10801080;
#endif
}
DCStoreRangeNoSync(Xfb[0], 0x96000);
DCStoreRangeNoSync(Xfb[1], 0x96000);
DCStoreRangeNoSync(Xfb[0], XFB_SIZE);
DCStoreRangeNoSync(Xfb[1], XFB_SIZE);
bmpData = bmpMes[language][error];
data_ptr = (u32 *)(bmpData+2);
row_offset = ((XfbW/2)-(bmpData[0]/2))*2;
row_pitch = XfbW*2;
color[1] = color[0] = 128;
for(row=0; row<bmpData[1]; row++) {
void *sp14[2];
xfb1_ptr = ((u8 *)(Xfb[0])+((row+200)*row_pitch)+row_offset);
sp14[1] = xfb1_ptr;
tempfb1 = xfb1_ptr;
xfb2_ptr = ((u8 *)(Xfb[1])+((row+200)*row_pitch)+row_offset);
sp14[0] = xfb2_ptr;
tempfb2 = xfb2_ptr;
for(i=0; i<bmpData[0]; i += 32) {
data = *data_ptr++;
for(j=0; j<32; j += 2, data >>= 2, xfb1_ptr += 4, xfb2_ptr += 4) {
@ -290,8 +395,8 @@ static void _HuDvdErrDispXFB(s32 error)
}
}
}
DCStoreRangeNoSync(sp14[1], bmpData[0]*2);
DCStoreRangeNoSync(sp14[0], bmpData[0]*2);
DCStoreRangeNoSync(tempfb1, bmpData[0]*2);
DCStoreRangeNoSync(tempfb2, bmpData[0]*2);
}
status = DVDGetDriveStatus();
while(status) {