mirror of https://github.com/n64decomp/mk64.git
parent
cf33e2ea5f
commit
84edd67231
|
|
@ -20,10 +20,10 @@ glabel D_8018E85C
|
|||
glabel gTextColor
|
||||
.skip 8
|
||||
|
||||
glabel D_8018E868
|
||||
glabel gControllerPak1FileHandle
|
||||
.skip 104
|
||||
|
||||
glabel D_8018E8D0
|
||||
glabel gControllerPak2FileHandle
|
||||
.skip 104
|
||||
|
||||
glabel D_8018E938
|
||||
|
|
@ -35,19 +35,19 @@ glabel D_8018EB34
|
|||
glabel D_8018EB38
|
||||
.skip 64
|
||||
|
||||
glabel D_8018EB78
|
||||
glabel gControllerPak1NumFilesUsed
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB7C
|
||||
glabel gControllerPak1MaxWriteableFiles
|
||||
.skip 4
|
||||
|
||||
glabel gControllerPakNumPagesFree
|
||||
glabel gControllerPak1NumPagesFree
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB84
|
||||
glabel gControllerPak1FileNote
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB88
|
||||
glabel gControllerPak2FileNote
|
||||
.skip 8
|
||||
|
||||
glabel D_8018EB90
|
||||
|
|
|
|||
|
|
@ -701,7 +701,7 @@ glabel L8009F094
|
|||
/* 09FCA0 8009F0A0 00402025 */ move $a0, $v0
|
||||
/* 09FCA4 8009F0A4 0C0265AF */ jal func_800996BC
|
||||
/* 09FCA8 8009F0A8 00002825 */ move $a1, $zero
|
||||
/* 09FCAC 8009F0AC 0C02D6E5 */ jal controller_pak_status
|
||||
/* 09FCAC 8009F0AC 0C02D6E5 */ jal controller_pak_1_status
|
||||
/* 09FCB0 8009F0B0 00000000 */ nop
|
||||
/* 09FCB4 8009F0B4 14400005 */ bnez $v0, .L8009F0CC
|
||||
/* 09FCB8 8009F0B8 00000000 */ nop
|
||||
|
|
@ -734,7 +734,7 @@ glabel L8009F10C
|
|||
/* 09FD18 8009F118 00402025 */ move $a0, $v0
|
||||
/* 09FD1C 8009F11C 0C0265AF */ jal func_800996BC
|
||||
/* 09FD20 8009F120 00002825 */ move $a1, $zero
|
||||
/* 09FD24 8009F124 0C02D6E5 */ jal controller_pak_status
|
||||
/* 09FD24 8009F124 0C02D6E5 */ jal controller_pak_1_status
|
||||
/* 09FD28 8009F128 00000000 */ nop
|
||||
/* 09FD2C 8009F12C 14400005 */ bnez $v0, .L8009F144
|
||||
/* 09FD30 8009F130 00000000 */ nop
|
||||
|
|
@ -988,7 +988,7 @@ glabel L8009F430
|
|||
/* 0A00C0 8009F4C0 00002825 */ move $a1, $zero
|
||||
/* 0A00C4 8009F4C4 0C01BBD8 */ jal func_8006EF60
|
||||
/* 0A00C8 8009F4C8 00000000 */ nop
|
||||
/* 0A00CC 8009F4CC 0C02D6E5 */ jal controller_pak_status
|
||||
/* 0A00CC 8009F4CC 0C02D6E5 */ jal controller_pak_1_status
|
||||
/* 0A00D0 8009F4D0 00000000 */ nop
|
||||
/* 0A00D4 8009F4D4 14400005 */ bnez $v0, .L8009F4EC
|
||||
/* 0A00D8 8009F4D8 00000000 */ nop
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ glabel func_800A0DFC
|
|||
/* 0A1A08 800A0E08 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0A1A0C 800A0E0C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0A1A10 800A0E10 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0A1A14 800A0E14 3C108019 */ lui $s0, %hi(gControllerPakNumPagesFree) # $s0, 0x8019
|
||||
/* 0A1A14 800A0E14 3C108019 */ lui $s0, %hi(gControllerPak1NumPagesFree) # $s0, 0x8019
|
||||
/* 0A1A18 800A0E18 3C138015 */ lui $s3, %hi(gDisplayListHead) # $s3, 0x8015
|
||||
/* 0A1A1C 800A0E1C 3C14800E */ lui $s4, %hi(D_800E7D0C) # $s4, 0x800e
|
||||
/* 0A1A20 800A0E20 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0A1A24 800A0E24 8E10EB80 */ lw $s0, %lo(gControllerPakNumPagesFree)($s0)
|
||||
/* 0A1A24 800A0E24 8E10EB80 */ lw $s0, %lo(gControllerPak1NumPagesFree)($s0)
|
||||
/* 0A1A28 800A0E28 24110110 */ li $s1, 272
|
||||
/* 0A1A2C 800A0E2C 26947D0C */ addiu $s4, %lo(D_800E7D0C) # addiu $s4, $s4, 0x7d0c
|
||||
/* 0A1A30 800A0E30 26730298 */ addiu $s3, %lo(gDisplayListHead) # addiu $s3, $s3, 0x298
|
||||
|
|
|
|||
|
|
@ -31,29 +31,29 @@ glabel L800AA334
|
|||
/* 0AAF58 800AA358 01625821 */ addu $t3, $t3, $v0
|
||||
/* 0AAF5C 800AA35C 816B86AB */ lb $t3, %lo((D_800E86AC - 1))($t3) # -0x7955($t3)
|
||||
/* 0AAF60 800AA360 24010001 */ li $at, 1
|
||||
/* 0AAF64 800AA364 3C03800F */ lui $v1, %hi(D_800E86F8) # $v1, 0x800f
|
||||
/* 0AAF64 800AA364 3C03800F */ lui $v1, %hi(gControllerPak1State) # $v1, 0x800f
|
||||
/* 0AAF68 800AA368 15610093 */ bne $t3, $at, .L800AA5B8
|
||||
/* 0AAF6C 800AA36C 246386F8 */ addiu $v1, %lo(D_800E86F8) # addiu $v1, $v1, -0x7908
|
||||
/* 0AAF6C 800AA36C 246386F8 */ addiu $v1, %lo(gControllerPak1State) # addiu $v1, $v1, -0x7908
|
||||
/* 0AAF70 800AA370 806C0000 */ lb $t4, ($v1)
|
||||
/* 0AAF74 800AA374 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AAF78 800AA378 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AAF74 800AA374 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AAF78 800AA378 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AAF7C 800AA37C 1180001F */ beqz $t4, .L800AA3FC
|
||||
/* 0AAF80 800AA380 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AAF84 800AA384 3C0D800F */ lui $t5, %hi(D_800F2E74) # $t5, 0x800f
|
||||
/* 0AAF88 800AA388 3C0E8019 */ lui $t6, %hi(D_8018EB84) # $t6, 0x8019
|
||||
/* 0AAF8C 800AA38C 25CEEB84 */ addiu $t6, %lo(D_8018EB84) # addiu $t6, $t6, -0x147c
|
||||
/* 0AAF90 800AA390 25AD2E74 */ addiu $t5, %lo(D_800F2E74) # addiu $t5, $t5, 0x2e74
|
||||
/* 0AAF94 800AA394 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AAF98 800AA398 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AAF9C 800AA39C 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AAFA0 800AA3A0 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AAF80 800AA380 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AAF84 800AA384 3C0D800F */ lui $t5, %hi(gExtCode) # $t5, 0x800f
|
||||
/* 0AAF88 800AA388 3C0E8019 */ lui $t6, %hi(gControllerPak1FileNote) # $t6, 0x8019
|
||||
/* 0AAF8C 800AA38C 25CEEB84 */ addiu $t6, %lo(gControllerPak1FileNote) # addiu $t6, $t6, -0x147c
|
||||
/* 0AAF90 800AA390 25AD2E74 */ addiu $t5, %lo(gExtCode) # addiu $t5, $t5, 0x2e74
|
||||
/* 0AAF94 800AA394 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AAF98 800AA398 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AAF9C 800AA39C 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AAFA0 800AA3A0 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AAFA4 800AA3A4 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 0AAFA8 800AA3A8 AFAE0014 */ sw $t6, 0x14($sp)
|
||||
/* 0AAFAC 800AA3AC 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AAFAC 800AA3AC 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AAFB0 800AA3B0 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AAFB4 800AA3B4 AFA90020 */ sw $t1, 0x20($sp)
|
||||
/* 0AAFB8 800AA3B8 3C03800F */ lui $v1, %hi(D_800E86F8) # $v1, 0x800f
|
||||
/* 0AAFBC 800AA3BC 246386F8 */ addiu $v1, %lo(D_800E86F8) # addiu $v1, $v1, -0x7908
|
||||
/* 0AAFB8 800AA3B8 3C03800F */ lui $v1, %hi(gControllerPak1State) # $v1, 0x800f
|
||||
/* 0AAFBC 800AA3BC 246386F8 */ addiu $v1, %lo(gControllerPak1State) # addiu $v1, $v1, -0x7908
|
||||
/* 0AAFC0 800AA3C0 8FA80028 */ lw $t0, 0x28($sp)
|
||||
/* 0AAFC4 800AA3C4 10400008 */ beqz $v0, .L800AA3E8
|
||||
/* 0AAFC8 800AA3C8 8FA90020 */ lw $t1, 0x20($sp)
|
||||
|
|
@ -86,13 +86,13 @@ glabel L800AA334
|
|||
/* 0AB028 800AA428 AD190004 */ sw $t9, 4($t0)
|
||||
.L800AA42C:
|
||||
/* 0AB02C 800AA42C 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015
|
||||
/* 0AB030 800AA430 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019
|
||||
/* 0AB034 800AA434 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798
|
||||
/* 0AB030 800AA430 3C058019 */ lui $a1, %hi(gControllerPak1FileHandle) # $a1, 0x8019
|
||||
/* 0AB034 800AA434 24A5E868 */ addiu $a1, %lo(gControllerPak1FileHandle) # addiu $a1, $a1, -0x1798
|
||||
/* 0AB038 800AA438 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0AB03C 800AA43C 0C0339C8 */ jal osPfsInit
|
||||
/* 0AB040 800AA440 00003025 */ move $a2, $zero
|
||||
/* 0AB044 800AA444 3C03800F */ lui $v1, %hi(D_800E86F8) # $v1, 0x800f
|
||||
/* 0AB048 800AA448 246386F8 */ addiu $v1, %lo(D_800E86F8) # addiu $v1, $v1, -0x7908
|
||||
/* 0AB044 800AA444 3C03800F */ lui $v1, %hi(gControllerPak1State) # $v1, 0x800f
|
||||
/* 0AB048 800AA448 246386F8 */ addiu $v1, %lo(gControllerPak1State) # addiu $v1, $v1, -0x7908
|
||||
/* 0AB04C 800AA44C 10400013 */ beqz $v0, .L800AA49C
|
||||
/* 0AB050 800AA450 8FA80028 */ lw $t0, 0x28($sp)
|
||||
/* 0AB054 800AA454 24010001 */ li $at, 1
|
||||
|
|
@ -119,18 +119,18 @@ glabel L800AA334
|
|||
.L800AA49C:
|
||||
/* 0AB09C 800AA49C 240D0001 */ li $t5, 1
|
||||
/* 0AB0A0 800AA4A0 A06D0000 */ sb $t5, ($v1)
|
||||
/* 0AB0A4 800AA4A4 3C0E800F */ lui $t6, %hi(D_800F2E74) # $t6, 0x800f
|
||||
/* 0AB0A8 800AA4A8 3C0F8019 */ lui $t7, %hi(D_8018EB84) # $t7, 0x8019
|
||||
/* 0AB0AC 800AA4AC 25EFEB84 */ addiu $t7, %lo(D_8018EB84) # addiu $t7, $t7, -0x147c
|
||||
/* 0AB0B0 800AA4B0 25CE2E74 */ addiu $t6, %lo(D_800F2E74) # addiu $t6, $t6, 0x2e74
|
||||
/* 0AB0B4 800AA4B4 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AB0B8 800AA4B8 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AB0BC 800AA4BC 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AB0C0 800AA4C0 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AB0C4 800AA4C4 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AB0C8 800AA4C8 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AB0CC 800AA4CC 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AB0D0 800AA4D0 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AB0A4 800AA4A4 3C0E800F */ lui $t6, %hi(gExtCode) # $t6, 0x800f
|
||||
/* 0AB0A8 800AA4A8 3C0F8019 */ lui $t7, %hi(gControllerPak1FileNote) # $t7, 0x8019
|
||||
/* 0AB0AC 800AA4AC 25EFEB84 */ addiu $t7, %lo(gControllerPak1FileNote) # addiu $t7, $t7, -0x147c
|
||||
/* 0AB0B0 800AA4B0 25CE2E74 */ addiu $t6, %lo(gExtCode) # addiu $t6, $t6, 0x2e74
|
||||
/* 0AB0B4 800AA4B4 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AB0B8 800AA4B8 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AB0BC 800AA4BC 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AB0C0 800AA4C0 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AB0C4 800AA4C4 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AB0C8 800AA4C8 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AB0CC 800AA4CC 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AB0D0 800AA4D0 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AB0D4 800AA4D4 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0AB0D8 800AA4D8 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AB0DC 800AA4DC AFAF0014 */ sw $t7, 0x14($sp)
|
||||
|
|
@ -140,26 +140,26 @@ glabel L800AA334
|
|||
/* 0AB0EC 800AA4EC 10000032 */ b .L800AA5B8
|
||||
/* 0AB0F0 800AA4F0 AD180004 */ sw $t8, 4($t0)
|
||||
.L800AA4F4:
|
||||
/* 0AB0F4 800AA4F4 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AB0F8 800AA4F8 3C058019 */ lui $a1, %hi(D_8018EB78) # $a1, 0x8019
|
||||
/* 0AB0FC 800AA4FC 3C068019 */ lui $a2, %hi(D_8018EB7C) # $a2, 0x8019
|
||||
/* 0AB100 800AA500 24C6EB7C */ addiu $a2, %lo(D_8018EB7C) # addiu $a2, $a2, -0x1484
|
||||
/* 0AB104 800AA504 24A5EB78 */ addiu $a1, %lo(D_8018EB78) # addiu $a1, $a1, -0x1488
|
||||
/* 0AB0F4 800AA4F4 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AB0F8 800AA4F8 3C058019 */ lui $a1, %hi(gControllerPak1NumFilesUsed) # $a1, 0x8019
|
||||
/* 0AB0FC 800AA4FC 3C068019 */ lui $a2, %hi(gControllerPak1MaxWriteableFiles) # $a2, 0x8019
|
||||
/* 0AB100 800AA500 24C6EB7C */ addiu $a2, %lo(gControllerPak1MaxWriteableFiles) # addiu $a2, $a2, -0x1484
|
||||
/* 0AB104 800AA504 24A5EB78 */ addiu $a1, %lo(gControllerPak1NumFilesUsed) # addiu $a1, $a1, -0x1488
|
||||
/* 0AB108 800AA508 0C033A38 */ jal osPfsNumFiles
|
||||
/* 0AB10C 800AA50C 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AB10C 800AA50C 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AB110 800AA510 10400004 */ beqz $v0, .L800AA524
|
||||
/* 0AB114 800AA514 8FA80028 */ lw $t0, 0x28($sp)
|
||||
/* 0AB118 800AA518 24190003 */ li $t9, 3
|
||||
/* 0AB11C 800AA51C 10000026 */ b .L800AA5B8
|
||||
/* 0AB120 800AA520 AD190004 */ sw $t9, 4($t0)
|
||||
.L800AA524:
|
||||
/* 0AB124 800AA524 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AB128 800AA528 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019
|
||||
/* 0AB12C 800AA52C 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480
|
||||
/* 0AB124 800AA524 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AB128 800AA528 3C058019 */ lui $a1, %hi(gControllerPak1NumPagesFree) # $a1, 0x8019
|
||||
/* 0AB12C 800AA52C 24A5EB80 */ addiu $a1, %lo(gControllerPak1NumPagesFree) # addiu $a1, $a1, -0x1480
|
||||
/* 0AB130 800AA530 0C033B48 */ jal osPfsFreeBlocks
|
||||
/* 0AB134 800AA534 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AB138 800AA538 3C038019 */ lui $v1, %hi(gControllerPakNumPagesFree) # $v1, 0x8019
|
||||
/* 0AB13C 800AA53C 2463EB80 */ addiu $v1, %lo(gControllerPakNumPagesFree) # addiu $v1, $v1, -0x1480
|
||||
/* 0AB134 800AA534 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AB138 800AA538 3C038019 */ lui $v1, %hi(gControllerPak1NumPagesFree) # $v1, 0x8019
|
||||
/* 0AB13C 800AA53C 2463EB80 */ addiu $v1, %lo(gControllerPak1NumPagesFree) # addiu $v1, $v1, -0x1480
|
||||
/* 0AB140 800AA540 10400004 */ beqz $v0, .L800AA554
|
||||
/* 0AB144 800AA544 8FA80028 */ lw $t0, 0x28($sp)
|
||||
/* 0AB148 800AA548 240A0003 */ li $t2, 3
|
||||
|
|
@ -170,12 +170,12 @@ glabel L800AA334
|
|||
/* 0AB158 800AA558 000B6203 */ sra $t4, $t3, 8
|
||||
/* 0AB15C 800AA55C AC6C0000 */ sw $t4, ($v1)
|
||||
.L800AA560:
|
||||
/* 0AB160 800AA560 3C0D8019 */ lui $t5, %hi(D_8018EB7C) # $t5, 0x8019
|
||||
/* 0AB164 800AA564 3C0E8019 */ lui $t6, %hi(D_8018EB78) # $t6, 0x8019
|
||||
/* 0AB168 800AA568 8DCEEB78 */ lw $t6, %lo(D_8018EB78)($t6)
|
||||
/* 0AB16C 800AA56C 8DADEB7C */ lw $t5, %lo(D_8018EB7C)($t5)
|
||||
/* 0AB170 800AA570 3C038019 */ lui $v1, %hi(gControllerPakNumPagesFree) # $v1, 0x8019
|
||||
/* 0AB174 800AA574 2463EB80 */ addiu $v1, %lo(gControllerPakNumPagesFree) # addiu $v1, $v1, -0x1480
|
||||
/* 0AB160 800AA560 3C0D8019 */ lui $t5, %hi(gControllerPak1MaxWriteableFiles) # $t5, 0x8019
|
||||
/* 0AB164 800AA564 3C0E8019 */ lui $t6, %hi(gControllerPak1NumFilesUsed) # $t6, 0x8019
|
||||
/* 0AB168 800AA568 8DCEEB78 */ lw $t6, %lo(gControllerPak1NumFilesUsed)($t6)
|
||||
/* 0AB16C 800AA56C 8DADEB7C */ lw $t5, %lo(gControllerPak1MaxWriteableFiles)($t5)
|
||||
/* 0AB170 800AA570 3C038019 */ lui $v1, %hi(gControllerPak1NumPagesFree) # $v1, 0x8019
|
||||
/* 0AB174 800AA574 2463EB80 */ addiu $v1, %lo(gControllerPak1NumPagesFree) # addiu $v1, $v1, -0x1480
|
||||
/* 0AB178 800AA578 01AE082A */ slt $at, $t5, $t6
|
||||
/* 0AB17C 800AA57C 14200004 */ bnez $at, .L800AA590
|
||||
/* 0AB180 800AA580 8FB80028 */ lw $t8, 0x28($sp)
|
||||
|
|
|
|||
|
|
@ -200,12 +200,12 @@ glabel L800AD438
|
|||
/* 0AE1C8 800AD5C8 30AF9000 */ andi $t7, $a1, 0x9000
|
||||
.L800AD5CC:
|
||||
/* 0AE1CC 800AD5CC 11E00259 */ beqz $t7, .L800ADF34
|
||||
/* 0AE1D0 800AD5D0 3C18800F */ lui $t8, %hi(D_800E86F8) # $t8, 0x800f
|
||||
/* 0AE1D0 800AD5D0 3C18800F */ lui $t8, %hi(gControllerPak1State) # $t8, 0x800f
|
||||
/* 0AE1D4 800AD5D4 8E020004 */ lw $v0, 4($s0)
|
||||
/* 0AE1D8 800AD5D8 2401000A */ li $at, 10
|
||||
/* 0AE1DC 800AD5DC 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AE1DC 800AD5DC 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AE1E0 800AD5E0 144100A7 */ bne $v0, $at, .L800AD880
|
||||
/* 0AE1E4 800AD5E4 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AE1E4 800AD5E4 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AE1E8 800AD5E8 C6100024 */ lwc1 $f16, 0x24($s0)
|
||||
/* 0AE1EC 800AD5EC 3C01800F */ lui $at, %hi(D_800F27E0)
|
||||
/* 0AE1F0 800AD5F0 D43227E0 */ ldc1 $f18, %lo(D_800F27E0)($at)
|
||||
|
|
@ -213,10 +213,10 @@ glabel L800AD438
|
|||
/* 0AE1F8 800AD5F8 00001825 */ move $v1, $zero
|
||||
/* 0AE1FC 800AD5FC 4632003C */ c.lt.d $f0, $f18
|
||||
/* 0AE200 800AD600 3C014010 */ li $at, 0x40100000 # 2.250000
|
||||
/* 0AE204 800AD604 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AE208 800AD608 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AE204 800AD604 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AE208 800AD608 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AE20C 800AD60C 45000007 */ bc1f .L800AD62C
|
||||
/* 0AE210 800AD610 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AE210 800AD610 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AE214 800AD614 44812800 */ mtc1 $at, $f5
|
||||
/* 0AE218 800AD618 44802000 */ mtc1 $zero, $f4
|
||||
/* 0AE21C 800AD61C 00000000 */ nop
|
||||
|
|
@ -224,16 +224,16 @@ glabel L800AD438
|
|||
/* 0AE224 800AD624 46203220 */ cvt.s.d $f8, $f6
|
||||
/* 0AE228 800AD628 E6080024 */ swc1 $f8, 0x24($s0)
|
||||
.L800AD62C:
|
||||
/* 0AE22C 800AD62C 831886F8 */ lb $t8, %lo(D_800E86F8)($t8)
|
||||
/* 0AE230 800AD630 3C19800F */ lui $t9, %hi(D_800F2E74) # $t9, 0x800f
|
||||
/* 0AE234 800AD634 27392E74 */ addiu $t9, %lo(D_800F2E74) # addiu $t9, $t9, 0x2e74
|
||||
/* 0AE22C 800AD62C 831886F8 */ lb $t8, %lo(gControllerPak1State)($t8)
|
||||
/* 0AE230 800AD630 3C19800F */ lui $t9, %hi(gExtCode) # $t9, 0x800f
|
||||
/* 0AE234 800AD634 27392E74 */ addiu $t9, %lo(gExtCode) # addiu $t9, $t9, 0x2e74
|
||||
/* 0AE238 800AD638 13000026 */ beqz $t8, .L800AD6D4
|
||||
/* 0AE23C 800AD63C 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AE240 800AD640 3C088019 */ lui $t0, %hi(D_8018EB84) # $t0, 0x8019
|
||||
/* 0AE244 800AD644 2508EB84 */ addiu $t0, %lo(D_8018EB84) # addiu $t0, $t0, -0x147c
|
||||
/* 0AE23C 800AD63C 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AE240 800AD640 3C088019 */ lui $t0, %hi(gControllerPak1FileNote) # $t0, 0x8019
|
||||
/* 0AE244 800AD644 2508EB84 */ addiu $t0, %lo(gControllerPak1FileNote) # addiu $t0, $t0, -0x147c
|
||||
/* 0AE248 800AD648 AFA80014 */ sw $t0, 0x14($sp)
|
||||
/* 0AE24C 800AD64C 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AE250 800AD650 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AE24C 800AD64C 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AE250 800AD650 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AE254 800AD654 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 0AE258 800AD658 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AE25C 800AD65C AFA30028 */ sw $v1, 0x28($sp)
|
||||
|
|
@ -243,9 +243,9 @@ glabel L800AD438
|
|||
/* 0AE26C 800AD66C 10410017 */ beq $v0, $at, .L800AD6CC
|
||||
/* 0AE270 800AD670 24010005 */ li $at, 5
|
||||
/* 0AE274 800AD674 10410017 */ beq $v0, $at, .L800AD6D4
|
||||
/* 0AE278 800AD678 3C01800F */ lui $at, %hi(D_800E86F8) # $at, 0x800f
|
||||
/* 0AE278 800AD678 3C01800F */ lui $at, %hi(gControllerPak1State) # $at, 0x800f
|
||||
/* 0AE27C 800AD67C 10000015 */ b .L800AD6D4
|
||||
/* 0AE280 800AD680 A02086F8 */ sb $zero, %lo(D_800E86F8)($at)
|
||||
/* 0AE280 800AD680 A02086F8 */ sb $zero, %lo(gControllerPak1State)($at)
|
||||
.L800AD684:
|
||||
/* 0AE284 800AD684 0C02D9C2 */ jal func_800B6708
|
||||
/* 0AE288 800AD688 00000000 */ nop
|
||||
|
|
@ -266,12 +266,12 @@ glabel L800AD438
|
|||
/* 0AE2C4 800AD6C4 10000003 */ b .L800AD6D4
|
||||
/* 0AE2C8 800AD6C8 8FA30028 */ lw $v1, 0x28($sp)
|
||||
.L800AD6CC:
|
||||
/* 0AE2CC 800AD6CC 3C01800F */ lui $at, %hi(D_800E86F8) # $at, 0x800f
|
||||
/* 0AE2D0 800AD6D0 A02086F8 */ sb $zero, %lo(D_800E86F8)($at)
|
||||
/* 0AE2CC 800AD6CC 3C01800F */ lui $at, %hi(gControllerPak1State) # $at, 0x800f
|
||||
/* 0AE2D0 800AD6D0 A02086F8 */ sb $zero, %lo(gControllerPak1State)($at)
|
||||
.L800AD6D4:
|
||||
/* 0AE2D4 800AD6D4 14600217 */ bnez $v1, .L800ADF34
|
||||
/* 0AE2D8 800AD6D8 3C0D800F */ lui $t5, %hi(D_800E86F8) # $t5, 0x800f
|
||||
/* 0AE2DC 800AD6DC 81AD86F8 */ lb $t5, %lo(D_800E86F8)($t5)
|
||||
/* 0AE2D8 800AD6D8 3C0D800F */ lui $t5, %hi(gControllerPak1State) # $t5, 0x800f
|
||||
/* 0AE2DC 800AD6DC 81AD86F8 */ lb $t5, %lo(gControllerPak1State)($t5)
|
||||
/* 0AE2E0 800AD6E0 15A00047 */ bnez $t5, .L800AD800
|
||||
/* 0AE2E4 800AD6E4 00000000 */ nop
|
||||
/* 0AE2E8 800AD6E8 0C02D7CC */ jal func_800B5F30
|
||||
|
|
@ -314,27 +314,27 @@ glabel L800AD758
|
|||
.L800AD764:
|
||||
glabel L800AD764
|
||||
/* 0AE364 800AD764 10600006 */ beqz $v1, .L800AD780
|
||||
/* 0AE368 800AD768 3C048019 */ lui $a0, %hi(D_8018E868)
|
||||
/* 0AE368 800AD768 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle)
|
||||
/* 0AE36C 800AD76C 3C044900 */ lui $a0, (0x4900FF07 >> 16) # $a0, 0x4900
|
||||
/* 0AE370 800AD770 0C032384 */ jal play_sound2
|
||||
/* 0AE374 800AD774 3484FF07 */ ori $a0, (0x4900FF07 & 0xFFFF) # ori $a0, $a0, 0xff07
|
||||
/* 0AE378 800AD778 100001EF */ b .L800ADF38
|
||||
/* 0AE37C 800AD77C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800AD780:
|
||||
/* 0AE380 800AD780 3C0A800F */ lui $t2, %hi(D_800F2E74) # $t2, 0x800f
|
||||
/* 0AE384 800AD784 3C0B8019 */ lui $t3, %hi(D_8018EB84) # $t3, 0x8019
|
||||
/* 0AE388 800AD788 256BEB84 */ addiu $t3, %lo(D_8018EB84) # addiu $t3, $t3, -0x147c
|
||||
/* 0AE38C 800AD78C 254A2E74 */ addiu $t2, %lo(D_800F2E74) # addiu $t2, $t2, 0x2e74
|
||||
/* 0AE390 800AD790 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AE394 800AD794 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AE398 800AD798 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AE39C 800AD79C 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AE3A0 800AD7A0 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AE3A4 800AD7A4 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AE380 800AD780 3C0A800F */ lui $t2, %hi(gExtCode) # $t2, 0x800f
|
||||
/* 0AE384 800AD784 3C0B8019 */ lui $t3, %hi(gControllerPak1FileNote) # $t3, 0x8019
|
||||
/* 0AE388 800AD788 256BEB84 */ addiu $t3, %lo(gControllerPak1FileNote) # addiu $t3, $t3, -0x147c
|
||||
/* 0AE38C 800AD78C 254A2E74 */ addiu $t2, %lo(gExtCode) # addiu $t2, $t2, 0x2e74
|
||||
/* 0AE390 800AD790 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AE394 800AD794 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AE398 800AD798 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AE39C 800AD79C 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AE3A0 800AD7A0 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AE3A4 800AD7A4 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AE3A8 800AD7A8 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 0AE3AC 800AD7AC AFAB0014 */ sw $t3, 0x14($sp)
|
||||
/* 0AE3B0 800AD7B0 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AE3B4 800AD7B4 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AE3B4 800AD7B4 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AE3B8 800AD7B8 14400011 */ bnez $v0, .L800AD800
|
||||
/* 0AE3BC 800AD7BC 00000000 */ nop
|
||||
/* 0AE3C0 800AD7C0 0C02D9C2 */ jal func_800B6708
|
||||
|
|
@ -354,22 +354,22 @@ glabel L800AD764
|
|||
/* 0AE3F8 800AD7F8 100001CF */ b .L800ADF38
|
||||
/* 0AE3FC 800AD7FC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800AD800:
|
||||
/* 0AE400 800AD800 3C188019 */ lui $t8, %hi(D_8018EB7C) # $t8, 0x8019
|
||||
/* 0AE404 800AD804 3C198019 */ lui $t9, %hi(D_8018EB78) # $t9, 0x8019
|
||||
/* 0AE408 800AD808 8F39EB78 */ lw $t9, %lo(D_8018EB78)($t9)
|
||||
/* 0AE40C 800AD80C 8F18EB7C */ lw $t8, %lo(D_8018EB7C)($t8)
|
||||
/* 0AE400 800AD800 3C188019 */ lui $t8, %hi(gControllerPak1MaxWriteableFiles) # $t8, 0x8019
|
||||
/* 0AE404 800AD804 3C198019 */ lui $t9, %hi(gControllerPak1NumFilesUsed) # $t9, 0x8019
|
||||
/* 0AE408 800AD808 8F39EB78 */ lw $t9, %lo(gControllerPak1NumFilesUsed)($t9)
|
||||
/* 0AE40C 800AD80C 8F18EB7C */ lw $t8, %lo(gControllerPak1MaxWriteableFiles)($t8)
|
||||
/* 0AE410 800AD810 2408000E */ li $t0, 14
|
||||
/* 0AE414 800AD814 3C044900 */ lui $a0, (0x4900FF07 >> 16) # lui $a0, 0x4900
|
||||
/* 0AE418 800AD818 0319082A */ slt $at, $t8, $t9
|
||||
/* 0AE41C 800AD81C 14200006 */ bnez $at, .L800AD838
|
||||
/* 0AE420 800AD820 3C098019 */ lui $t1, %hi(gControllerPakNumPagesFree) # $t1, 0x8019
|
||||
/* 0AE420 800AD820 3C098019 */ lui $t1, %hi(gControllerPak1NumPagesFree) # $t1, 0x8019
|
||||
/* 0AE424 800AD824 AE080004 */ sw $t0, 4($s0)
|
||||
/* 0AE428 800AD828 0C032384 */ jal play_sound2
|
||||
/* 0AE42C 800AD82C 3484FF07 */ ori $a0, (0x4900FF07 & 0xFFFF) # ori $a0, $a0, 0xff07
|
||||
/* 0AE430 800AD830 100001C1 */ b .L800ADF38
|
||||
/* 0AE434 800AD834 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800AD838:
|
||||
/* 0AE438 800AD838 8D29EB80 */ lw $t1, %lo(gControllerPakNumPagesFree)($t1)
|
||||
/* 0AE438 800AD838 8D29EB80 */ lw $t1, %lo(gControllerPak1NumPagesFree)($t1)
|
||||
/* 0AE43C 800AD83C 3C044900 */ lui $a0, (0x4900FF07 >> 16) # lui $a0, 0x4900
|
||||
/* 0AE440 800AD840 240B000E */ li $t3, 14
|
||||
/* 0AE444 800AD844 29210079 */ slti $at, $t1, 0x79
|
||||
|
|
@ -727,19 +727,19 @@ glabel L800ADBA4
|
|||
glabel L800ADD64
|
||||
/* 0AE964 800ADD64 8E08001C */ lw $t0, 0x1c($s0)
|
||||
/* 0AE968 800ADD68 24010001 */ li $at, 1
|
||||
/* 0AE96C 800ADD6C 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AE96C 800ADD6C 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AE970 800ADD70 15010020 */ bne $t0, $at, .L800ADDF4
|
||||
/* 0AE974 800ADD74 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AE978 800ADD78 3C09800F */ lui $t1, %hi(D_800F2E74) # $t1, 0x800f
|
||||
/* 0AE97C 800ADD7C 3C0A8019 */ lui $t2, %hi(D_8018EB84) # $t2, 0x8019
|
||||
/* 0AE980 800ADD80 254AEB84 */ addiu $t2, %lo(D_8018EB84) # addiu $t2, $t2, -0x147c
|
||||
/* 0AE984 800ADD84 25292E74 */ addiu $t1, %lo(D_800F2E74) # addiu $t1, $t1, 0x2e74
|
||||
/* 0AE988 800ADD88 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AE98C 800ADD8C 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AE990 800ADD90 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AE994 800ADD94 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AE998 800ADD98 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AE99C 800ADD9C 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AE974 800ADD74 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AE978 800ADD78 3C09800F */ lui $t1, %hi(gExtCode) # $t1, 0x800f
|
||||
/* 0AE97C 800ADD7C 3C0A8019 */ lui $t2, %hi(gControllerPak1FileNote) # $t2, 0x8019
|
||||
/* 0AE980 800ADD80 254AEB84 */ addiu $t2, %lo(gControllerPak1FileNote) # addiu $t2, $t2, -0x147c
|
||||
/* 0AE984 800ADD84 25292E74 */ addiu $t1, %lo(gExtCode) # addiu $t1, $t1, 0x2e74
|
||||
/* 0AE988 800ADD88 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AE98C 800ADD8C 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AE990 800ADD90 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AE994 800ADD94 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AE998 800ADD98 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AE99C 800ADD9C 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AE9A0 800ADDA0 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 0AE9A4 800ADDA4 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AE9A8 800ADDA8 AFAA0014 */ sw $t2, 0x14($sp)
|
||||
|
|
|
|||
|
|
@ -135,12 +135,12 @@ glabel L800AE2E8
|
|||
/* 0AF000 800AE400 30989000 */ andi $t8, $a0, 0x9000
|
||||
.L800AE404:
|
||||
/* 0AF004 800AE404 1300020E */ beqz $t8, .L800AEC40
|
||||
/* 0AF008 800AE408 3C08800F */ lui $t0, %hi(D_800E86F8) # $t0, 0x800f
|
||||
/* 0AF008 800AE408 3C08800F */ lui $t0, %hi(gControllerPak1State) # $t0, 0x800f
|
||||
/* 0AF00C 800AE40C 8E190004 */ lw $t9, 4($s0)
|
||||
/* 0AF010 800AE410 24010010 */ li $at, 16
|
||||
/* 0AF014 800AE414 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AF014 800AE414 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AF018 800AE418 172100A7 */ bne $t9, $at, .L800AE6B8
|
||||
/* 0AF01C 800AE41C 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AF01C 800AE41C 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AF020 800AE420 C6100024 */ lwc1 $f16, 0x24($s0)
|
||||
/* 0AF024 800AE424 3C01800F */ lui $at, %hi(D_800F2A00)
|
||||
/* 0AF028 800AE428 D4322A00 */ ldc1 $f18, %lo(D_800F2A00)($at)
|
||||
|
|
@ -148,10 +148,10 @@ glabel L800AE2E8
|
|||
/* 0AF030 800AE430 00001825 */ move $v1, $zero
|
||||
/* 0AF034 800AE434 4632003C */ c.lt.d $f0, $f18
|
||||
/* 0AF038 800AE438 3C014010 */ li $at, 0x40100000 # 2.250000
|
||||
/* 0AF03C 800AE43C 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AF040 800AE440 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AF03C 800AE43C 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AF040 800AE440 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AF044 800AE444 45000007 */ bc1f .L800AE464
|
||||
/* 0AF048 800AE448 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AF048 800AE448 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AF04C 800AE44C 44812800 */ mtc1 $at, $f5
|
||||
/* 0AF050 800AE450 44802000 */ mtc1 $zero, $f4
|
||||
/* 0AF054 800AE454 00000000 */ nop
|
||||
|
|
@ -159,16 +159,16 @@ glabel L800AE2E8
|
|||
/* 0AF05C 800AE45C 46203220 */ cvt.s.d $f8, $f6
|
||||
/* 0AF060 800AE460 E6080024 */ swc1 $f8, 0x24($s0)
|
||||
.L800AE464:
|
||||
/* 0AF064 800AE464 810886F8 */ lb $t0, %lo(D_800E86F8)($t0)
|
||||
/* 0AF068 800AE468 3C09800F */ lui $t1, %hi(D_800F2E74) # $t1, 0x800f
|
||||
/* 0AF06C 800AE46C 25292E74 */ addiu $t1, %lo(D_800F2E74) # addiu $t1, $t1, 0x2e74
|
||||
/* 0AF064 800AE464 810886F8 */ lb $t0, %lo(gControllerPak1State)($t0)
|
||||
/* 0AF068 800AE468 3C09800F */ lui $t1, %hi(gExtCode) # $t1, 0x800f
|
||||
/* 0AF06C 800AE46C 25292E74 */ addiu $t1, %lo(gExtCode) # addiu $t1, $t1, 0x2e74
|
||||
/* 0AF070 800AE470 11000021 */ beqz $t0, .L800AE4F8
|
||||
/* 0AF074 800AE474 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AF078 800AE478 3C0A8019 */ lui $t2, %hi(D_8018EB84) # $t2, 0x8019
|
||||
/* 0AF07C 800AE47C 254AEB84 */ addiu $t2, %lo(D_8018EB84) # addiu $t2, $t2, -0x147c
|
||||
/* 0AF074 800AE474 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AF078 800AE478 3C0A8019 */ lui $t2, %hi(gControllerPak1FileNote) # $t2, 0x8019
|
||||
/* 0AF07C 800AE47C 254AEB84 */ addiu $t2, %lo(gControllerPak1FileNote) # addiu $t2, $t2, -0x147c
|
||||
/* 0AF080 800AE480 AFAA0014 */ sw $t2, 0x14($sp)
|
||||
/* 0AF084 800AE484 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AF088 800AE488 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AF084 800AE484 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AF088 800AE488 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AF08C 800AE48C AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 0AF090 800AE490 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AF094 800AE494 AFA30028 */ sw $v1, 0x28($sp)
|
||||
|
|
@ -178,9 +178,9 @@ glabel L800AE2E8
|
|||
/* 0AF0A4 800AE4A4 10410012 */ beq $v0, $at, .L800AE4F0
|
||||
/* 0AF0A8 800AE4A8 24010005 */ li $at, 5
|
||||
/* 0AF0AC 800AE4AC 10410012 */ beq $v0, $at, .L800AE4F8
|
||||
/* 0AF0B0 800AE4B0 3C01800F */ lui $at, %hi(D_800E86F8) # $at, 0x800f
|
||||
/* 0AF0B0 800AE4B0 3C01800F */ lui $at, %hi(gControllerPak1State) # $at, 0x800f
|
||||
/* 0AF0B4 800AE4B4 10000010 */ b .L800AE4F8
|
||||
/* 0AF0B8 800AE4B8 A02086F8 */ sb $zero, %lo(D_800E86F8)($at)
|
||||
/* 0AF0B8 800AE4B8 A02086F8 */ sb $zero, %lo(gControllerPak1State)($at)
|
||||
.L800AE4BC:
|
||||
/* 0AF0BC 800AE4BC 0C02D9C2 */ jal func_800B6708
|
||||
/* 0AF0C0 800AE4C0 00000000 */ nop
|
||||
|
|
@ -196,18 +196,18 @@ glabel L800AE2E8
|
|||
/* 0AF0E8 800AE4E8 10000003 */ b .L800AE4F8
|
||||
/* 0AF0EC 800AE4EC 24030001 */ li $v1, 1
|
||||
.L800AE4F0:
|
||||
/* 0AF0F0 800AE4F0 3C01800F */ lui $at, %hi(D_800E86F8) # $at, 0x800f
|
||||
/* 0AF0F4 800AE4F4 A02086F8 */ sb $zero, %lo(D_800E86F8)($at)
|
||||
/* 0AF0F0 800AE4F0 3C01800F */ lui $at, %hi(gControllerPak1State) # $at, 0x800f
|
||||
/* 0AF0F4 800AE4F4 A02086F8 */ sb $zero, %lo(gControllerPak1State)($at)
|
||||
.L800AE4F8:
|
||||
/* 0AF0F8 800AE4F8 10600006 */ beqz $v1, .L800AE514
|
||||
/* 0AF0FC 800AE4FC 3C0F800F */ lui $t7, %hi(D_800E86F8) # $t7, 0x800f
|
||||
/* 0AF0FC 800AE4FC 3C0F800F */ lui $t7, %hi(gControllerPak1State) # $t7, 0x800f
|
||||
/* 0AF100 800AE500 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900
|
||||
/* 0AF104 800AE504 0C032384 */ jal play_sound2
|
||||
/* 0AF108 800AE508 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001
|
||||
/* 0AF10C 800AE50C 100001CD */ b .L800AEC44
|
||||
/* 0AF110 800AE510 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800AE514:
|
||||
/* 0AF114 800AE514 81EF86F8 */ lb $t7, %lo(D_800E86F8)($t7)
|
||||
/* 0AF114 800AE514 81EF86F8 */ lb $t7, %lo(gControllerPak1State)($t7)
|
||||
/* 0AF118 800AE518 15E00047 */ bnez $t7, .L800AE638
|
||||
/* 0AF11C 800AE51C 00000000 */ nop
|
||||
/* 0AF120 800AE520 0C02D7CC */ jal func_800B5F30
|
||||
|
|
@ -250,27 +250,27 @@ glabel L800AE590
|
|||
.L800AE59C:
|
||||
glabel L800AE59C
|
||||
/* 0AF19C 800AE59C 10600006 */ beqz $v1, .L800AE5B8
|
||||
/* 0AF1A0 800AE5A0 3C048019 */ lui $a0, %hi(D_8018E868)
|
||||
/* 0AF1A0 800AE5A0 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle)
|
||||
/* 0AF1A4 800AE5A4 3C044900 */ lui $a0, (0x4900FF07 >> 16) # $a0, 0x4900
|
||||
/* 0AF1A8 800AE5A8 0C032384 */ jal play_sound2
|
||||
/* 0AF1AC 800AE5AC 3484FF07 */ ori $a0, (0x4900FF07 & 0xFFFF) # ori $a0, $a0, 0xff07
|
||||
/* 0AF1B0 800AE5B0 100001A4 */ b .L800AEC44
|
||||
/* 0AF1B4 800AE5B4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800AE5B8:
|
||||
/* 0AF1B8 800AE5B8 3C0C800F */ lui $t4, %hi(D_800F2E74) # $t4, 0x800f
|
||||
/* 0AF1BC 800AE5BC 3C0D8019 */ lui $t5, %hi(D_8018EB84) # $t5, 0x8019
|
||||
/* 0AF1C0 800AE5C0 25ADEB84 */ addiu $t5, %lo(D_8018EB84) # addiu $t5, $t5, -0x147c
|
||||
/* 0AF1C4 800AE5C4 258C2E74 */ addiu $t4, %lo(D_800F2E74) # addiu $t4, $t4, 0x2e74
|
||||
/* 0AF1C8 800AE5C8 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AF1CC 800AE5CC 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AF1D0 800AE5D0 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AF1D4 800AE5D4 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AF1D8 800AE5D8 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AF1DC 800AE5DC 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AF1B8 800AE5B8 3C0C800F */ lui $t4, %hi(gExtCode) # $t4, 0x800f
|
||||
/* 0AF1BC 800AE5BC 3C0D8019 */ lui $t5, %hi(gControllerPak1FileNote) # $t5, 0x8019
|
||||
/* 0AF1C0 800AE5C0 25ADEB84 */ addiu $t5, %lo(gControllerPak1FileNote) # addiu $t5, $t5, -0x147c
|
||||
/* 0AF1C4 800AE5C4 258C2E74 */ addiu $t4, %lo(gExtCode) # addiu $t4, $t4, 0x2e74
|
||||
/* 0AF1C8 800AE5C8 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AF1CC 800AE5CC 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AF1D0 800AE5D0 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AF1D4 800AE5D4 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AF1D8 800AE5D8 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AF1DC 800AE5DC 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AF1E0 800AE5E0 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 0AF1E4 800AE5E4 AFAD0014 */ sw $t5, 0x14($sp)
|
||||
/* 0AF1E8 800AE5E8 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AF1EC 800AE5EC 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AF1EC 800AE5EC 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AF1F0 800AE5F0 14400011 */ bnez $v0, .L800AE638
|
||||
/* 0AF1F4 800AE5F4 00000000 */ nop
|
||||
/* 0AF1F8 800AE5F8 0C02D9C2 */ jal func_800B6708
|
||||
|
|
@ -290,22 +290,22 @@ glabel L800AE59C
|
|||
/* 0AF230 800AE630 10000184 */ b .L800AEC44
|
||||
/* 0AF234 800AE634 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800AE638:
|
||||
/* 0AF238 800AE638 3C088019 */ lui $t0, %hi(D_8018EB7C) # $t0, 0x8019
|
||||
/* 0AF23C 800AE63C 3C098019 */ lui $t1, %hi(D_8018EB78) # $t1, 0x8019
|
||||
/* 0AF240 800AE640 8D29EB78 */ lw $t1, %lo(D_8018EB78)($t1)
|
||||
/* 0AF244 800AE644 8D08EB7C */ lw $t0, %lo(D_8018EB7C)($t0)
|
||||
/* 0AF238 800AE638 3C088019 */ lui $t0, %hi(gControllerPak1MaxWriteableFiles) # $t0, 0x8019
|
||||
/* 0AF23C 800AE63C 3C098019 */ lui $t1, %hi(gControllerPak1NumFilesUsed) # $t1, 0x8019
|
||||
/* 0AF240 800AE640 8D29EB78 */ lw $t1, %lo(gControllerPak1NumFilesUsed)($t1)
|
||||
/* 0AF244 800AE644 8D08EB7C */ lw $t0, %lo(gControllerPak1MaxWriteableFiles)($t0)
|
||||
/* 0AF248 800AE648 240A0018 */ li $t2, 24
|
||||
/* 0AF24C 800AE64C 3C044900 */ lui $a0, (0x4900FF07 >> 16) # lui $a0, 0x4900
|
||||
/* 0AF250 800AE650 0109082A */ slt $at, $t0, $t1
|
||||
/* 0AF254 800AE654 14200006 */ bnez $at, .L800AE670
|
||||
/* 0AF258 800AE658 3C0B8019 */ lui $t3, %hi(gControllerPakNumPagesFree) # $t3, 0x8019
|
||||
/* 0AF258 800AE658 3C0B8019 */ lui $t3, %hi(gControllerPak1NumPagesFree) # $t3, 0x8019
|
||||
/* 0AF25C 800AE65C AE0A0004 */ sw $t2, 4($s0)
|
||||
/* 0AF260 800AE660 0C032384 */ jal play_sound2
|
||||
/* 0AF264 800AE664 3484FF07 */ ori $a0, (0x4900FF07 & 0xFFFF) # ori $a0, $a0, 0xff07
|
||||
/* 0AF268 800AE668 10000176 */ b .L800AEC44
|
||||
/* 0AF26C 800AE66C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800AE670:
|
||||
/* 0AF270 800AE670 8D6BEB80 */ lw $t3, %lo(gControllerPakNumPagesFree)($t3)
|
||||
/* 0AF270 800AE670 8D6BEB80 */ lw $t3, %lo(gControllerPak1NumPagesFree)($t3)
|
||||
/* 0AF274 800AE674 3C044900 */ lui $a0, (0x4900FF07 >> 16) # lui $a0, 0x4900
|
||||
/* 0AF278 800AE678 240D0018 */ li $t5, 24
|
||||
/* 0AF27C 800AE67C 29610079 */ slti $at, $t3, 0x79
|
||||
|
|
@ -661,19 +661,19 @@ glabel L800AE9D4
|
|||
glabel L800AEB94
|
||||
/* 0AF794 800AEB94 8E08001C */ lw $t0, 0x1c($s0)
|
||||
/* 0AF798 800AEB98 24010001 */ li $at, 1
|
||||
/* 0AF79C 800AEB9C 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0AF79C 800AEB9C 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0AF7A0 800AEBA0 15010020 */ bne $t0, $at, .L800AEC24
|
||||
/* 0AF7A4 800AEBA4 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0AF7A8 800AEBA8 3C09800F */ lui $t1, %hi(D_800F2E74) # $t1, 0x800f
|
||||
/* 0AF7AC 800AEBAC 3C0A8019 */ lui $t2, %hi(D_8018EB84) # $t2, 0x8019
|
||||
/* 0AF7B0 800AEBB0 254AEB84 */ addiu $t2, %lo(D_8018EB84) # addiu $t2, $t2, -0x147c
|
||||
/* 0AF7B4 800AEBB4 25292E74 */ addiu $t1, %lo(D_800F2E74) # addiu $t1, $t1, 0x2e74
|
||||
/* 0AF7B8 800AEBB8 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0AF7BC 800AEBBC 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0AF7C0 800AEBC0 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0AF7C4 800AEBC4 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AF7C8 800AEBC8 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0AF7CC 800AEBCC 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0AF7A4 800AEBA4 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0AF7A8 800AEBA8 3C09800F */ lui $t1, %hi(gExtCode) # $t1, 0x800f
|
||||
/* 0AF7AC 800AEBAC 3C0A8019 */ lui $t2, %hi(gControllerPak1FileNote) # $t2, 0x8019
|
||||
/* 0AF7B0 800AEBB0 254AEB84 */ addiu $t2, %lo(gControllerPak1FileNote) # addiu $t2, $t2, -0x147c
|
||||
/* 0AF7B4 800AEBB4 25292E74 */ addiu $t1, %lo(gExtCode) # addiu $t1, $t1, 0x2e74
|
||||
/* 0AF7B8 800AEBB8 3C05800F */ lui $a1, %hi(gCompanyCode) # $a1, 0x800f
|
||||
/* 0AF7BC 800AEBBC 3C06800F */ lui $a2, %hi(gGameCode) # $a2, 0x800f
|
||||
/* 0AF7C0 800AEBC0 3C07800F */ lui $a3, %hi(gGameName) # $a3, 0x800f
|
||||
/* 0AF7C4 800AEBC4 24E72E64 */ addiu $a3, %lo(gGameName) # addiu $a3, $a3, 0x2e64
|
||||
/* 0AF7C8 800AEBC8 8CC686F4 */ lw $a2, %lo(gGameCode)($a2)
|
||||
/* 0AF7CC 800AEBCC 94A586F0 */ lhu $a1, %lo(gCompanyCode)($a1)
|
||||
/* 0AF7D0 800AEBD0 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 0AF7D4 800AEBD4 0C033E20 */ jal osPfsFindFile
|
||||
/* 0AF7D8 800AEBD8 AFAA0014 */ sw $t2, 0x14($sp)
|
||||
|
|
|
|||
|
|
@ -1,114 +0,0 @@
|
|||
glabel func_800B5DA4
|
||||
/* 0B69A4 800B5DA4 3C02800F */ lui $v0, %hi(D_800E86FC) # $v0, 0x800f
|
||||
/* 0B69A8 800B5DA8 804286FC */ lb $v0, %lo(D_800E86FC)($v0)
|
||||
/* 0B69AC 800B5DAC 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0B69B0 800B5DB0 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0B69B4 800B5DB4 1040001E */ beqz $v0, .L800B5E30
|
||||
/* 0B69B8 800B5DB8 3C048019 */ lui $a0, %hi(D_8018E8D0) # $a0, 0x8019
|
||||
/* 0B69BC 800B5DBC 3C0E800F */ lui $t6, %hi(D_800F2E74) # $t6, 0x800f
|
||||
/* 0B69C0 800B5DC0 3C0F8019 */ lui $t7, %hi(D_8018EB88) # $t7, 0x8019
|
||||
/* 0B69C4 800B5DC4 25EFEB88 */ addiu $t7, %lo(D_8018EB88) # addiu $t7, $t7, -0x1478
|
||||
/* 0B69C8 800B5DC8 25CE2E74 */ addiu $t6, %lo(D_800F2E74) # addiu $t6, $t6, 0x2e74
|
||||
/* 0B69CC 800B5DCC 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0B69D0 800B5DD0 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0B69D4 800B5DD4 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0B69D8 800B5DD8 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0B69DC 800B5DDC 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0B69E0 800B5DE0 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0B69E4 800B5DE4 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0B69E8 800B5DE8 AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* 0B69EC 800B5DEC 0C033E20 */ jal osPfsFindFile
|
||||
/* 0B69F0 800B5DF0 2484E8D0 */ addiu $a0, %lo(D_8018E8D0) # addiu $a0, $a0, -0x1730
|
||||
/* 0B69F4 800B5DF4 10400007 */ beqz $v0, .L800B5E14
|
||||
/* 0B69F8 800B5DF8 24010002 */ li $at, 2
|
||||
/* 0B69FC 800B5DFC 10410009 */ beq $v0, $at, .L800B5E24
|
||||
/* 0B6A00 800B5E00 24010005 */ li $at, 5
|
||||
/* 0B6A04 800B5E04 10410005 */ beq $v0, $at, .L800B5E1C
|
||||
/* 0B6A08 800B5E08 00000000 */ nop
|
||||
/* 0B6A0C 800B5E0C 10000005 */ b .L800B5E24
|
||||
/* 0B6A10 800B5E10 00000000 */ nop
|
||||
.L800B5E14:
|
||||
/* 0B6A14 800B5E14 10000042 */ b .L800B5F20
|
||||
/* 0B6A18 800B5E18 00001025 */ move $v0, $zero
|
||||
.L800B5E1C:
|
||||
/* 0B6A1C 800B5E1C 10000040 */ b .L800B5F20
|
||||
/* 0B6A20 800B5E20 2402FFFF */ li $v0, -1
|
||||
.L800B5E24:
|
||||
/* 0B6A24 800B5E24 3C01800F */ lui $at, %hi(D_800E86FC) # $at, 0x800f
|
||||
/* 0B6A28 800B5E28 A02086FC */ sb $zero, %lo(D_800E86FC)($at)
|
||||
/* 0B6A2C 800B5E2C 00001025 */ move $v0, $zero
|
||||
.L800B5E30:
|
||||
/* 0B6A30 800B5E30 5440003C */ bnel $v0, $zero, .L800B5F24
|
||||
/* 0B6A34 800B5E34 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0B6A38 800B5E38 0C02D6CB */ jal check_for_controller_pak
|
||||
/* 0B6A3C 800B5E3C 24040001 */ li $a0, 1
|
||||
/* 0B6A40 800B5E40 14400003 */ bnez $v0, .L800B5E50
|
||||
/* 0B6A44 800B5E44 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015
|
||||
/* 0B6A48 800B5E48 10000035 */ b .L800B5F20
|
||||
/* 0B6A4C 800B5E4C 24020001 */ li $v0, 1
|
||||
.L800B5E50:
|
||||
/* 0B6A50 800B5E50 3C058019 */ lui $a1, %hi(D_8018E8D0) # $a1, 0x8019
|
||||
/* 0B6A54 800B5E54 24A5E8D0 */ addiu $a1, %lo(D_8018E8D0) # addiu $a1, $a1, -0x1730
|
||||
/* 0B6A58 800B5E58 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0B6A5C 800B5E5C 0C0339C8 */ jal osPfsInit
|
||||
/* 0B6A60 800B5E60 24060001 */ li $a2, 1
|
||||
/* 0B6A64 800B5E64 10400010 */ beqz $v0, .L800B5EA8
|
||||
/* 0B6A68 800B5E68 24180001 */ li $t8, 1
|
||||
/* 0B6A6C 800B5E6C 24010001 */ li $at, 1
|
||||
/* 0B6A70 800B5E70 10410007 */ beq $v0, $at, .L800B5E90
|
||||
/* 0B6A74 800B5E74 24010004 */ li $at, 4
|
||||
/* 0B6A78 800B5E78 10410009 */ beq $v0, $at, .L800B5EA0
|
||||
/* 0B6A7C 800B5E7C 2401000A */ li $at, 10
|
||||
/* 0B6A80 800B5E80 10410005 */ beq $v0, $at, .L800B5E98
|
||||
/* 0B6A84 800B5E84 2401000B */ li $at, 11
|
||||
/* 0B6A88 800B5E88 14410005 */ bne $v0, $at, .L800B5EA0
|
||||
/* 0B6A8C 800B5E8C 00000000 */ nop
|
||||
.L800B5E90:
|
||||
/* 0B6A90 800B5E90 10000023 */ b .L800B5F20
|
||||
/* 0B6A94 800B5E94 24020001 */ li $v0, 1
|
||||
.L800B5E98:
|
||||
/* 0B6A98 800B5E98 10000021 */ b .L800B5F20
|
||||
/* 0B6A9C 800B5E9C 24020002 */ li $v0, 2
|
||||
.L800B5EA0:
|
||||
/* 0B6AA0 800B5EA0 1000001F */ b .L800B5F20
|
||||
/* 0B6AA4 800B5EA4 24020002 */ li $v0, 2
|
||||
.L800B5EA8:
|
||||
/* 0B6AA8 800B5EA8 3C19800F */ lui $t9, %hi(D_800F2E74) # $t9, 0x800f
|
||||
/* 0B6AAC 800B5EAC 3C088019 */ lui $t0, %hi(D_8018EB88) # $t0, 0x8019
|
||||
/* 0B6AB0 800B5EB0 3C01800F */ lui $at, %hi(D_800E86FC) # $at, 0x800f
|
||||
/* 0B6AB4 800B5EB4 2508EB88 */ addiu $t0, %lo(D_8018EB88) # addiu $t0, $t0, -0x1478
|
||||
/* 0B6AB8 800B5EB8 27392E74 */ addiu $t9, %lo(D_800F2E74) # addiu $t9, $t9, 0x2e74
|
||||
/* 0B6ABC 800B5EBC 3C048019 */ lui $a0, %hi(D_8018E8D0) # $a0, 0x8019
|
||||
/* 0B6AC0 800B5EC0 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f
|
||||
/* 0B6AC4 800B5EC4 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f
|
||||
/* 0B6AC8 800B5EC8 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f
|
||||
/* 0B6ACC 800B5ECC A03886FC */ sb $t8, %lo(D_800E86FC)($at)
|
||||
/* 0B6AD0 800B5ED0 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64
|
||||
/* 0B6AD4 800B5ED4 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2)
|
||||
/* 0B6AD8 800B5ED8 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1)
|
||||
/* 0B6ADC 800B5EDC 2484E8D0 */ addiu $a0, %lo(D_8018E8D0) # addiu $a0, $a0, -0x1730
|
||||
/* 0B6AE0 800B5EE0 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 0B6AE4 800B5EE4 0C033E20 */ jal osPfsFindFile
|
||||
/* 0B6AE8 800B5EE8 AFA80014 */ sw $t0, 0x14($sp)
|
||||
/* 0B6AEC 800B5EEC 10400007 */ beqz $v0, .L800B5F0C
|
||||
/* 0B6AF0 800B5EF0 24010002 */ li $at, 2
|
||||
/* 0B6AF4 800B5EF4 10410009 */ beq $v0, $at, .L800B5F1C
|
||||
/* 0B6AF8 800B5EF8 24010005 */ li $at, 5
|
||||
/* 0B6AFC 800B5EFC 10410005 */ beq $v0, $at, .L800B5F14
|
||||
/* 0B6B00 800B5F00 00000000 */ nop
|
||||
/* 0B6B04 800B5F04 10000006 */ b .L800B5F20
|
||||
/* 0B6B08 800B5F08 24020002 */ li $v0, 2
|
||||
.L800B5F0C:
|
||||
/* 0B6B0C 800B5F0C 10000004 */ b .L800B5F20
|
||||
/* 0B6B10 800B5F10 00001025 */ move $v0, $zero
|
||||
.L800B5F14:
|
||||
/* 0B6B14 800B5F14 10000002 */ b .L800B5F20
|
||||
/* 0B6B18 800B5F18 2402FFFF */ li $v0, -1
|
||||
.L800B5F1C:
|
||||
/* 0B6B1C 800B5F1C 24020002 */ li $v0, 2
|
||||
.L800B5F20:
|
||||
/* 0B6B20 800B5F20 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L800B5F24:
|
||||
/* 0B6B24 800B5F24 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0B6B28 800B5F28 03E00008 */ jr $ra
|
||||
/* 0B6B2C 800B5F2C 00000000 */ nop
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
glabel func_800B6014
|
||||
/* 0B6C14 800B6014 3C0E800F */ lui $t6, %hi(D_800E86FC) # $t6, 0x800f
|
||||
/* 0B6C18 800B6018 81CE86FC */ lb $t6, %lo(D_800E86FC)($t6)
|
||||
/* 0B6C14 800B6014 3C0E800F */ lui $t6, %hi(sControllerPak2State) # $t6, 0x800f
|
||||
/* 0B6C18 800B6018 81CE86FC */ lb $t6, %lo(sControllerPak2State)($t6)
|
||||
/* 0B6C1C 800B601C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0B6C20 800B6020 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0B6C24 800B6024 11C00003 */ beqz $t6, .L800B6034
|
||||
|
|
@ -20,8 +20,8 @@ glabel func_800B6014
|
|||
/* 0B6C58 800B6058 14400004 */ bnez $v0, .L800B606C
|
||||
/* 0B6C5C 800B605C 00401825 */ move $v1, $v0
|
||||
/* 0B6C60 800B6060 240F0001 */ li $t7, 1
|
||||
/* 0B6C64 800B6064 3C01800F */ lui $at, %hi(D_800E86FC) # $at, 0x800f
|
||||
/* 0B6C68 800B6068 A02F86FC */ sb $t7, %lo(D_800E86FC)($at)
|
||||
/* 0B6C64 800B6064 3C01800F */ lui $at, %hi(sControllerPak2State) # $at, 0x800f
|
||||
/* 0B6C68 800B6068 A02F86FC */ sb $t7, %lo(sControllerPak2State)($at)
|
||||
.L800B606C:
|
||||
/* 0B6C6C 800B606C 10000002 */ b .L800B6078
|
||||
/* 0B6C70 800B6070 00601025 */ move $v0, $v1
|
||||
|
|
|
|||
|
|
@ -55,12 +55,12 @@ glabel func_800B6178
|
|||
/* 0B6E3C 800B623C 00075100 */ sll $t2, $a3, 4
|
||||
/* 0B6E40 800B6240 01475023 */ subu $t2, $t2, $a3
|
||||
/* 0B6E44 800B6244 000A5280 */ sll $t2, $t2, 0xa
|
||||
/* 0B6E48 800B6248 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0B6E4C 800B624C 3C058019 */ lui $a1, %hi(D_8018EB84) # $a1, 0x8019
|
||||
/* 0B6E48 800B6248 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0B6E4C 800B624C 3C058019 */ lui $a1, %hi(gControllerPak1FileNote) # $a1, 0x8019
|
||||
/* 0B6E50 800B6250 240B3C00 */ li $t3, 15360
|
||||
/* 0B6E54 800B6254 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 0B6E58 800B6258 8CA5EB84 */ lw $a1, %lo(D_8018EB84)($a1)
|
||||
/* 0B6E5C 800B625C 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0B6E58 800B6258 8CA5EB84 */ lw $a1, %lo(gControllerPak1FileNote)($a1)
|
||||
/* 0B6E5C 800B625C 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0B6E60 800B6260 25470100 */ addiu $a3, $t2, 0x100
|
||||
/* 0B6E64 800B6264 24060001 */ li $a2, 1
|
||||
/* 0B6E68 800B6268 0C0340F3 */ jal osPfsReadWriteFile
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@ glabel func_800B65F4
|
|||
/* 0B7234 800B6634 8DEFC714 */ lw $t7, %lo(D_800DC714)($t7)
|
||||
/* 0B7238 800B6638 00F23823 */ subu $a3, $a3, $s2
|
||||
/* 0B723C 800B663C 00073A80 */ sll $a3, $a3, 0xa
|
||||
/* 0B7240 800B6640 3C048019 */ lui $a0, %hi(D_8018E8D0) # $a0, 0x8019
|
||||
/* 0B7244 800B6644 3C058019 */ lui $a1, %hi(D_8018EB88) # $a1, 0x8019
|
||||
/* 0B7240 800B6640 3C048019 */ lui $a0, %hi(gControllerPak2FileHandle) # $a0, 0x8019
|
||||
/* 0B7244 800B6644 3C058019 */ lui $a1, %hi(gControllerPak2FileNote) # $a1, 0x8019
|
||||
/* 0B7248 800B6648 240E3C00 */ li $t6, 15360
|
||||
/* 0B724C 800B664C AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0B7250 800B6650 8CA5EB88 */ lw $a1, %lo(D_8018EB88)($a1)
|
||||
/* 0B7254 800B6654 2484E8D0 */ addiu $a0, %lo(D_8018E8D0) # addiu $a0, $a0, -0x1730
|
||||
/* 0B7250 800B6650 8CA5EB88 */ lw $a1, %lo(gControllerPak2FileNote)($a1)
|
||||
/* 0B7254 800B6654 2484E8D0 */ addiu $a0, %lo(gControllerPak2FileHandle) # addiu $a0, $a0, -0x1730
|
||||
/* 0B7258 800B6658 24E70100 */ addiu $a3, $a3, 0x100
|
||||
/* 0B725C 800B665C 00003025 */ move $a2, $zero
|
||||
/* 0B7260 800B6660 0C0340F3 */ jal osPfsReadWriteFile
|
||||
|
|
|
|||
|
|
@ -28,14 +28,14 @@ glabel func_800B69BC
|
|||
/* 0B7620 800B6A20 0C02DA0A */ jal func_800B6828
|
||||
/* 0B7624 800B6A24 AFA80020 */ sw $t0, 0x20($sp)
|
||||
/* 0B7628 800B6A28 8FA80020 */ lw $t0, 0x20($sp)
|
||||
/* 0B762C 800B6A2C 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
/* 0B7630 800B6A30 3C058019 */ lui $a1, %hi(D_8018EB84) # $a1, 0x8019
|
||||
/* 0B762C 800B6A2C 3C048019 */ lui $a0, %hi(gControllerPak1FileHandle) # $a0, 0x8019
|
||||
/* 0B7630 800B6A30 3C058019 */ lui $a1, %hi(gControllerPak1FileNote) # $a1, 0x8019
|
||||
/* 0B7634 800B6A34 24090080 */ li $t1, 128
|
||||
/* 0B7638 800B6A38 A102007F */ sb $v0, 0x7f($t0)
|
||||
/* 0B763C 800B6A3C 8FA70024 */ lw $a3, 0x24($sp)
|
||||
/* 0B7640 800B6A40 8CA5EB84 */ lw $a1, %lo(D_8018EB84)($a1)
|
||||
/* 0B7640 800B6A40 8CA5EB84 */ lw $a1, %lo(gControllerPak1FileNote)($a1)
|
||||
/* 0B7644 800B6A44 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 0B7648 800B6A48 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798
|
||||
/* 0B7648 800B6A48 2484E868 */ addiu $a0, %lo(gControllerPak1FileHandle) # addiu $a0, $a0, -0x1798
|
||||
/* 0B764C 800B6A4C 24060001 */ li $a2, 1
|
||||
/* 0B7650 800B6A50 0C0340F3 */ jal osPfsReadWriteFile
|
||||
/* 0B7654 800B6A54 AFA80014 */ sw $t0, 0x14($sp)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,13 @@
|
|||
#ifndef DEFINES_H
|
||||
#define DEFINES_H
|
||||
|
||||
|
||||
/**
|
||||
* Options for Controller Pak state
|
||||
*/
|
||||
#define OK 1
|
||||
#define BAD 0
|
||||
|
||||
/**
|
||||
* Enable debug mode
|
||||
*
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern s8 gCharacterIdByGPOverallRank[8]; // D_8018D9D0
|
|||
extern s8 gCharacterGridSelections[4]; // D_8018EDE4
|
||||
extern s8 gCharacterSelections[4]; // D_800E86A8
|
||||
extern s8 gControllerPakMenuSelection; // D_8018EDF0
|
||||
extern s32 gControllerPakNumPagesFree; // D_8018EB80
|
||||
extern s32 gControllerPak1NumPagesFree; // D_8018EB80
|
||||
extern s8 gControllerPakSelectedTableRow; // D_800E86C0
|
||||
extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0
|
||||
extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8
|
||||
|
|
|
|||
|
|
@ -280,25 +280,25 @@ s32 func_80091D74(void) {
|
|||
}
|
||||
osPfsIsPlug(&gSIEventMesgQueue, &sp67);
|
||||
if (sp67 & 1) {
|
||||
if (osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0)) {
|
||||
if (osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0)) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C)) {
|
||||
if (osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed, &gControllerPak1MaxWriteableFiles)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
D_8018EB38[i] = osPfsFileState(&D_8018E868, i, D_8018E938 + i);
|
||||
D_8018EB38[i] = osPfsFileState(&gControllerPak1FileHandle, i, D_8018E938 + i);
|
||||
}
|
||||
|
||||
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree)) {
|
||||
if (osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree)) {
|
||||
return 0;
|
||||
}
|
||||
gControllerPakNumPagesFree >>= 8;
|
||||
gControllerPak1NumPagesFree >>= 8;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -307,7 +307,7 @@ void func_80091EE4(void) {
|
|||
s32 temp_s2;
|
||||
s32 tmp;
|
||||
|
||||
D_800E86F8 = 0;
|
||||
gControllerPak1State = BAD;
|
||||
tmp = func_800B5F30();
|
||||
|
||||
if ((D_8018EDFB != 0) && (tmp == 0)) {
|
||||
|
|
@ -6947,7 +6947,7 @@ loop_3:
|
|||
return;
|
||||
case 0x69:
|
||||
func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0);
|
||||
if (controller_pak_status() == 0) {
|
||||
if (controller_pak_1_status() == PFS_NO_ERROR) {
|
||||
func_800B6708();
|
||||
return;
|
||||
}
|
||||
|
|
@ -6962,7 +6962,7 @@ loop_3:
|
|||
return;
|
||||
case 0x8C:
|
||||
func_800996BC(segmented_to_virtual_dupe(D_02004A34), 0);
|
||||
if (controller_pak_status() == 0) {
|
||||
if (controller_pak_1_status() == PFS_NO_ERROR) {
|
||||
func_800B6708();
|
||||
return;
|
||||
}
|
||||
|
|
@ -7054,7 +7054,7 @@ block_63:
|
|||
var_ra->unk1C = (s32) gTimeTrialDataCourseIndex;
|
||||
func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0);
|
||||
func_8006EF60();
|
||||
if (controller_pak_status) == 0) {
|
||||
if (controller_pak_1_status() == PFS_NO_ERROR) {
|
||||
func_800B6708();
|
||||
return;
|
||||
}
|
||||
|
|
@ -8048,7 +8048,7 @@ void func_800A0DFC(void) {
|
|||
s32 var_s0;
|
||||
s32 var_s1;
|
||||
|
||||
var_s0 = gControllerPakNumPagesFree;
|
||||
var_s0 = gControllerPak1NumPagesFree;
|
||||
var_s1 = 0x00000110;
|
||||
do {
|
||||
temp_t6 = var_s0 % 10;
|
||||
|
|
@ -12954,15 +12954,15 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AA280.s")
|
|||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
s32 check_for_controller_pak(?); /* extern */
|
||||
extern s8 D_800E86AC;
|
||||
extern u16 D_800E86F0;
|
||||
extern u32 D_800E86F4;
|
||||
extern s8 D_800E86F8;
|
||||
extern u8 D_800F2E64;
|
||||
extern u8 D_800F2E74;
|
||||
extern OSPfs D_8018E868;
|
||||
extern s32 D_8018EB78;
|
||||
extern s32 D_8018EB7C;
|
||||
extern s32 D_8018EB84;
|
||||
extern u16 gCompanyCode;
|
||||
extern u32 gGameCode;
|
||||
extern s8 gControllerPak1State;
|
||||
extern u8 gGameName;
|
||||
extern u8 gExtCode;
|
||||
extern OSPfs gControllerPak1FileHandle;
|
||||
extern s32 gControllerPak1NumFilesUsed;
|
||||
extern s32 gControllerPak1MaxWriteableFiles;
|
||||
extern s32 gControllerPak1FileNote;
|
||||
extern s8 gMainMenuSelectionDepth;
|
||||
|
||||
void func_800AA2EC(struct_8018D9E0_entry *arg0) {
|
||||
|
|
@ -12987,9 +12987,9 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) {
|
|||
case CONFIRM_OK_SELECTION_FROM_BACK_OUT:
|
||||
case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT:
|
||||
if ((arg0->unk4 == 0) && (temp_v0 = D_8018EDF3, (temp_v0 == 1)) && (*(&D_800E86AC - 1 + temp_v0) == 1)) {
|
||||
if (D_800E86F8 != 0) {
|
||||
if (gControllerPak1State != 0) {
|
||||
sp20 = 0;
|
||||
temp_v0_2 = osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, &D_800F2E64, &D_800F2E74, &D_8018EB84);
|
||||
temp_v0_2 = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, &gGameName, &gExtCode, &gControllerPak1FileNote);
|
||||
var_t1 = 0;
|
||||
switch (temp_v0_2) { /* switch 1; irregular */
|
||||
case 5: /* switch 1 */
|
||||
|
|
@ -13000,17 +13000,17 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) {
|
|||
break;
|
||||
default: /* switch 1 */
|
||||
case 2: /* switch 1 */
|
||||
D_800E86F8 = 0;
|
||||
gControllerPak1State = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_t1 == 0) {
|
||||
if (D_800E86F8 == 0) {
|
||||
if (gControllerPak1State == 0) {
|
||||
if (check_for_controller_pak(0) == 0) {
|
||||
arg0->unk4 = 2;
|
||||
return;
|
||||
}
|
||||
temp_v0_3 = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
temp_v0_3 = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0);
|
||||
if (temp_v0_3 != 0) {
|
||||
if (temp_v0_3 != 1) {
|
||||
if (temp_v0_3 != 4) {
|
||||
|
|
@ -13031,28 +13031,28 @@ block_22:
|
|||
arg0->unk4 = 2;
|
||||
return;
|
||||
}
|
||||
D_800E86F8 = 1;
|
||||
if (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, &D_800F2E64, &D_800F2E74, &D_8018EB84) == 0) {
|
||||
gControllerPak1State = 1;
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, &gGameName, &gExtCode, &gControllerPak1FileNote) == 0) {
|
||||
arg0->unk4 = 1;
|
||||
return;
|
||||
}
|
||||
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) != 0) {
|
||||
if (osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed, &gControllerPak1MaxWriteableFiles) != 0) {
|
||||
arg0->unk4 = 3;
|
||||
return;
|
||||
}
|
||||
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) != 0) {
|
||||
if (osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree) != 0) {
|
||||
arg0->unk4 = 3;
|
||||
return;
|
||||
}
|
||||
gControllerPakNumPagesFree = (s32) gControllerPakNumPagesFree >> 8;
|
||||
gControllerPak1NumPagesFree = (s32) gControllerPak1NumPagesFree >> 8;
|
||||
goto block_32;
|
||||
}
|
||||
block_32:
|
||||
if (D_8018EB7C >= D_8018EB78) {
|
||||
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
|
||||
arg0->unk4 = 5;
|
||||
return;
|
||||
}
|
||||
if (gControllerPakNumPagesFree >= 0x79) {
|
||||
if (gControllerPak1NumPagesFree >= 0x79) {
|
||||
arg0->unk4 = 1;
|
||||
return;
|
||||
}
|
||||
|
|
@ -14990,9 +14990,9 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
if (temp_f0_3 < 4.2) {
|
||||
arg0->unk24 = (f32) (temp_f0_3 + 4.0);
|
||||
}
|
||||
if (D_800E86F8 != 0) {
|
||||
if (gControllerPak1State != 0) {
|
||||
sp28 = 0;
|
||||
temp_v0_6 = osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84);
|
||||
temp_v0_6 = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote);
|
||||
var_v1 = 0;
|
||||
switch (temp_v0_6) { /* switch 4; irregular */
|
||||
case 5: /* switch 4 */
|
||||
|
|
@ -15007,12 +15007,12 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
case 2: /* switch 4 */
|
||||
/* fallthrough */
|
||||
default: /* switch 4 */
|
||||
D_800E86F8 = 0;
|
||||
gControllerPak1State = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_v1 == 0) {
|
||||
if (D_800E86F8 == 0) {
|
||||
if (gControllerPak1State == 0) {
|
||||
sp28 = var_v1;
|
||||
temp_v0_7 = func_800B5F30();
|
||||
var_v1_2 = var_v1;
|
||||
|
|
@ -15044,7 +15044,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
play_sound2(0x4900FF07);
|
||||
return;
|
||||
}
|
||||
if (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84) == 0) {
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) {
|
||||
func_800B6708();
|
||||
arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x11;
|
||||
play_sound2(0x49008001);
|
||||
|
|
@ -15053,12 +15053,12 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
goto block_56;
|
||||
}
|
||||
block_56:
|
||||
if (D_8018EB7C >= D_8018EB78) {
|
||||
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
|
||||
arg0->unk4 = 0x0000000E;
|
||||
play_sound2(0x4900FF07);
|
||||
return;
|
||||
}
|
||||
if (gControllerPakNumPagesFree >= 0x79) {
|
||||
if (gControllerPak1NumPagesFree >= 0x79) {
|
||||
arg0->unk4 = 0x00000013;
|
||||
arg0->unk1C = 0;
|
||||
play_sound2(0x49008001);
|
||||
|
|
@ -15293,9 +15293,9 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
if (temp_f0_3 < 4.2) {
|
||||
arg0->unk24 = (f32) (temp_f0_3 + 4.0);
|
||||
}
|
||||
if (D_800E86F8 != 0) {
|
||||
if (gControllerPak1State != 0) {
|
||||
sp28 = 0;
|
||||
temp_v0_2 = osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84);
|
||||
temp_v0_2 = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote);
|
||||
var_v1 = 0;
|
||||
switch (temp_v0_2) { /* switch 3; irregular */
|
||||
case 5: /* switch 3 */
|
||||
|
|
@ -15308,7 +15308,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
case 2: /* switch 3 */
|
||||
/* fallthrough */
|
||||
default: /* switch 3 */
|
||||
D_800E86F8 = 0;
|
||||
gControllerPak1State = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -15316,7 +15316,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
play_sound2(0x49008001);
|
||||
return;
|
||||
}
|
||||
if (D_800E86F8 == 0) {
|
||||
if (gControllerPak1State == 0) {
|
||||
sp28 = var_v1;
|
||||
temp_v0_3 = func_800B5F30();
|
||||
var_v1_2 = var_v1;
|
||||
|
|
@ -15348,7 +15348,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
play_sound2(0x4900FF07);
|
||||
return;
|
||||
}
|
||||
if (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84) == 0) {
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) {
|
||||
func_800B6708();
|
||||
arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x1E;
|
||||
play_sound2(0x49008001);
|
||||
|
|
@ -15357,12 +15357,12 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
goto block_49;
|
||||
}
|
||||
block_49:
|
||||
if (D_8018EB7C >= D_8018EB78) {
|
||||
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
|
||||
arg0->unk4 = 0x00000018;
|
||||
play_sound2(0x4900FF07);
|
||||
return;
|
||||
}
|
||||
if (gControllerPakNumPagesFree >= 0x79) {
|
||||
if (gControllerPak1NumPagesFree >= 0x79) {
|
||||
arg0->unk4 = 0x00000020;
|
||||
arg0->unk1C = 0;
|
||||
play_sound2(0x49008001);
|
||||
|
|
@ -15520,7 +15520,7 @@ block_49:
|
|||
break;
|
||||
case 40: /* switch 1 */
|
||||
if (arg0->unk1C == 1) {
|
||||
if (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84) != 0) {
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) != 0) {
|
||||
arg0->unk4 = 0x00000029;
|
||||
play_sound2(0x4900FF07);
|
||||
return;
|
||||
|
|
@ -15598,7 +15598,7 @@ void func_800AEDBC(struct_8018D9E0_entry *arg0) {
|
|||
if (arg0->unk1C != gTimeTrialDataCourseIndex) {
|
||||
arg0->unk1C = (s32) gTimeTrialDataCourseIndex;
|
||||
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]]));
|
||||
if (controller_pak_status() == 0) {
|
||||
if (controller_pak_1_status() == PFS_NO_ERROR) {
|
||||
func_800B6708();
|
||||
} else {
|
||||
D_8018EE10[0].ghostDataSaved = 0;
|
||||
|
|
|
|||
|
|
@ -17,18 +17,18 @@
|
|||
#define EEPROM_ADDR(ptr) (((uintptr_t)(ptr) - (uintptr_t)(&D_8018EB90)) / 8)
|
||||
|
||||
/*** data ***/
|
||||
u16 D_800E86F0 = PFS_COMPANY_CODE('0', '1');
|
||||
u32 D_800E86F4 = PFS_GAME_CODE('N', 'K', 'T', 'J');
|
||||
s8 D_800E86F8 = 0;
|
||||
s8 D_800E86FC = 0;
|
||||
u16 gCompanyCode = PFS_COMPANY_CODE('0', '1');
|
||||
u32 gGameCode = PFS_GAME_CODE('N', 'K', 'T', 'J');
|
||||
s8 gControllerPak1State = BAD;
|
||||
s8 sControllerPak2State = BAD;
|
||||
|
||||
/*** rodata ***/
|
||||
// default time trial records?
|
||||
const u8 D_800F2E60[4] = {0xc0, 0x27, 0x09, 0x00};
|
||||
// osPfsFindFile -> game_name ("MARIOKART64" in nosFont)
|
||||
const u8 D_800F2E64[] = {0x26, 0x1a, 0x2b, 0x22, 0x28, 0x24, 0x1a, 0x2b, 0x2d, 0x16, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
// osPfsFindFile -> gGameName ("MARIOKART64" in nosFont)
|
||||
const u8 gGameName[] = {0x26, 0x1a, 0x2b, 0x22, 0x28, 0x24, 0x1a, 0x2b, 0x2d, 0x16, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
// ext_name param to osPfsFindFile (four total bytes, but only one is setable)
|
||||
const u8 D_800F2E74[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
const u8 gExtCode[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
/*** forward declarations ***/
|
||||
s32 func_800B58C4(s32 arg0);
|
||||
|
|
@ -702,191 +702,172 @@ s32 validate_save_data_checksum_backup(void)
|
|||
}
|
||||
|
||||
// Check if controller has a Controller Pak connected.
|
||||
// Return 1 if it does, otherwise return 0.
|
||||
// Return PAK if it does, otherwise return NO_PAK.
|
||||
s32 check_for_controller_pak(s32 controller) {
|
||||
u8 sp1F;
|
||||
u8 controllerBitpattern;
|
||||
UNUSED s32 phi_v0;
|
||||
|
||||
if ((controller >= 4) || (controller < 0)) {
|
||||
return 0;
|
||||
if ((controller >= MAXCONTROLLERS) || (controller < 0)) {
|
||||
return NO_PAK;
|
||||
}
|
||||
|
||||
osPfsIsPlug(&gSIEventMesgQueue, &sp1F);
|
||||
|
||||
if ((sp1F & (1 << controller)) != 0) {
|
||||
return 1;
|
||||
osPfsIsPlug(&gSIEventMesgQueue, &controllerBitpattern);
|
||||
|
||||
if ((controllerBitpattern & (1 << controller)) != 0) {
|
||||
return PAK;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return NO_PAK;
|
||||
}
|
||||
|
||||
s32 controller_pak_status(void) {
|
||||
if (D_800E86F8 != 0) {
|
||||
switch (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84)) {
|
||||
case PFS_READ:
|
||||
return 0;
|
||||
// gives status info about controller pak insterted in controller 1
|
||||
s32 controller_pak_1_status(void) {
|
||||
if (gControllerPak1State) {
|
||||
switch (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote)) {
|
||||
case PFS_NO_ERROR:
|
||||
return PFS_NO_ERROR;
|
||||
case PFS_ERR_INVALID:
|
||||
break;
|
||||
case PFS_ERR_NEW_PACK:
|
||||
D_800E86F8 = 0;
|
||||
gControllerPak1State = BAD;
|
||||
break;
|
||||
default:
|
||||
D_800E86F8 = 0;
|
||||
gControllerPak1State = BAD;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (D_800E86F8 == 0) {
|
||||
s32 ret;
|
||||
if (check_for_controller_pak(0) == 0) {
|
||||
return 1;
|
||||
if (!gControllerPak1State) {
|
||||
s32 errorCode;
|
||||
if (check_for_controller_pak(CONTROLLER_1) == NO_PAK) {
|
||||
return PFS_NO_PAK_INSERTED;
|
||||
}
|
||||
ret = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
errorCode = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, CONTROLLER_1);
|
||||
|
||||
if (ret) {
|
||||
switch(ret) {
|
||||
if (errorCode) {
|
||||
switch(errorCode) {
|
||||
case PFS_ERR_NOPACK:
|
||||
case PFS_ERR_DEVICE:
|
||||
return 1;
|
||||
return PFS_NO_PAK_INSERTED;
|
||||
case PFS_ERR_ID_FATAL:
|
||||
return 2;
|
||||
return PFS_PAK_BAD_READ;
|
||||
default:
|
||||
case PFS_ERR_CONTRFAIL:
|
||||
return 2;
|
||||
return PFS_PAK_BAD_READ;
|
||||
}
|
||||
}
|
||||
|
||||
D_800E86F8 = 1;
|
||||
if (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84) == 0) {
|
||||
return 0;
|
||||
gControllerPak1State = OK;
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == PFS_NO_ERROR) {
|
||||
return PFS_NO_ERROR;
|
||||
}
|
||||
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) != 0) {
|
||||
return 2;
|
||||
if (osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed, &gControllerPak1MaxWriteableFiles) != PFS_NO_ERROR) {
|
||||
return PFS_PAK_BAD_READ;
|
||||
}
|
||||
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) != 0) {
|
||||
return 2;
|
||||
if (osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree) != PFS_NO_ERROR) {
|
||||
return PFS_PAK_BAD_READ;
|
||||
}
|
||||
gControllerPakNumPagesFree = (s32) gControllerPakNumPagesFree >> 8;
|
||||
gControllerPak1NumPagesFree = gControllerPak1NumPagesFree >> 8;
|
||||
}
|
||||
|
||||
if (D_8018EB7C >= D_8018EB78) {
|
||||
return 4;
|
||||
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
|
||||
return PFS_FILE_OVERFLOW;
|
||||
}
|
||||
if (gControllerPakNumPagesFree >= 0x79) {
|
||||
return -1;
|
||||
if (gControllerPak1NumPagesFree >= 0x79) {
|
||||
return PFS_INVALID_DATA;
|
||||
}
|
||||
return 4;
|
||||
return PFS_FILE_OVERFLOW;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-11-2022
|
||||
s32 check_for_controller_pak(?); /* extern */
|
||||
|
||||
s32 func_800B5DA4(void) {
|
||||
s32 temp_v0;
|
||||
s32 temp_v0_2;
|
||||
s32 temp_v0_3;
|
||||
s8 var_v0;
|
||||
|
||||
var_v0 = D_800E86FC;
|
||||
if (var_v0 != 0) {
|
||||
temp_v0 = osPfsFindFile(&D_8018E8D0, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB88);
|
||||
switch (temp_v0) { /* switch 1; irregular */
|
||||
case 0: /* switch 1 */
|
||||
return 0;
|
||||
case 5: /* switch 1 */
|
||||
return -1;
|
||||
default: /* switch 1 */
|
||||
case 2: /* switch 1 */
|
||||
D_800E86FC = 0;
|
||||
var_v0 = 0;
|
||||
goto block_8;
|
||||
// gives status info about controller pak insterted in controller 2
|
||||
s32 controller_pak_2_status(void) {
|
||||
s32 stateBorrow = sControllerPak2State;
|
||||
|
||||
if (stateBorrow) {
|
||||
switch (osPfsFindFile(&gControllerPak2FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak2FileNote)) {
|
||||
case PFS_NO_ERROR:
|
||||
return PFS_NO_ERROR;
|
||||
case PFS_ERR_INVALID:
|
||||
return PFS_INVALID_DATA;
|
||||
default:
|
||||
case PFS_ERR_NEW_PACK:
|
||||
sControllerPak2State = BAD;
|
||||
stateBorrow = BAD;
|
||||
}
|
||||
} else {
|
||||
block_8:
|
||||
if (var_v0 == 0) {
|
||||
if (check_for_controller_pak(1) == 0) {
|
||||
return 1;
|
||||
}
|
||||
if (!stateBorrow) {
|
||||
s32 errorCode;
|
||||
if (check_for_controller_pak(CONTROLLER_2) == NO_PAK) {
|
||||
return PFS_NO_PAK_INSERTED;
|
||||
}
|
||||
|
||||
errorCode = osPfsInit(&gSIEventMesgQueue, &gControllerPak2FileHandle, CONTROLLER_2);
|
||||
if (errorCode) {
|
||||
switch (errorCode) {
|
||||
case PFS_ERR_NOPACK:
|
||||
case PFS_ERR_DEVICE:
|
||||
return PFS_NO_PAK_INSERTED;
|
||||
case PFS_ERR_ID_FATAL:
|
||||
return PFS_PAK_BAD_READ;
|
||||
case PFS_ERR_CONTRFAIL:
|
||||
default:
|
||||
return PFS_PAK_BAD_READ;
|
||||
}
|
||||
temp_v0_2 = osPfsInit(&gSIEventMesgQueue, &D_8018E8D0, 1);
|
||||
if (temp_v0_2 != 0) {
|
||||
if (temp_v0_2 != 1) {
|
||||
if (temp_v0_2 != 4) {
|
||||
if (temp_v0_2 != 0x0000000A) {
|
||||
if (temp_v0_2 == 0x0000000B) {
|
||||
goto block_16;
|
||||
}
|
||||
goto block_18;
|
||||
}
|
||||
goto block_25;
|
||||
}
|
||||
block_18:
|
||||
goto block_25;
|
||||
}
|
||||
block_16:
|
||||
return 1;
|
||||
}
|
||||
D_800E86FC = 1;
|
||||
temp_v0_3 = osPfsFindFile(&D_8018E8D0, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB88);
|
||||
switch (temp_v0_3) { /* irregular */
|
||||
case 0:
|
||||
return 0;
|
||||
case 5:
|
||||
return -1;
|
||||
case 2:
|
||||
block_25:
|
||||
var_v0 = 2;
|
||||
/* Duplicate return node #26. Try simplifying control flow for better match */
|
||||
return (s32) var_v0;
|
||||
}
|
||||
} else {
|
||||
return (s32) var_v0;
|
||||
}
|
||||
|
||||
sControllerPak2State = OK;
|
||||
|
||||
switch (osPfsFindFile(&gControllerPak2FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak2FileNote)) {
|
||||
case PFS_NO_ERROR:
|
||||
return PFS_NO_ERROR;
|
||||
case PFS_ERR_INVALID:
|
||||
return PFS_INVALID_DATA;
|
||||
case PFS_ERR_NEW_PACK:
|
||||
default:
|
||||
return PFS_PAK_BAD_READ;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/menus/func_800B5DA4.s")
|
||||
#endif
|
||||
|
||||
s32 func_800B5F30(void) {
|
||||
s32 sp1C;
|
||||
s32 errorCode;
|
||||
|
||||
if (D_800E86F8 != 0) {
|
||||
return -4;
|
||||
if (gControllerPak1State) {
|
||||
return PFS_PAK_STATE_OK;
|
||||
}
|
||||
if (check_for_controller_pak(0) != 0) {
|
||||
sp1C = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) != 0) {
|
||||
D_800E86F8 = 0;
|
||||
return -2;
|
||||
if (check_for_controller_pak(CONTROLLER_1) != NO_PAK) {
|
||||
errorCode = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, CONTROLLER_1);
|
||||
if (osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed, &gControllerPak1MaxWriteableFiles) != PFS_NO_ERROR) {
|
||||
gControllerPak1State = BAD;
|
||||
return PFS_NUM_FILES_ERROR;
|
||||
}
|
||||
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) != 0) {
|
||||
D_800E86F8 = 0;
|
||||
return -3;
|
||||
if (osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree) != PFS_NO_ERROR) {
|
||||
gControllerPak1State = BAD;
|
||||
return PFS_FREE_BLOCKS_ERROR;
|
||||
}
|
||||
gControllerPakNumPagesFree = gControllerPakNumPagesFree >> 8;
|
||||
if (sp1C == 0) {
|
||||
D_800E86F8 = 1;
|
||||
gControllerPak1NumPagesFree = gControllerPak1NumPagesFree >> 8;
|
||||
if (errorCode == PFS_NO_ERROR) {
|
||||
gControllerPak1State = OK;
|
||||
}
|
||||
return sp1C;
|
||||
return errorCode;
|
||||
}
|
||||
return -1;
|
||||
return PAK_NOT_INSERTED;
|
||||
}
|
||||
|
||||
s32 func_800B6014(void) {
|
||||
s32 temp_v0;
|
||||
s32 errorCode;
|
||||
|
||||
if (D_800E86FC != 0) {
|
||||
return -4;
|
||||
if (sControllerPak2State) {
|
||||
return PFS_PAK_STATE_OK;
|
||||
}
|
||||
if (check_for_controller_pak(1) != 0) {
|
||||
temp_v0 = osPfsInit(&gSIEventMesgQueue, &D_8018E8D0, 1);
|
||||
if (temp_v0 == 0) {
|
||||
D_800E86FC = 1;
|
||||
if (check_for_controller_pak(CONTROLLER_2) != NO_PAK) {
|
||||
errorCode = osPfsInit(&gSIEventMesgQueue, &gControllerPak2FileHandle, CONTROLLER_2);
|
||||
if (errorCode == PFS_NO_ERROR) {
|
||||
sControllerPak2State = OK;
|
||||
}
|
||||
return temp_v0;
|
||||
return errorCode;
|
||||
}
|
||||
return -1;
|
||||
return PAK_NOT_INSERTED;
|
||||
}
|
||||
|
||||
s32 func_800B6088(s32 arg0) {
|
||||
|
|
@ -894,7 +875,7 @@ s32 func_800B6088(s32 arg0) {
|
|||
|
||||
temp_v1 = &D_8018EE10[arg0];
|
||||
temp_v1->checksum = func_800B6828(arg0);
|
||||
return osPfsReadWriteFile(&D_8018E868, D_8018EB84, PFS_WRITE, arg0 * 0x80 /* 0x80 == sizeof(struct_8018EE10_entry) */, sizeof(struct_8018EE10_entry), (u8*) temp_v1);
|
||||
return osPfsReadWriteFile(&gControllerPak1FileHandle, gControllerPak1FileNote, PFS_WRITE, arg0 * 0x80 /* 0x80 == sizeof(struct_8018EE10_entry) */, sizeof(struct_8018EE10_entry), (u8*) temp_v1);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
|
|
@ -973,7 +954,7 @@ s32 func_800B6178(s32 arg0) {
|
|||
var_s1 += 4;
|
||||
} while (var_s0 != 0x3C);
|
||||
} else {
|
||||
var_v0 = osPfsReadWriteFile(&D_8018E868, D_8018EB84, 1U, (arg0 * 0x3C00) + 0x100, 0x00003C00, (u8 *) D_800DC714);
|
||||
var_v0 = osPfsReadWriteFile(&gControllerPak1FileHandle, gControllerPak1FileNote, 1U, (arg0 * 0x3C00) + 0x100, 0x00003C00, (u8 *) D_800DC714);
|
||||
var_v1 = var_v0;
|
||||
if (var_v0 == 0) {
|
||||
temp_s3->ghostDataSaved = 1;
|
||||
|
|
@ -1083,7 +1064,7 @@ s32 func_800B64EC(s32 arg0) {
|
|||
return -1;
|
||||
}
|
||||
|
||||
temp_v0 = osPfsReadWriteFile(&D_8018E868, D_8018EB84, PFS_READ, (arg0 * 0x3C00) + 0x100, 0x3C00, (u8 *) D_800DC714);
|
||||
temp_v0 = osPfsReadWriteFile(&gControllerPak1FileHandle, gControllerPak1FileNote, PFS_READ, (arg0 * 0x3C00) + 0x100, 0x3C00, (u8 *) D_800DC714);
|
||||
if (temp_v0 == 0)
|
||||
{
|
||||
phi_s1 = (u8 *) &D_8018EE10[arg0]; temp_s0 = 0; while (1) {
|
||||
|
|
@ -1121,7 +1102,7 @@ s32 func_800B65F4(s32 arg0, s32 arg1) {
|
|||
if ((arg0 != 0) && (arg0 != 1)) {
|
||||
return -1;
|
||||
}
|
||||
temp_v0 = osPfsReadWriteFile(&D_8018E8D0, D_8018EB88, 0U, (arg0 * 0x3C00) + 0x100, 0x00003C00, (u8 *) D_800DC714);
|
||||
temp_v0 = osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, 0U, (arg0 * 0x3C00) + 0x100, 0x00003C00, (u8 *) D_800DC714);
|
||||
sp34 = temp_v0;
|
||||
if (temp_v0 == 0) {
|
||||
temp_s3 = &D_8018D9C0[arg0];
|
||||
|
|
@ -1153,7 +1134,7 @@ GLOBAL_ASM("asm/non_matchings/menus/func_800B65F4.s")
|
|||
void func_800B6708(void) {
|
||||
s32 temp_s0;
|
||||
|
||||
osPfsReadWriteFile(&D_8018E868, D_8018EB84, PFS_READ, 0, 0x100 /* 2*sizeof(struct_8018EE10_entry) ? */, (u8*) &D_8018EE10);
|
||||
osPfsReadWriteFile(&gControllerPak1FileHandle, gControllerPak1FileNote, PFS_READ, 0, 0x100 /* 2*sizeof(struct_8018EE10_entry) ? */, (u8*) &D_8018EE10);
|
||||
|
||||
for (temp_s0 = 0; temp_s0 < 2; ++temp_s0) {
|
||||
if (D_8018EE10[temp_s0].checksum != func_800B6828(temp_s0)) {
|
||||
|
|
@ -1168,7 +1149,7 @@ void func_800B6798(void) {
|
|||
|
||||
tmp = (u8*) D_8018D9C0;
|
||||
|
||||
osPfsReadWriteFile(&D_8018E8D0, D_8018EB88, PFS_READ, 0, 0x100 /* 2*sizeof(struct_8018EE10_entry) ? */, tmp);
|
||||
osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, PFS_READ, 0, 0x100 /* 2*sizeof(struct_8018EE10_entry) ? */, tmp);
|
||||
|
||||
for (temp_s0 = 0; temp_s0 < 2; ++temp_s0) {
|
||||
// if (D_8018D9C0[temp_s0]->checksum != func_800B68F4(temp_s0)) {
|
||||
|
|
@ -1263,7 +1244,7 @@ s32 func_800B69BC(s32 arg0) {
|
|||
}
|
||||
offset = arg0 << 7;
|
||||
plz->checksum = func_800B6828(arg0);
|
||||
return osPfsReadWriteFile(&D_8018E868, D_8018EB84, PFS_WRITE, offset, sizeof(struct_8018EE10_entry), (u8 *)plz);
|
||||
return osPfsReadWriteFile(&gControllerPak1FileHandle, gControllerPak1FileNote, PFS_WRITE, offset, sizeof(struct_8018EE10_entry), (u8 *)plz);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/menus/func_800B69BC.s")
|
||||
|
|
@ -1274,7 +1255,7 @@ s32 func_800B6A68(void) {
|
|||
s32 ret;
|
||||
s32 i;
|
||||
|
||||
ret = osPfsAllocateFile(&D_8018E868, D_800E86F0, D_800E86F4, (u8 *)&D_800F2E64, (u8 *)&D_800F2E74, 0x7900, &D_8018EB84);
|
||||
ret = osPfsAllocateFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8 *)&gGameName, (u8 *)&gExtCode, 0x7900, &gControllerPak1FileNote);
|
||||
if (ret == 0) {
|
||||
for (i = 0; i < 2; i++) {
|
||||
func_800B69BC(i);
|
||||
|
|
@ -1285,15 +1266,15 @@ s32 func_800B6A68(void) {
|
|||
}
|
||||
|
||||
void func_8800B6AF8(void) {
|
||||
if (check_for_controller_pak(0)
|
||||
&& osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0) == 0
|
||||
&& osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, (u8 *)D_800F2E64, (u8 *)D_800F2E74, &D_8018EB84)
|
||||
&& osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) == 0
|
||||
&& D_8018EB7C < D_8018EB78
|
||||
&& osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) == 0
|
||||
if (check_for_controller_pak(CONTROLLER_1)
|
||||
&& osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0) == 0
|
||||
&& osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8 *)gGameName, (u8 *)gExtCode, &gControllerPak1FileNote)
|
||||
&& osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed, &gControllerPak1MaxWriteableFiles) == 0
|
||||
&& gControllerPak1MaxWriteableFiles < gControllerPak1NumFilesUsed
|
||||
&& osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree) == 0
|
||||
) {
|
||||
gControllerPakNumPagesFree >>= 8;
|
||||
if (gControllerPakNumPagesFree >= 0x79) {
|
||||
gControllerPak1NumPagesFree >>= 8;
|
||||
if (gControllerPak1NumPagesFree >= 0x79) {
|
||||
func_800B6A68();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,27 @@
|
|||
#include "common_structs.h"
|
||||
#include <types.h>
|
||||
|
||||
/* define symbols */
|
||||
|
||||
#define CONTROLLER_1 0
|
||||
#define CONTROLLER_2 1
|
||||
#define CONTROLLER_3 2
|
||||
#define CONTROLLER_4 3
|
||||
|
||||
#define PFS_NO_ERROR 0 // controller pak no error return
|
||||
#define PFS_NO_PAK_INSERTED 1 // no pak pressent or wrong device inserted into the controller
|
||||
#define PFS_PAK_BAD_READ 2 // controller pak error while data transfer
|
||||
#define PFS_FILE_OVERFLOW 4 // too many files written to in the controller pak
|
||||
#define PFS_INVALID_DATA -1 // bad arguments, game note does not exist, osPfsInit was not called.
|
||||
// controller pak test functions
|
||||
#define PFS_NUM_FILES_ERROR -2
|
||||
#define PFS_FREE_BLOCKS_ERROR -3
|
||||
#define PFS_PAK_STATE_OK -4
|
||||
|
||||
#define NO_PAK 0
|
||||
#define PAK 1
|
||||
#define PAK_NOT_INSERTED -1
|
||||
|
||||
union GrandPrixPointsUnion
|
||||
{
|
||||
u8 grandPrixPointsArray[4];
|
||||
|
|
@ -46,8 +67,8 @@ u8 compute_save_data_checksum_backup_1(void);
|
|||
u8 compute_save_data_checksum_backup_2(void);
|
||||
s32 validate_save_data_checksum_backup();
|
||||
s32 func_800B5B2C(s32);
|
||||
s32 controller_pak_status(void);
|
||||
s32 func_800B5DA4(void);
|
||||
s32 controller_pak_1_status(void);
|
||||
s32 controller_pak_2_status(void);
|
||||
s32 func_800B5F30();
|
||||
s32 func_800B6014();
|
||||
s32 func_800B6088(s32);
|
||||
|
|
@ -67,9 +88,9 @@ s32 func_800B6A68();
|
|||
|
||||
extern u32* D_800DC714;
|
||||
|
||||
extern u16 D_800E86F0;
|
||||
extern u32 D_800E86F4; // osPfs gamecode
|
||||
extern s8 D_800E86F8;
|
||||
extern u16 gCompanyCode;
|
||||
extern u32 gGameCode; // osPfs gamecode
|
||||
extern s8 gControllerPak1State; // Current state of Controller Pak 1
|
||||
extern struct_8018EE10_entry D_8018EE10[];
|
||||
extern struct_8018EE10_entry *D_8018D9C0;
|
||||
extern u8 D_8018ED16; // D_8018EB90.checksum[1]
|
||||
|
|
@ -78,22 +99,22 @@ extern u8 D_8018ED4E; // D_8018EB90.onlyBestTimeTrialRecords[0].unknown
|
|||
extern union GrandPrixPointsUnion D_8018ED10; // Direct reference to the grandPrixPoints section of save data
|
||||
extern union GrandPrixPointsUnion D_8018ED88; // D_8018EB90.grandPrixPointsBackup[0]
|
||||
|
||||
extern s8 D_800E86FC;
|
||||
extern s8 sControllerPak2State; // Current state of the Controller Pak 2
|
||||
extern const u8 D_800F2E60[];
|
||||
extern const u8 D_800F2E64[];
|
||||
extern const u8 D_800F2E74[];
|
||||
extern const u8 gGameName[];
|
||||
extern const u8 gExtCode[];
|
||||
extern OSMesgQueue gSIEventMesgQueue; // D_8014F0B8
|
||||
extern u16 D_80162DD6;
|
||||
extern s32 D_80162DE0;
|
||||
extern s32 D_80162DFC;
|
||||
extern OSPfs D_8018E868;
|
||||
extern OSPfs D_8018E8D0;
|
||||
extern OSPfs gControllerPak1FileHandle;
|
||||
extern OSPfs gControllerPak2FileHandle;
|
||||
extern OSPfsState D_8018E938[];
|
||||
extern s32 D_8018EB38[16];
|
||||
extern s32 D_8018EB78;
|
||||
extern s32 D_8018EB7C;
|
||||
extern s32 D_8018EB84; // osPfs file_no receiver/out param
|
||||
extern s32 D_8018EB88;
|
||||
extern s32 gControllerPak1NumFilesUsed;
|
||||
extern s32 gControllerPak1MaxWriteableFiles;
|
||||
extern s32 gControllerPak1FileNote; // osPfs file_no receiver/out param
|
||||
extern s32 gControllerPak2FileNote;
|
||||
extern SaveData D_8018EB90;
|
||||
extern u8 D_8018ED11;
|
||||
extern u8 D_8018ED12;
|
||||
|
|
|
|||
40
src/menus.c
40
src/menus.c
|
|
@ -303,44 +303,44 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
|||
}
|
||||
break;
|
||||
case 0x17:
|
||||
switch(func_800B5DA4()) {
|
||||
case -1:
|
||||
switch(controller_pak_2_status()) {
|
||||
case PFS_INVALID_DATA:
|
||||
D_8018EDEC = 0x2B;
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
case 0:
|
||||
case PFS_NO_ERROR:
|
||||
func_800B6798();
|
||||
sp2C = controller_pak_status();
|
||||
sp2C = controller_pak_1_status();
|
||||
switch (sp2C) {
|
||||
case -1:
|
||||
case PFS_INVALID_DATA:
|
||||
D_8018EDEC = 0x46;
|
||||
sp38->unk4 = 0;
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
break;
|
||||
case 0:
|
||||
case PFS_NO_ERROR:
|
||||
func_800B6708();
|
||||
break;
|
||||
case 1:
|
||||
case PFS_NO_PAK_INSERTED:
|
||||
D_8018EDEC = 0x34;
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
break;
|
||||
case 4:
|
||||
case PFS_FILE_OVERFLOW:
|
||||
D_8018EDEC = 0x37;
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
break;
|
||||
case 2:
|
||||
case PFS_PAK_BAD_READ:
|
||||
case 3:
|
||||
default:
|
||||
D_8018EDEC = 0x35;
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
break;
|
||||
}
|
||||
if (sp2C == -1 && !sp30[0].ghostDataSaved && !sp30[1].ghostDataSaved) {
|
||||
if (sp2C == PFS_INVALID_DATA && !sp30[0].ghostDataSaved && !sp30[1].ghostDataSaved) {
|
||||
D_8018EDEC = 0x2A;
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
if (sp2C == 0) {
|
||||
if (sp2C == PFS_NO_ERROR) {
|
||||
if (sp30[0].ghostDataSaved) {
|
||||
D_8018EDEC = 0x28;
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
|
|
@ -354,11 +354,11 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
|||
}
|
||||
// else return?
|
||||
return;
|
||||
case 1:
|
||||
case PFS_NO_PAK_INSERTED:
|
||||
D_8018EDEC = 0x2C;
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
case 2:
|
||||
case PFS_PAK_BAD_READ:
|
||||
default:
|
||||
D_8018EDEC = 0x2D;
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
|
|
@ -567,8 +567,8 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
|||
}
|
||||
case 0x3B:
|
||||
{
|
||||
res = func_800B5DA4();
|
||||
if (res == 0) {
|
||||
res = controller_pak_2_status();
|
||||
if (res == PFS_NO_ERROR) {
|
||||
res = func_800B65F4(sp38->unk20, sp38->unk1C);
|
||||
}
|
||||
if (res != 0) {
|
||||
|
|
@ -576,8 +576,8 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
|
|||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
res = osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, (u8 *)D_800F2E64, (u8 *)D_800F2E74, &D_8018EB84);
|
||||
if (res == 0) {
|
||||
res = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8 *)gGameName, (u8 *)gExtCode, &gControllerPak1FileNote);
|
||||
if (res == PFS_NO_ERROR) {
|
||||
res = func_800B6178(sp38->unk1C);
|
||||
}
|
||||
if (res != 0) {
|
||||
|
|
@ -894,7 +894,7 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
|
|||
if ((buttonAndStickPress & 0x9000) != 0) {
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
func_8009E1C0();
|
||||
D_800E86F8 = 0;
|
||||
gControllerPak1State = BAD;
|
||||
return;
|
||||
}
|
||||
if ((buttonAndStickPress & 0x300) != 0) {
|
||||
|
|
@ -983,13 +983,13 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
|
|||
selectedTableRow = D_800E86C4[gControllerPakSelectedTableRow + 2] - 1;
|
||||
osPfsState = &D_8018E938[selectedTableRow];
|
||||
|
||||
switch (osPfsDeleteFile(&D_8018E868, osPfsState->company_code, osPfsState->game_code, (u8 *)&osPfsState->game_name, (u8 *)&osPfsState->ext_name)) {
|
||||
switch (osPfsDeleteFile(&gControllerPak1FileHandle, osPfsState->company_code, osPfsState->game_code, (u8 *)&osPfsState->game_name, (u8 *)&osPfsState->ext_name)) {
|
||||
default:
|
||||
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_ERASE_ERROR_NOT_ERASED;
|
||||
return;
|
||||
case 0:
|
||||
D_8018EB38[selectedTableRow] = -1;
|
||||
gControllerPakNumPagesFree += (((osPfsState->file_size + 0xFF) >> 8) & 0xFF);
|
||||
gControllerPak1NumPagesFree += (((osPfsState->file_size + 0xFF) >> 8) & 0xFF);
|
||||
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_TABLE_GAME_DATA;
|
||||
return;
|
||||
case PFS_ERR_NOPACK:
|
||||
|
|
|
|||
Loading…
Reference in New Issue