diff --git a/asm/bss_8001C4D0_1.s b/asm/bss_8001C4D0_1.s index d08e053c5..6cf36d81f 100644 --- a/asm/bss_8001C4D0_1.s +++ b/asm/bss_8001C4D0_1.s @@ -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 diff --git a/asm/non_matchings/code_80091750/add_8018D9E0_entry.s b/asm/non_matchings/code_80091750/add_8018D9E0_entry.s index cd1dbf21c..25767d2e9 100644 --- a/asm/non_matchings/code_80091750/add_8018D9E0_entry.s +++ b/asm/non_matchings/code_80091750/add_8018D9E0_entry.s @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800A0DFC.s b/asm/non_matchings/code_80091750/func_800A0DFC.s index fe9ef415e..813dae66c 100644 --- a/asm/non_matchings/code_80091750/func_800A0DFC.s +++ b/asm/non_matchings/code_80091750/func_800A0DFC.s @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800AA2EC.s b/asm/non_matchings/code_80091750/func_800AA2EC.s index 25d23edfd..0a604f864 100644 --- a/asm/non_matchings/code_80091750/func_800AA2EC.s +++ b/asm/non_matchings/code_80091750/func_800AA2EC.s @@ -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) diff --git a/asm/non_matchings/code_80091750/func_800AD2E8.s b/asm/non_matchings/code_80091750/func_800AD2E8.s index 5ff57f744..6c52030ce 100644 --- a/asm/non_matchings/code_80091750/func_800AD2E8.s +++ b/asm/non_matchings/code_80091750/func_800AD2E8.s @@ -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) diff --git a/asm/non_matchings/code_80091750/func_800AE218.s b/asm/non_matchings/code_80091750/func_800AE218.s index e8775dca8..4189565ce 100644 --- a/asm/non_matchings/code_80091750/func_800AE218.s +++ b/asm/non_matchings/code_80091750/func_800AE218.s @@ -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) diff --git a/asm/non_matchings/menus/func_800B5DA4.s b/asm/non_matchings/menus/func_800B5DA4.s deleted file mode 100644 index efea2ee73..000000000 --- a/asm/non_matchings/menus/func_800B5DA4.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/menus/func_800B6014.s b/asm/non_matchings/menus/func_800B6014.s index aeb85b032..5302b4790 100644 --- a/asm/non_matchings/menus/func_800B6014.s +++ b/asm/non_matchings/menus/func_800B6014.s @@ -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 diff --git a/asm/non_matchings/menus/func_800B6178.s b/asm/non_matchings/menus/func_800B6178.s index 3603f9bb9..3cced391f 100644 --- a/asm/non_matchings/menus/func_800B6178.s +++ b/asm/non_matchings/menus/func_800B6178.s @@ -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 diff --git a/asm/non_matchings/menus/func_800B65F4.s b/asm/non_matchings/menus/func_800B65F4.s index 452c93142..8f9d060f6 100644 --- a/asm/non_matchings/menus/func_800B65F4.s +++ b/asm/non_matchings/menus/func_800B65F4.s @@ -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 diff --git a/asm/non_matchings/menus/func_800B69BC.s b/asm/non_matchings/menus/func_800B69BC.s index 048e0ee21..30e6e32b9 100644 --- a/asm/non_matchings/menus/func_800B69BC.s +++ b/asm/non_matchings/menus/func_800B69BC.s @@ -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) diff --git a/include/defines.h b/include/defines.h index 5dc71a5f5..7f6b40874 100644 --- a/include/defines.h +++ b/include/defines.h @@ -1,6 +1,13 @@ #ifndef DEFINES_H #define DEFINES_H + +/** + * Options for Controller Pak state + */ +#define OK 1 +#define BAD 0 + /** * Enable debug mode * diff --git a/include/variables.h b/include/variables.h index 255f99a1b..9354ae5a1 100644 --- a/include/variables.h +++ b/include/variables.h @@ -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 diff --git a/src/code_80091750.c b/src/code_80091750.c index 510408ea6..d9ef59413 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -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; diff --git a/src/code_800B45E0.c b/src/code_800B45E0.c index 55fa69005..1922a3020 100644 --- a/src/code_800B45E0.c +++ b/src/code_800B45E0.c @@ -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(); } } diff --git a/src/code_800B45E0.h b/src/code_800B45E0.h index 7a52b2580..82c55069f 100644 --- a/src/code_800B45E0.h +++ b/src/code_800B45E0.h @@ -5,6 +5,27 @@ #include "common_structs.h" #include +/* 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; diff --git a/src/menus.c b/src/menus.c index c7e8518bd..3fa7bc395 100644 --- a/src/menus.c +++ b/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: