diff --git a/asm/bss_8001C4D0.s b/asm/bss_8001C4D0.s index 0f0474375..f734f2464 100644 --- a/asm/bss_8001C4D0.s +++ b/asm/bss_8001C4D0.s @@ -2106,7 +2106,7 @@ glabel D_8018EDF6 glabel gTimeTrialDataCourseIndex .skip 1 -glabel D_8018EDF8 +glabel gCourseRecordsMenuSelection .skip 1 glabel D_8018EDF9 @@ -2121,7 +2121,7 @@ glabel D_8018EDFB glabel D_8018EDFC .skip 4 -glabel gStartMenuCounterForDemos +glabel gMenuTimingCounter .skip 4 glabel D_8018EE04 diff --git a/asm/non_matchings/code_80091750/func_80095574.s b/asm/non_matchings/code_80091750/func_80095574.s index 1b9e922cc..383ec33b7 100644 --- a/asm/non_matchings/code_80091750/func_80095574.s +++ b/asm/non_matchings/code_80091750/func_80095574.s @@ -192,15 +192,15 @@ glabel L8009568C /* 09642C 8009582C 24010001 */ li $at, 1 .L80095830: /* 096430 80095830 14410007 */ bne $v0, $at, .L80095850 -/* 096434 80095834 3C038019 */ lui $v1, %hi(gStartMenuCounterForDemos) # 0x8019 -/* 096438 80095838 3C038019 */ lui $v1, %hi(gStartMenuCounterForDemos) # $v1, 0x8019 -/* 09643C 8009583C 2463EE00 */ addiu $v1, %lo(gStartMenuCounterForDemos) # addiu $v1, $v1, -0x1200 +/* 096434 80095834 3C038019 */ lui $v1, %hi(gMenuTimingCounter) # 0x8019 +/* 096438 80095838 3C038019 */ lui $v1, %hi(gMenuTimingCounter) # $v1, 0x8019 +/* 09643C 8009583C 2463EE00 */ addiu $v1, %lo(gMenuTimingCounter) # addiu $v1, $v1, -0x1200 /* 096440 80095840 8C790000 */ lw $t9, ($v1) /* 096444 80095844 27280001 */ addiu $t0, $t9, 1 /* 096448 80095848 10000004 */ b .L8009585C /* 09644C 8009584C AC680000 */ sw $t0, ($v1) .L80095850: -/* 096450 80095850 2463EE00 */ addiu $v1, $v1, %lo(gStartMenuCounterForDemos) # -0x1200 +/* 096450 80095850 2463EE00 */ addiu $v1, $v1, %lo(gMenuTimingCounter) # -0x1200 /* 096454 80095854 24090003 */ li $t1, 3 /* 096458 80095858 AC690000 */ sw $t1, ($v1) .L8009585C: @@ -211,8 +211,8 @@ glabel L8009568C /* 09646C 8009586C 2841012D */ slti $at, $v0, 0x12d /* 096470 80095870 0C032384 */ jal play_sound2 /* 096474 80095874 34849009 */ ori $a0, (0x49009009 & 0xFFFF) # ori $a0, $a0, 0x9009 -/* 096478 80095878 3C028019 */ lui $v0, %hi(gStartMenuCounterForDemos) # $v0, 0x8019 -/* 09647C 8009587C 8C42EE00 */ lw $v0, %lo(gStartMenuCounterForDemos)($v0) +/* 096478 80095878 3C028019 */ lui $v0, %hi(gMenuTimingCounter) # $v0, 0x8019 +/* 09647C 8009587C 8C42EE00 */ lw $v0, %lo(gMenuTimingCounter)($v0) /* 096480 80095880 2841012D */ slti $at, $v0, 0x12d .L80095884: /* 096484 80095884 14200005 */ bnez $at, .L8009589C diff --git a/asm/non_matchings/code_80091750/func_800A1BE0.s b/asm/non_matchings/code_80091750/func_800A1BE0.s index fbb717381..453dcb12f 100644 --- a/asm/non_matchings/code_80091750/func_800A1BE0.s +++ b/asm/non_matchings/code_80091750/func_800A1BE0.s @@ -46,8 +46,8 @@ glabel func_800A1BE0 /* 0A2888 800A1C88 2414003F */ li $s4, 63 /* 0A288C 800A1C8C 3C1EFA00 */ lui $fp, 0xfa00 .L800A1C90: -/* 0A2890 800A1C90 3C0A8019 */ lui $t2, %hi(D_8018EDF8) # $t2, 0x8019 -/* 0A2894 800A1C94 814AEDF8 */ lb $t2, %lo(D_8018EDF8)($t2) +/* 0A2890 800A1C90 3C0A8019 */ lui $t2, %hi(gCourseRecordsMenuSelection) # $t2, 0x8019 +/* 0A2894 800A1C94 814AEDF8 */ lb $t2, %lo(gCourseRecordsMenuSelection)($t2) /* 0A2898 800A1C98 00008825 */ move $s1, $zero /* 0A289C 800A1C9C 24010001 */ li $at, 1 /* 0A28A0 800A1CA0 160A0003 */ bne $s0, $t2, .L800A1CB0 @@ -110,8 +110,8 @@ glabel func_800A1BE0 /* 0A296C 800A1D6C 26730004 */ addiu $s3, $s3, 4 /* 0A2970 800A1D70 1601FFC7 */ bne $s0, $at, .L800A1C90 /* 0A2974 800A1D74 2694000D */ addiu $s4, $s4, 0xd -/* 0A2978 800A1D78 3C188019 */ lui $t8, %hi(D_8018EDF8) # $t8, 0x8019 -/* 0A297C 800A1D7C 8318EDF8 */ lb $t8, %lo(D_8018EDF8)($t8) +/* 0A2978 800A1D78 3C188019 */ lui $t8, %hi(gCourseRecordsMenuSelection) # $t8, 0x8019 +/* 0A297C 800A1D7C 8318EDF8 */ lb $t8, %lo(gCourseRecordsMenuSelection)($t8) /* 0A2980 800A1D80 240E001F */ li $t6, 31 /* 0A2984 800A1D84 A7AE0078 */ sh $t6, 0x78($sp) /* 0A2988 800A1D88 00187880 */ sll $t7, $t8, 2 diff --git a/asm/non_matchings/code_80091750/func_800A1DE0.s b/asm/non_matchings/code_80091750/func_800A1DE0.s index deecfa727..76c08cd49 100644 --- a/asm/non_matchings/code_80091750/func_800A1DE0.s +++ b/asm/non_matchings/code_80091750/func_800A1DE0.s @@ -11,10 +11,10 @@ glabel func_800A1DE0 /* 0A2A04 800A1E04 0C024C36 */ jal set_text_color /* 0A2A08 800A1E08 24040001 */ li $a0, 1 /* 0A2A0C 800A1E0C 3C01800F */ lui $at, %hi(D_800F1B58) # $at, 0x800f -/* 0A2A10 800A1E10 3C138019 */ lui $s3, %hi(D_8018EDF8) # $s3, 0x8019 +/* 0A2A10 800A1E10 3C138019 */ lui $s3, %hi(gCourseRecordsMenuSelection) # $s3, 0x8019 /* 0A2A14 800A1E14 3C12800E */ lui $s2, %hi(D_800E7848) # $s2, 0x800e /* 0A2A18 800A1E18 26527848 */ addiu $s2, %lo(D_800E7848) # addiu $s2, $s2, 0x7848 -/* 0A2A1C 800A1E1C 2673EDF8 */ addiu $s3, %lo(D_8018EDF8) # addiu $s3, $s3, -0x1208 +/* 0A2A1C 800A1E1C 2673EDF8 */ addiu $s3, %lo(gCourseRecordsMenuSelection) # addiu $s3, $s3, -0x1208 /* 0A2A20 800A1E20 C4341B58 */ lwc1 $f20, %lo(D_800F1B58)($at) /* 0A2A24 800A1E24 00008825 */ move $s1, $zero /* 0A2A28 800A1E28 2410003C */ li $s0, 60 diff --git a/asm/non_matchings/code_800AF9B0/func_800B13B0.s b/asm/non_matchings/code_800AF9B0/func_800B13B0.s deleted file mode 100644 index 32ccc0e8d..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B13B0.s +++ /dev/null @@ -1,142 +0,0 @@ -glabel func_800B13B0 -/* 0B1FB0 800B13B0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B1FB4 800B13B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B1FB8 800B13B8 AFA50024 */ sw $a1, 0x24($sp) -/* 0B1FBC 800B13BC 948F000C */ lhu $t7, 0xc($a0) -/* 0B1FC0 800B13C0 948E0006 */ lhu $t6, 6($a0) -/* 0B1FC4 800B13C4 3C19800E */ lui $t9, %hi(gEnableDebugMode) # $t9, 0x800e -/* 0B1FC8 800B13C8 9739C520 */ lhu $t9, %lo(gEnableDebugMode)($t9) -/* 0B1FCC 800B13CC 01CF2825 */ or $a1, $t6, $t7 -/* 0B1FD0 800B13D0 30B8FFFF */ andi $t8, $a1, 0xffff -/* 0B1FD4 800B13D4 17200007 */ bnez $t9, .L800B13F4 -/* 0B1FD8 800B13D8 03002825 */ move $a1, $t8 -/* 0B1FDC 800B13DC 33081000 */ andi $t0, $t8, 0x1000 -/* 0B1FE0 800B13E0 11000004 */ beqz $t0, .L800B13F4 -/* 0B1FE4 800B13E4 00000000 */ nop -/* 0B1FE8 800B13E8 37058000 */ ori $a1, $t8, 0x8000 -/* 0B1FEC 800B13EC 30A9FFFF */ andi $t1, $a1, 0xffff -/* 0B1FF0 800B13F0 01202825 */ move $a1, $t1 -.L800B13F4: -/* 0B1FF4 800B13F4 0C02D148 */ jal func_800B4520 -/* 0B1FF8 800B13F8 A7A5001E */ sh $a1, 0x1e($sp) -/* 0B1FFC 800B13FC 14400067 */ bnez $v0, .L800B159C -/* 0B2000 800B1400 97A5001E */ lhu $a1, 0x1e($sp) -/* 0B2004 800B1404 3C0A8019 */ lui $t2, %hi(D_8018EDEC) # $t2, 0x8019 -/* 0B2008 800B1408 814AEDEC */ lb $t2, %lo(D_8018EDEC)($t2) -/* 0B200C 800B140C 00A01825 */ move $v1, $a1 -/* 0B2010 800B1410 24010001 */ li $at, 1 -/* 0B2014 800B1414 1541005A */ bne $t2, $at, .L800B1580 -/* 0B2018 800B1418 306F8000 */ andi $t7, $v1, 0x8000 -/* 0B201C 800B141C 30AB0400 */ andi $t3, $a1, 0x400 -/* 0B2020 800B1420 11600011 */ beqz $t3, .L800B1468 -/* 0B2024 800B1424 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019 -/* 0B2028 800B1428 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209 -/* 0B202C 800B142C 80A20000 */ lb $v0, ($a1) -/* 0B2030 800B1430 24010003 */ li $at, 3 -/* 0B2034 800B1434 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B2038 800B1438 04410004 */ bgez $v0, .L800B144C -/* 0B203C 800B143C 304C0003 */ andi $t4, $v0, 3 -/* 0B2040 800B1440 11800002 */ beqz $t4, .L800B144C -/* 0B2044 800B1444 00000000 */ nop -/* 0B2048 800B1448 258CFFFC */ addiu $t4, $t4, -4 -.L800B144C: -/* 0B204C 800B144C 11810006 */ beq $t4, $at, .L800B1468 -/* 0B2050 800B1450 244D0001 */ addiu $t5, $v0, 1 -/* 0B2054 800B1454 A0AD0000 */ sb $t5, ($a1) -/* 0B2058 800B1458 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B205C 800B145C 0C032384 */ jal play_sound2 -/* 0B2060 800B1460 AFA30018 */ sw $v1, 0x18($sp) -/* 0B2064 800B1464 8FA30018 */ lw $v1, 0x18($sp) -.L800B1468: -/* 0B2068 800B1468 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019 -/* 0B206C 800B146C 306E0800 */ andi $t6, $v1, 0x800 -/* 0B2070 800B1470 11C0000D */ beqz $t6, .L800B14A8 -/* 0B2074 800B1474 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209 -/* 0B2078 800B1478 80A20000 */ lb $v0, ($a1) -/* 0B207C 800B147C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B2080 800B1480 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B2084 800B1484 304F0003 */ andi $t7, $v0, 3 -/* 0B2088 800B1488 11E00007 */ beqz $t7, .L800B14A8 -/* 0B208C 800B148C 2458FFFF */ addiu $t8, $v0, -1 -/* 0B2090 800B1490 A0B80000 */ sb $t8, ($a1) -/* 0B2094 800B1494 0C032384 */ jal play_sound2 -/* 0B2098 800B1498 AFA30018 */ sw $v1, 0x18($sp) -/* 0B209C 800B149C 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019 -/* 0B20A0 800B14A0 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209 -/* 0B20A4 800B14A4 8FA30018 */ lw $v1, 0x18($sp) -.L800B14A8: -/* 0B20A8 800B14A8 30790100 */ andi $t9, $v1, 0x100 -/* 0B20AC 800B14AC 53200012 */ beql $t9, $zero, .L800B14F8 -/* 0B20B0 800B14B0 306A0200 */ andi $t2, $v1, 0x200 -/* 0B20B4 800B14B4 80A20000 */ lb $v0, ($a1) -/* 0B20B8 800B14B8 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B20BC 800B14BC 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B20C0 800B14C0 04410003 */ bgez $v0, .L800B14D0 -/* 0B20C4 800B14C4 00024083 */ sra $t0, $v0, 2 -/* 0B20C8 800B14C8 24410003 */ addiu $at, $v0, 3 -/* 0B20CC 800B14CC 00014083 */ sra $t0, $at, 2 -.L800B14D0: -/* 0B20D0 800B14D0 24010003 */ li $at, 3 -/* 0B20D4 800B14D4 11010007 */ beq $t0, $at, .L800B14F4 -/* 0B20D8 800B14D8 24490004 */ addiu $t1, $v0, 4 -/* 0B20DC 800B14DC A0A90000 */ sb $t1, ($a1) -/* 0B20E0 800B14E0 0C032384 */ jal play_sound2 -/* 0B20E4 800B14E4 AFA30018 */ sw $v1, 0x18($sp) -/* 0B20E8 800B14E8 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019 -/* 0B20EC 800B14EC 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209 -/* 0B20F0 800B14F0 8FA30018 */ lw $v1, 0x18($sp) -.L800B14F4: -/* 0B20F4 800B14F4 306A0200 */ andi $t2, $v1, 0x200 -.L800B14F8: -/* 0B20F8 800B14F8 5140000F */ beql $t2, $zero, .L800B1538 -/* 0B20FC 800B14FC 306D4000 */ andi $t5, $v1, 0x4000 -/* 0B2100 800B1500 80A20000 */ lb $v0, ($a1) -/* 0B2104 800B1504 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B2108 800B1508 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B210C 800B150C 04410003 */ bgez $v0, .L800B151C -/* 0B2110 800B1510 00025883 */ sra $t3, $v0, 2 -/* 0B2114 800B1514 24410003 */ addiu $at, $v0, 3 -/* 0B2118 800B1518 00015883 */ sra $t3, $at, 2 -.L800B151C: -/* 0B211C 800B151C 11600005 */ beqz $t3, .L800B1534 -/* 0B2120 800B1520 244CFFFC */ addiu $t4, $v0, -4 -/* 0B2124 800B1524 A0AC0000 */ sb $t4, ($a1) -/* 0B2128 800B1528 0C032384 */ jal play_sound2 -/* 0B212C 800B152C AFA30018 */ sw $v1, 0x18($sp) -/* 0B2130 800B1530 8FA30018 */ lw $v1, 0x18($sp) -.L800B1534: -/* 0B2134 800B1534 306D4000 */ andi $t5, $v1, 0x4000 -.L800B1538: -/* 0B2138 800B1538 11A00008 */ beqz $t5, .L800B155C -/* 0B213C 800B153C 306E8000 */ andi $t6, $v1, 0x8000 -/* 0B2140 800B1540 0C027896 */ jal func_8009E258 -/* 0B2144 800B1544 00000000 */ nop -/* 0B2148 800B1548 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B214C 800B154C 0C032384 */ jal play_sound2 -/* 0B2150 800B1550 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B2154 800B1554 10000012 */ b .L800B15A0 -/* 0B2158 800B1558 8FBF0014 */ lw $ra, 0x14($sp) -.L800B155C: -/* 0B215C 800B155C 11C0000F */ beqz $t6, .L800B159C -/* 0B2160 800B1560 3C018019 */ lui $at, %hi(D_8018EDF8) # $at, 0x8019 -/* 0B2164 800B1564 0C027870 */ jal func_8009E1C0 -/* 0B2168 800B1568 A020EDF8 */ sb $zero, %lo(D_8018EDF8)($at) -/* 0B216C 800B156C 3C044900 */ lui $a0, (0x49008016 >> 16) # lui $a0, 0x4900 -/* 0B2170 800B1570 0C032384 */ jal play_sound2 -/* 0B2174 800B1574 34848016 */ ori $a0, (0x49008016 & 0xFFFF) # ori $a0, $a0, 0x8016 -/* 0B2178 800B1578 10000009 */ b .L800B15A0 -/* 0B217C 800B157C 8FBF0014 */ lw $ra, 0x14($sp) -.L800B1580: -/* 0B2180 800B1580 51E00007 */ beql $t7, $zero, .L800B15A0 -/* 0B2184 800B1584 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B2188 800B1588 0C027896 */ jal func_8009E258 -/* 0B218C 800B158C 00000000 */ nop -/* 0B2190 800B1590 3C044900 */ lui $a0, (0x49008016 >> 16) # lui $a0, 0x4900 -/* 0B2194 800B1594 0C032384 */ jal play_sound2 -/* 0B2198 800B1598 34848016 */ ori $a0, (0x49008016 & 0xFFFF) # ori $a0, $a0, 0x8016 -.L800B159C: -/* 0B219C 800B159C 8FBF0014 */ lw $ra, 0x14($sp) -.L800B15A0: -/* 0B21A0 800B15A0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B21A4 800B15A4 03E00008 */ jr $ra -/* 0B21A8 800B15A8 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B15AC.s b/asm/non_matchings/code_800AF9B0/func_800B15AC.s index 51906fed7..ab3cfa5f3 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B15AC.s +++ b/asm/non_matchings/code_800AF9B0/func_800B15AC.s @@ -69,8 +69,8 @@ glabel func_800B15AC /* 0B22A8 800B16A8 AFA70018 */ sw $a3, 0x18($sp) /* 0B22AC 800B16AC 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019 /* 0B22B0 800B16B0 80A5EDF7 */ lb $a1, %lo(gTimeTrialDataCourseIndex)($a1) -/* 0B22B4 800B16B4 3C038019 */ lui $v1, %hi(D_8018EDF8) # $v1, 0x8019 -/* 0B22B8 800B16B8 2463EDF8 */ addiu $v1, %lo(D_8018EDF8) # addiu $v1, $v1, -0x1208 +/* 0B22B4 800B16B4 3C038019 */ lui $v1, %hi(gCourseRecordsMenuSelection) # $v1, 0x8019 +/* 0B22B8 800B16B8 2463EDF8 */ addiu $v1, %lo(gCourseRecordsMenuSelection) # addiu $v1, $v1, -0x1208 /* 0B22BC 800B16BC 806E0000 */ lb $t6, ($v1) /* 0B22C0 800B16C0 3C0D8019 */ lui $t5, %hi(D_8018EB90) # $t5, 0x8019 /* 0B22C4 800B16C4 25ADEB90 */ addiu $t5, %lo(D_8018EB90) # addiu $t5, $t5, -0x1470 @@ -102,8 +102,8 @@ glabel func_800B15AC /* 0B2324 800B1724 AFA70018 */ sw $a3, 0x18($sp) /* 0B2328 800B1728 0C02D8E7 */ jal func_800B639C /* 0B232C 800B172C AFA80024 */ sw $t0, 0x24($sp) -/* 0B2330 800B1730 3C038019 */ lui $v1, %hi(D_8018EDF8) # $v1, 0x8019 -/* 0B2334 800B1734 2463EDF8 */ addiu $v1, %lo(D_8018EDF8) # addiu $v1, $v1, -0x1208 +/* 0B2330 800B1730 3C038019 */ lui $v1, %hi(gCourseRecordsMenuSelection) # $v1, 0x8019 +/* 0B2334 800B1734 2463EDF8 */ addiu $v1, %lo(gCourseRecordsMenuSelection) # addiu $v1, $v1, -0x1208 /* 0B2338 800B1738 8FA60028 */ lw $a2, 0x28($sp) /* 0B233C 800B173C 8FA70018 */ lw $a3, 0x18($sp) /* 0B2340 800B1740 04410004 */ bgez $v0, .L800B1754 @@ -148,8 +148,8 @@ glabel func_800B15AC /* 0B23D0 800B17D0 3C01800F */ lui $at, %hi(D_800F2D90) /* 0B23D4 800B17D4 D4262D90 */ ldc1 $f6, %lo(D_800F2D90)($at) /* 0B23D8 800B17D8 C4C40024 */ lwc1 $f4, 0x24($a2) -/* 0B23DC 800B17DC 3C038019 */ lui $v1, %hi(D_8018EDF8) # $v1, 0x8019 -/* 0B23E0 800B17E0 2463EDF8 */ addiu $v1, %lo(D_8018EDF8) # addiu $v1, $v1, -0x1208 +/* 0B23DC 800B17DC 3C038019 */ lui $v1, %hi(gCourseRecordsMenuSelection) # $v1, 0x8019 +/* 0B23E0 800B17E0 2463EDF8 */ addiu $v1, %lo(gCourseRecordsMenuSelection) # addiu $v1, $v1, -0x1208 /* 0B23E4 800B17E4 46002021 */ cvt.d.s $f0, $f4 /* 0B23E8 800B17E8 8FA70018 */ lw $a3, 0x18($sp) /* 0B23EC 800B17EC 4626003C */ c.lt.d $f0, $f6 @@ -195,8 +195,8 @@ glabel func_800B15AC /* 0B247C 800B187C AFA70018 */ sw $a3, 0x18($sp) /* 0B2480 800B1880 0C02D8E7 */ jal func_800B639C /* 0B2484 800B1884 AFA80024 */ sw $t0, 0x24($sp) -/* 0B2488 800B1888 3C038019 */ lui $v1, %hi(D_8018EDF8) # $v1, 0x8019 -/* 0B248C 800B188C 2463EDF8 */ addiu $v1, %lo(D_8018EDF8) # addiu $v1, $v1, -0x1208 +/* 0B2488 800B1888 3C038019 */ lui $v1, %hi(gCourseRecordsMenuSelection) # $v1, 0x8019 +/* 0B248C 800B188C 2463EDF8 */ addiu $v1, %lo(gCourseRecordsMenuSelection) # addiu $v1, $v1, -0x1208 /* 0B2490 800B1890 8FA60028 */ lw $a2, 0x28($sp) /* 0B2494 800B1894 8FA70018 */ lw $a3, 0x18($sp) /* 0B2498 800B1898 8FA80024 */ lw $t0, 0x24($sp) @@ -221,8 +221,8 @@ glabel func_800B15AC /* 0B24D8 800B18D8 3C01800F */ lui $at, %hi(D_800F2D98) /* 0B24DC 800B18DC D4242D98 */ ldc1 $f4, %lo(D_800F2D98)($at) /* 0B24E0 800B18E0 C4D20024 */ lwc1 $f18, 0x24($a2) -/* 0B24E4 800B18E4 3C038019 */ lui $v1, %hi(D_8018EDF8) # $v1, 0x8019 -/* 0B24E8 800B18E8 2463EDF8 */ addiu $v1, %lo(D_8018EDF8) # addiu $v1, $v1, -0x1208 +/* 0B24E4 800B18E4 3C038019 */ lui $v1, %hi(gCourseRecordsMenuSelection) # $v1, 0x8019 +/* 0B24E8 800B18E8 2463EDF8 */ addiu $v1, %lo(gCourseRecordsMenuSelection) # addiu $v1, $v1, -0x1208 /* 0B24EC 800B18EC 46009021 */ cvt.d.s $f0, $f18 /* 0B24F0 800B18F0 8FA70018 */ lw $a3, 0x18($sp) /* 0B24F4 800B18F4 4624003C */ c.lt.d $f0, $f4 @@ -377,8 +377,8 @@ glabel func_800B15AC /* 0B2724 800B1B24 53000043 */ beql $t8, $zero, .L800B1C34 /* 0B2728 800B1B28 8FBF0014 */ lw $ra, 0x14($sp) /* 0B272C 800B1B2C 806A0000 */ lb $t2, ($v1) -/* 0B2730 800B1B30 3C038019 */ lui $v1, %hi(D_8018EDF8) # $v1, 0x8019 -/* 0B2734 800B1B34 2463EDF8 */ addiu $v1, %lo(D_8018EDF8) # addiu $v1, $v1, -0x1208 +/* 0B2730 800B1B30 3C038019 */ lui $v1, %hi(gCourseRecordsMenuSelection) # $v1, 0x8019 +/* 0B2734 800B1B34 2463EDF8 */ addiu $v1, %lo(gCourseRecordsMenuSelection) # addiu $v1, $v1, -0x1208 /* 0B2738 800B1B38 11400034 */ beqz $t2, .L800B1C0C /* 0B273C 800B1B3C 3C044900 */ lui $a0, (0x49008002 >> 16) /* 0B2740 800B1B40 80620000 */ lb $v0, ($v1) diff --git a/asm/non_matchings/code_800AF9B0/func_800B29D8.s b/asm/non_matchings/code_800AF9B0/func_800B29D8.s index fe634e643..696b10051 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B29D8.s +++ b/asm/non_matchings/code_800AF9B0/func_800B29D8.s @@ -368,9 +368,9 @@ glabel L800B2D30 /* 0B3B2C 800B2F2C 000C6080 */ sll $t4, $t4, 2 /* 0B3B30 800B2F30 000DC080 */ sll $t8, $t5, 2 /* 0B3B34 800B2F34 01987021 */ addu $t6, $t4, $t8 -/* 0B3B38 800B2F38 3C018019 */ lui $at, %hi(gStartMenuCounterForDemos) # $at, 0x8019 +/* 0B3B38 800B2F38 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 /* 0B3B3C 800B2F3C 006E1821 */ addu $v1, $v1, $t6 -/* 0B3B40 800B2F40 AC20EE00 */ sw $zero, %lo(gStartMenuCounterForDemos)($at) +/* 0B3B40 800B2F40 AC20EE00 */ sw $zero, %lo(gMenuTimingCounter)($at) /* 0B3B44 800B2F44 10000162 */ b .L800B34D0 /* 0B3B48 800B2F48 8C632B70 */ lw $v1, %lo(D_800F2B70)($v1) # 0x2b70($v1) .L800B2F4C: @@ -386,12 +386,12 @@ glabel L800B2D30 glabel L800B2F70 /* 0B3B70 800B2F70 14A00023 */ bnez $a1, .L800B3000 /* 0B3B74 800B2F74 00603025 */ move $a2, $v1 -/* 0B3B78 800B2F78 3C0A8019 */ lui $t2, %hi(gStartMenuCounterForDemos) # $t2, 0x8019 -/* 0B3B7C 800B2F7C 8D4AEE00 */ lw $t2, %lo(gStartMenuCounterForDemos)($t2) -/* 0B3B80 800B2F80 3C018019 */ lui $at, %hi(gStartMenuCounterForDemos) # $at, 0x8019 +/* 0B3B78 800B2F78 3C0A8019 */ lui $t2, %hi(gMenuTimingCounter) # $t2, 0x8019 +/* 0B3B7C 800B2F7C 8D4AEE00 */ lw $t2, %lo(gMenuTimingCounter)($t2) +/* 0B3B80 800B2F80 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 /* 0B3B84 800B2F84 3C028019 */ lui $v0, %hi(D_8018EDF3) # $v0, 0x8019 /* 0B3B88 800B2F88 254F0001 */ addiu $t7, $t2, 1 -/* 0B3B8C 800B2F8C AC2FEE00 */ sw $t7, %lo(gStartMenuCounterForDemos)($at) +/* 0B3B8C 800B2F8C AC2FEE00 */ sw $t7, %lo(gMenuTimingCounter)($at) /* 0B3B90 800B2F90 24010064 */ li $at, 100 /* 0B3B94 800B2F94 11E10005 */ beq $t7, $at, .L800B2FAC /* 0B3B98 800B2F98 2401012C */ li $at, 300 @@ -579,8 +579,8 @@ glabel L800B2F70 /* 0B3E48 800B3248 A02AEDED */ sb $t2, %lo(D_8018EDED)($at) /* 0B3E4C 800B324C 0C032384 */ jal play_sound2 /* 0B3E50 800B3250 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001 -/* 0B3E54 800B3254 3C018019 */ lui $at, %hi(gStartMenuCounterForDemos) # $at, 0x8019 -/* 0B3E58 800B3258 AC20EE00 */ sw $zero, %lo(gStartMenuCounterForDemos)($at) +/* 0B3E54 800B3254 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 +/* 0B3E58 800B3258 AC20EE00 */ sw $zero, %lo(gMenuTimingCounter)($at) .L800B325C: /* 0B3E5C 800B325C 3C0F8019 */ lui $t7, %hi(D_8018EDF3) # $t7, 0x8019 /* 0B3E60 800B3260 81EFEDF3 */ lb $t7, %lo(D_8018EDF3)($t7) @@ -608,12 +608,12 @@ glabel L800B2F70 glabel L800B32B4 /* 0B3EB4 800B32B4 14A00014 */ bnez $a1, .L800B3308 /* 0B3EB8 800B32B8 00603025 */ move $a2, $v1 -/* 0B3EBC 800B32BC 3C0A8019 */ lui $t2, %hi(gStartMenuCounterForDemos) # $t2, 0x8019 -/* 0B3EC0 800B32C0 8D4AEE00 */ lw $t2, %lo(gStartMenuCounterForDemos)($t2) -/* 0B3EC4 800B32C4 3C018019 */ lui $at, %hi(gStartMenuCounterForDemos) # $at, 0x8019 +/* 0B3EBC 800B32BC 3C0A8019 */ lui $t2, %hi(gMenuTimingCounter) # $t2, 0x8019 +/* 0B3EC0 800B32C0 8D4AEE00 */ lw $t2, %lo(gMenuTimingCounter)($t2) +/* 0B3EC4 800B32C4 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 /* 0B3EC8 800B32C8 3C044900 */ lui $a0, (0x4900900F >> 16) # lui $a0, 0x4900 /* 0B3ECC 800B32CC 254F0001 */ addiu $t7, $t2, 1 -/* 0B3ED0 800B32D0 AC2FEE00 */ sw $t7, %lo(gStartMenuCounterForDemos)($at) +/* 0B3ED0 800B32D0 AC2FEE00 */ sw $t7, %lo(gMenuTimingCounter)($at) /* 0B3ED4 800B32D4 2401003C */ li $at, 60 /* 0B3ED8 800B32D8 11E10006 */ beq $t7, $at, .L800B32F4 /* 0B3EDC 800B32DC 3484900F */ ori $a0, (0x4900900F & 0xFFFF) # ori $a0, $a0, 0x900f @@ -680,9 +680,9 @@ glabel L800B32B4 /* 0B3FB8 800B33B8 000C6080 */ sll $t4, $t4, 2 /* 0B3FBC 800B33BC 000D7080 */ sll $t6, $t5, 2 /* 0B3FC0 800B33C0 018EC021 */ addu $t8, $t4, $t6 -/* 0B3FC4 800B33C4 3C018019 */ lui $at, %hi(gStartMenuCounterForDemos) # $at, 0x8019 +/* 0B3FC4 800B33C4 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 /* 0B3FC8 800B33C8 00781821 */ addu $v1, $v1, $t8 -/* 0B3FCC 800B33CC AC20EE00 */ sw $zero, %lo(gStartMenuCounterForDemos)($at) +/* 0B3FCC 800B33CC AC20EE00 */ sw $zero, %lo(gMenuTimingCounter)($at) /* 0B3FD0 800B33D0 1000003F */ b .L800B34D0 /* 0B3FD4 800B33D4 8C632B70 */ lw $v1, %lo(D_800F2B70)($v1) # 0x2b70($v1) .L800B33D8: diff --git a/asm/non_matchings/code_800AF9B0/func_800B34E8.s b/asm/non_matchings/code_800AF9B0/func_800B34E8.s deleted file mode 100644 index 11badb75c..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B34E8.s +++ /dev/null @@ -1,36 +0,0 @@ -glabel func_800B34E8 -/* 0B40E8 800B34E8 3C0E8019 */ lui $t6, %hi(gCharacterSelections) # $t6, 0x8019 -/* 0B40EC 800B34EC 81CEEDE4 */ lb $t6, %lo(gCharacterSelections)($t6) -/* 0B40F0 800B34F0 3C0F8019 */ lui $t7, %hi(D_8018EDE5) # 0x8019 -/* 0B40F4 800B34F4 148E0003 */ bne $a0, $t6, .L800B3504 -/* 0B40F8 800B34F8 00000000 */ nop -/* 0B40FC 800B34FC 03E00008 */ jr $ra -/* 0B4100 800B3500 00001025 */ move $v0, $zero - -.L800B3504: -/* 0B4104 800B3504 81EFEDE5 */ lb $t7, %lo(D_8018EDE5)($t7) # -0x121b($t7) -/* 0B4108 800B3508 3C188019 */ lui $t8, %hi(D_8018EDE6) # 0x8019 -/* 0B410C 800B350C 148F0003 */ bne $a0, $t7, .L800B351C -/* 0B4110 800B3510 00000000 */ nop -/* 0B4114 800B3514 03E00008 */ jr $ra -/* 0B4118 800B3518 00001025 */ move $v0, $zero - -.L800B351C: -/* 0B411C 800B351C 8318EDE6 */ lb $t8, %lo(D_8018EDE6)($t8) # -0x121a($t8) -/* 0B4120 800B3520 3C198019 */ lui $t9, %hi(D_8018EDE7) # 0x8019 -/* 0B4124 800B3524 14980003 */ bne $a0, $t8, .L800B3534 -/* 0B4128 800B3528 00000000 */ nop -/* 0B412C 800B352C 03E00008 */ jr $ra -/* 0B4130 800B3530 00001025 */ move $v0, $zero - -.L800B3534: -/* 0B4134 800B3534 8339EDE7 */ lb $t9, %lo(D_8018EDE7)($t9) # -0x1219($t9) -/* 0B4138 800B3538 24020001 */ li $v0, 1 -/* 0B413C 800B353C 14990003 */ bne $a0, $t9, .L800B354C -/* 0B4140 800B3540 00000000 */ nop -/* 0B4144 800B3544 03E00008 */ jr $ra -/* 0B4148 800B3548 00001025 */ move $v0, $zero - -.L800B354C: -/* 0B414C 800B354C 03E00008 */ jr $ra -/* 0B4150 800B3550 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B3554.s b/asm/non_matchings/code_800AF9B0/func_800B3554.s index bda0d4c3a..af1d89869 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B3554.s +++ b/asm/non_matchings/code_800AF9B0/func_800B3554.s @@ -138,8 +138,8 @@ glabel func_800B3554 /* 0B4348 800B3748 AFA6002C */ sw $a2, 0x2c($sp) /* 0B434C 800B374C 0C02D12B */ jal func_800B44AC /* 0B4350 800B3750 AFA70020 */ sw $a3, 0x20($sp) -/* 0B4354 800B3754 3C038019 */ lui $v1, %hi(gStartMenuCounterForDemos) # $v1, 0x8019 -/* 0B4358 800B3758 2463EE00 */ addiu $v1, %lo(gStartMenuCounterForDemos) # addiu $v1, $v1, -0x1200 +/* 0B4354 800B3754 3C038019 */ lui $v1, %hi(gMenuTimingCounter) # $v1, 0x8019 +/* 0B4358 800B3758 2463EE00 */ addiu $v1, %lo(gMenuTimingCounter) # addiu $v1, $v1, -0x1200 /* 0B435C 800B375C 8FA6002C */ lw $a2, 0x2c($sp) /* 0B4360 800B3760 8FA70020 */ lw $a3, 0x20($sp) /* 0B4364 800B3764 AC600000 */ sw $zero, ($v1) @@ -353,8 +353,8 @@ glabel func_800B3554 .L800B3A5C: /* 0B465C 800B3A5C 15200011 */ bnez $t1, .L800B3AA4 /* 0B4660 800B3A60 00603025 */ move $a2, $v1 -/* 0B4664 800B3A64 3C038019 */ lui $v1, %hi(gStartMenuCounterForDemos) # $v1, 0x8019 -/* 0B4668 800B3A68 2463EE00 */ addiu $v1, %lo(gStartMenuCounterForDemos) # addiu $v1, $v1, -0x1200 +/* 0B4664 800B3A64 3C038019 */ lui $v1, %hi(gMenuTimingCounter) # $v1, 0x8019 +/* 0B4668 800B3A68 2463EE00 */ addiu $v1, %lo(gMenuTimingCounter) # addiu $v1, $v1, -0x1200 /* 0B466C 800B3A6C 8C6A0000 */ lw $t2, ($v1) /* 0B4670 800B3A70 2401003C */ li $at, 60 /* 0B4674 800B3A74 3C044900 */ lui $a0, (0x4900900F >> 16) # lui $a0, 0x4900 diff --git a/asm/non_matchings/code_800AF9B0/func_800B3B58.s b/asm/non_matchings/code_800AF9B0/func_800B3B58.s deleted file mode 100644 index df3e109a9..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B3B58.s +++ /dev/null @@ -1,286 +0,0 @@ -glabel func_800B3B58 -/* 0B4758 800B3B58 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0B475C 800B3B5C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B4760 800B3B60 AFA5002C */ sw $a1, 0x2c($sp) -/* 0B4764 800B3B64 948F000C */ lhu $t7, 0xc($a0) -/* 0B4768 800B3B68 948E0006 */ lhu $t6, 6($a0) -/* 0B476C 800B3B6C 3C19800E */ lui $t9, %hi(gEnableDebugMode) # $t9, 0x800e -/* 0B4770 800B3B70 9739C520 */ lhu $t9, %lo(gEnableDebugMode)($t9) -/* 0B4774 800B3B74 01CF3025 */ or $a2, $t6, $t7 -/* 0B4778 800B3B78 30D8FFFF */ andi $t8, $a2, 0xffff -/* 0B477C 800B3B7C 17200007 */ bnez $t9, .L800B3B9C -/* 0B4780 800B3B80 03003025 */ move $a2, $t8 -/* 0B4784 800B3B84 33081000 */ andi $t0, $t8, 0x1000 -/* 0B4788 800B3B88 11000004 */ beqz $t0, .L800B3B9C -/* 0B478C 800B3B8C 00000000 */ nop -/* 0B4790 800B3B90 37068000 */ ori $a2, $t8, 0x8000 -/* 0B4794 800B3B94 30C9FFFF */ andi $t1, $a2, 0xffff -/* 0B4798 800B3B98 01203025 */ move $a2, $t1 -.L800B3B9C: -/* 0B479C 800B3B9C 0C02D148 */ jal func_800B4520 -/* 0B47A0 800B3BA0 A7A60026 */ sh $a2, 0x26($sp) -/* 0B47A4 800B3BA4 144000EF */ bnez $v0, .L800B3F64 -/* 0B47A8 800B3BA8 97A60026 */ lhu $a2, 0x26($sp) -/* 0B47AC 800B3BAC 3C058019 */ lui $a1, %hi(D_8018EDEC) # $a1, 0x8019 -/* 0B47B0 800B3BB0 24A5EDEC */ addiu $a1, %lo(D_8018EDEC) # addiu $a1, $a1, -0x1214 -/* 0B47B4 800B3BB4 80A20000 */ lb $v0, ($a1) -/* 0B47B8 800B3BB8 24010001 */ li $at, 1 -/* 0B47BC 800B3BBC 30CA0100 */ andi $t2, $a2, 0x100 -/* 0B47C0 800B3BC0 1041000B */ beq $v0, $at, .L800B3BF0 -/* 0B47C4 800B3BC4 24010002 */ li $at, 2 -/* 0B47C8 800B3BC8 10410065 */ beq $v0, $at, .L800B3D60 -/* 0B47CC 800B3BCC 30D90400 */ andi $t9, $a2, 0x400 -/* 0B47D0 800B3BD0 24010003 */ li $at, 3 -/* 0B47D4 800B3BD4 104100AE */ beq $v0, $at, .L800B3E90 -/* 0B47D8 800B3BD8 97AB002E */ lhu $t3, 0x2e($sp) -/* 0B47DC 800B3BDC 24010004 */ li $at, 4 -/* 0B47E0 800B3BE0 1041005F */ beq $v0, $at, .L800B3D60 -/* 0B47E4 800B3BE4 00000000 */ nop -/* 0B47E8 800B3BE8 100000DF */ b .L800B3F68 -/* 0B47EC 800B3BEC 8FBF0014 */ lw $ra, 0x14($sp) -.L800B3BF0: -/* 0B47F0 800B3BF0 11400012 */ beqz $t2, .L800B3C3C -/* 0B47F4 800B3BF4 00C01825 */ move $v1, $a2 -/* 0B47F8 800B3BF8 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 0B47FC 800B3BFC 8042EE09 */ lb $v0, %lo(gCupSelection)($v0) -/* 0B4800 800B3C00 28410003 */ slti $at, $v0, 3 -/* 0B4804 800B3C04 1020000D */ beqz $at, .L800B3C3C -/* 0B4808 800B3C08 244B0001 */ addiu $t3, $v0, 1 -/* 0B480C 800B3C0C 3C018019 */ lui $at, %hi(D_8018EE0A) # $at, 0x8019 -/* 0B4810 800B3C10 A022EE0A */ sb $v0, %lo(D_8018EE0A)($at) -/* 0B4814 800B3C14 3C018019 */ lui $at, %hi(gCupSelection) # $at, 0x8019 -/* 0B4818 800B3C18 A02BEE09 */ sb $t3, %lo(gCupSelection)($at) -/* 0B481C 800B3C1C 0C02D12B */ jal func_800B44AC -/* 0B4820 800B3C20 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B4824 800B3C24 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B4828 800B3C28 0C032384 */ jal play_sound2 -/* 0B482C 800B3C2C 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B4830 800B3C30 3C058019 */ lui $a1, %hi(D_8018EDEC) # $a1, 0x8019 -/* 0B4834 800B3C34 24A5EDEC */ addiu $a1, %lo(D_8018EDEC) # addiu $a1, $a1, -0x1214 -/* 0B4838 800B3C38 8FA3001C */ lw $v1, 0x1c($sp) -.L800B3C3C: -/* 0B483C 800B3C3C 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 0B4840 800B3C40 306C0200 */ andi $t4, $v1, 0x200 -/* 0B4844 800B3C44 11800011 */ beqz $t4, .L800B3C8C -/* 0B4848 800B3C48 8042EE09 */ lb $v0, %lo(gCupSelection)($v0) -/* 0B484C 800B3C4C 1840000F */ blez $v0, .L800B3C8C -/* 0B4850 800B3C50 3C018019 */ lui $at, %hi(D_8018EE0A) # $at, 0x8019 -/* 0B4854 800B3C54 A022EE0A */ sb $v0, %lo(D_8018EE0A)($at) -/* 0B4858 800B3C58 3C018019 */ lui $at, %hi(gCupSelection) # $at, 0x8019 -/* 0B485C 800B3C5C 244DFFFF */ addiu $t5, $v0, -1 -/* 0B4860 800B3C60 A02DEE09 */ sb $t5, %lo(gCupSelection)($at) -/* 0B4864 800B3C64 0C02D12B */ jal func_800B44AC -/* 0B4868 800B3C68 AFA3001C */ sw $v1, 0x1c($sp) -/* 0B486C 800B3C6C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B4870 800B3C70 0C032384 */ jal play_sound2 -/* 0B4874 800B3C74 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B4878 800B3C78 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 0B487C 800B3C7C 3C058019 */ lui $a1, %hi(D_8018EDEC) # $a1, 0x8019 -/* 0B4880 800B3C80 24A5EDEC */ addiu $a1, %lo(D_8018EDEC) # addiu $a1, $a1, -0x1214 -/* 0B4884 800B3C84 8042EE09 */ lb $v0, %lo(gCupSelection)($v0) -/* 0B4888 800B3C88 8FA3001C */ lw $v1, 0x1c($sp) -.L800B3C8C: -/* 0B488C 800B3C8C 3C0F8019 */ lui $t7, %hi(gCupCourseSelection) # $t7, 0x8019 -/* 0B4890 800B3C90 81EFEE0B */ lb $t7, %lo(gCupCourseSelection)($t7) -/* 0B4894 800B3C94 000270C0 */ sll $t6, $v0, 3 -/* 0B4898 800B3C98 3C08800F */ lui $t0, %hi(gCupCourseOrder) # 0x800f -/* 0B489C 800B3C9C 000FC040 */ sll $t8, $t7, 1 -/* 0B48A0 800B3CA0 01D8C821 */ addu $t9, $t6, $t8 -/* 0B48A4 800B3CA4 3C01800E */ lui $at, %hi(D_800DC540) # $at, 0x800e -/* 0B48A8 800B3CA8 01194021 */ addu $t0, $t0, $t9 -/* 0B48AC 800B3CAC 85082BB4 */ lh $t0, %lo(gCupCourseOrder)($t0) # 0x2bb4($t0) -/* 0B48B0 800B3CB0 AC22C540 */ sw $v0, %lo(D_800DC540)($at) -/* 0B48B4 800B3CB4 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 0B48B8 800B3CB8 30694000 */ andi $t1, $v1, 0x4000 -/* 0B48BC 800B3CBC 11200008 */ beqz $t1, .L800B3CE0 -/* 0B48C0 800B3CC0 A428C5A0 */ sh $t0, %lo(gCurrentCourseId)($at) -/* 0B48C4 800B3CC4 0C027882 */ jal func_8009E208 -/* 0B48C8 800B3CC8 00000000 */ nop -/* 0B48CC 800B3CCC 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B48D0 800B3CD0 0C032384 */ jal play_sound2 -/* 0B48D4 800B3CD4 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B48D8 800B3CD8 100000A3 */ b .L800B3F68 -/* 0B48DC 800B3CDC 8FBF0014 */ lw $ra, 0x14($sp) -.L800B3CE0: -/* 0B48E0 800B3CE0 306A8000 */ andi $t2, $v1, 0x8000 -/* 0B48E4 800B3CE4 1140009F */ beqz $t2, .L800B3F64 -/* 0B48E8 800B3CE8 3C0B800E */ lui $t3, %hi(gModeSelection) # $t3, 0x800e -/* 0B48EC 800B3CEC 8D6BC53C */ lw $t3, %lo(gModeSelection)($t3) -/* 0B48F0 800B3CF0 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900 -/* 0B48F4 800B3CF4 240D0003 */ li $t5, 3 -/* 0B48F8 800B3CF8 11600008 */ beqz $t3, .L800B3D1C -/* 0B48FC 800B3CFC 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001 -/* 0B4900 800B3D00 240C0002 */ li $t4, 2 -/* 0B4904 800B3D04 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900 -/* 0B4908 800B3D08 A0AC0000 */ sb $t4, ($a1) -/* 0B490C 800B3D0C 0C032384 */ jal play_sound2 -/* 0B4910 800B3D10 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001 -/* 0B4914 800B3D14 1000000E */ b .L800B3D50 -/* 0B4918 800B3D18 00000000 */ nop -.L800B3D1C: -/* 0B491C 800B3D1C 0C032384 */ jal play_sound2 -/* 0B4920 800B3D20 A0AD0000 */ sb $t5, ($a1) -/* 0B4924 800B3D24 3C0F8019 */ lui $t7, %hi(gCupSelection) # $t7, 0x8019 -/* 0B4928 800B3D28 81EFEE09 */ lb $t7, %lo(gCupSelection)($t7) -/* 0B492C 800B3D2C 3C18800F */ lui $t8, %hi(gCupCourseOrder) # 0x800f -/* 0B4930 800B3D30 3C048019 */ lui $a0, %hi(gStartMenuCounterForDemos) # $a0, 0x8019 -/* 0B4934 800B3D34 000F70C0 */ sll $t6, $t7, 3 -/* 0B4938 800B3D38 030EC021 */ addu $t8, $t8, $t6 -/* 0B493C 800B3D3C 87182BB4 */ lh $t8, %lo(gCupCourseOrder)($t8) # 0x2bb4($t8) -/* 0B4940 800B3D40 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 0B4944 800B3D44 2484EE00 */ addiu $a0, %lo(gStartMenuCounterForDemos) # addiu $a0, $a0, -0x1200 -/* 0B4948 800B3D48 A438C5A0 */ sh $t8, %lo(gCurrentCourseId)($at) -/* 0B494C 800B3D4C AC800000 */ sw $zero, ($a0) -.L800B3D50: -/* 0B4950 800B3D50 0C02D12B */ jal func_800B44AC -/* 0B4954 800B3D54 00000000 */ nop -/* 0B4958 800B3D58 10000083 */ b .L800B3F68 -/* 0B495C 800B3D5C 8FBF0014 */ lw $ra, 0x14($sp) -.L800B3D60: -/* 0B4960 800B3D60 13200010 */ beqz $t9, .L800B3DA4 -/* 0B4964 800B3D64 00C01825 */ move $v1, $a2 -/* 0B4968 800B3D68 3C048019 */ lui $a0, %hi(gCupCourseSelection) # $a0, 0x8019 -/* 0B496C 800B3D6C 2484EE0B */ addiu $a0, %lo(gCupCourseSelection) # addiu $a0, $a0, -0x11f5 -/* 0B4970 800B3D70 80820000 */ lb $v0, ($a0) -/* 0B4974 800B3D74 28410003 */ slti $at, $v0, 3 -/* 0B4978 800B3D78 1020000A */ beqz $at, .L800B3DA4 -/* 0B497C 800B3D7C 24480001 */ addiu $t0, $v0, 1 -/* 0B4980 800B3D80 A0880000 */ sb $t0, ($a0) -/* 0B4984 800B3D84 0C02D12B */ jal func_800B44AC -/* 0B4988 800B3D88 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B498C 800B3D8C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B4990 800B3D90 0C032384 */ jal play_sound2 -/* 0B4994 800B3D94 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B4998 800B3D98 3C058019 */ lui $a1, %hi(D_8018EDEC) # $a1, 0x8019 -/* 0B499C 800B3D9C 24A5EDEC */ addiu $a1, %lo(D_8018EDEC) # addiu $a1, $a1, -0x1214 -/* 0B49A0 800B3DA0 8FA3001C */ lw $v1, 0x1c($sp) -.L800B3DA4: -/* 0B49A4 800B3DA4 3C048019 */ lui $a0, %hi(gCupCourseSelection) # $a0, 0x8019 -/* 0B49A8 800B3DA8 2484EE0B */ addiu $a0, %lo(gCupCourseSelection) # addiu $a0, $a0, -0x11f5 -/* 0B49AC 800B3DAC 30690800 */ andi $t1, $v1, 0x800 -/* 0B49B0 800B3DB0 1120000E */ beqz $t1, .L800B3DEC -/* 0B49B4 800B3DB4 80820000 */ lb $v0, ($a0) -/* 0B49B8 800B3DB8 1840000C */ blez $v0, .L800B3DEC -/* 0B49BC 800B3DBC 244AFFFF */ addiu $t2, $v0, -1 -/* 0B49C0 800B3DC0 A08A0000 */ sb $t2, ($a0) -/* 0B49C4 800B3DC4 0C02D12B */ jal func_800B44AC -/* 0B49C8 800B3DC8 AFA3001C */ sw $v1, 0x1c($sp) -/* 0B49CC 800B3DCC 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B49D0 800B3DD0 0C032384 */ jal play_sound2 -/* 0B49D4 800B3DD4 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B49D8 800B3DD8 3C028019 */ lui $v0, %hi(gCupCourseSelection) # $v0, 0x8019 -/* 0B49DC 800B3DDC 3C058019 */ lui $a1, %hi(D_8018EDEC) # $a1, 0x8019 -/* 0B49E0 800B3DE0 24A5EDEC */ addiu $a1, %lo(D_8018EDEC) # addiu $a1, $a1, -0x1214 -/* 0B49E4 800B3DE4 8042EE0B */ lb $v0, %lo(gCupCourseSelection)($v0) -/* 0B49E8 800B3DE8 8FA3001C */ lw $v1, 0x1c($sp) -.L800B3DEC: -/* 0B49EC 800B3DEC 3C0B8019 */ lui $t3, %hi(gCupSelection) # $t3, 0x8019 -/* 0B49F0 800B3DF0 816BEE09 */ lb $t3, %lo(gCupSelection)($t3) -/* 0B49F4 800B3DF4 00026840 */ sll $t5, $v0, 1 -/* 0B49F8 800B3DF8 3C0E800F */ lui $t6, %hi(gCupCourseOrder) # 0x800f -/* 0B49FC 800B3DFC 000B60C0 */ sll $t4, $t3, 3 -/* 0B4A00 800B3E00 018D7821 */ addu $t7, $t4, $t5 -/* 0B4A04 800B3E04 01CF7021 */ addu $t6, $t6, $t7 -/* 0B4A08 800B3E08 85CE2BB4 */ lh $t6, %lo(gCupCourseOrder)($t6) # 0x2bb4($t6) -/* 0B4A0C 800B3E0C 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 0B4A10 800B3E10 30784000 */ andi $t8, $v1, 0x4000 -/* 0B4A14 800B3E14 13000011 */ beqz $t8, .L800B3E5C -/* 0B4A18 800B3E18 A42EC5A0 */ sh $t6, %lo(gCurrentCourseId)($at) -/* 0B4A1C 800B3E1C 80B90000 */ lb $t9, ($a1) -/* 0B4A20 800B3E20 24010002 */ li $at, 2 -/* 0B4A24 800B3E24 24080001 */ li $t0, 1 -/* 0B4A28 800B3E28 17210003 */ bne $t9, $at, .L800B3E38 -/* 0B4A2C 800B3E2C 00000000 */ nop -/* 0B4A30 800B3E30 10000003 */ b .L800B3E40 -/* 0B4A34 800B3E34 A0A80000 */ sb $t0, ($a1) -.L800B3E38: -/* 0B4A38 800B3E38 0C027882 */ jal func_8009E208 -/* 0B4A3C 800B3E3C 00000000 */ nop -.L800B3E40: -/* 0B4A40 800B3E40 0C02D12B */ jal func_800B44AC -/* 0B4A44 800B3E44 00000000 */ nop -/* 0B4A48 800B3E48 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B4A4C 800B3E4C 0C032384 */ jal play_sound2 -/* 0B4A50 800B3E50 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B4A54 800B3E54 10000044 */ b .L800B3F68 -/* 0B4A58 800B3E58 8FBF0014 */ lw $ra, 0x14($sp) -.L800B3E5C: -/* 0B4A5C 800B3E5C 30698000 */ andi $t1, $v1, 0x8000 -/* 0B4A60 800B3E60 11200040 */ beqz $t1, .L800B3F64 -/* 0B4A64 800B3E64 240A0003 */ li $t2, 3 -/* 0B4A68 800B3E68 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900 -/* 0B4A6C 800B3E6C A0AA0000 */ sb $t2, ($a1) -/* 0B4A70 800B3E70 0C032384 */ jal play_sound2 -/* 0B4A74 800B3E74 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001 -/* 0B4A78 800B3E78 0C02D12B */ jal func_800B44AC -/* 0B4A7C 800B3E7C 00000000 */ nop -/* 0B4A80 800B3E80 3C048019 */ lui $a0, %hi(gStartMenuCounterForDemos) # $a0, 0x8019 -/* 0B4A84 800B3E84 2484EE00 */ addiu $a0, %lo(gStartMenuCounterForDemos) # addiu $a0, $a0, -0x1200 -/* 0B4A88 800B3E88 10000036 */ b .L800B3F64 -/* 0B4A8C 800B3E8C AC800000 */ sw $zero, ($a0) -.L800B3E90: -/* 0B4A90 800B3E90 15600013 */ bnez $t3, .L800B3EE0 -/* 0B4A94 800B3E94 00C01825 */ move $v1, $a2 -/* 0B4A98 800B3E98 3C048019 */ lui $a0, %hi(gStartMenuCounterForDemos) # $a0, 0x8019 -/* 0B4A9C 800B3E9C 2484EE00 */ addiu $a0, %lo(gStartMenuCounterForDemos) # addiu $a0, $a0, -0x1200 -/* 0B4AA0 800B3EA0 8C8C0000 */ lw $t4, ($a0) -/* 0B4AA4 800B3EA4 2401003C */ li $at, 60 -/* 0B4AA8 800B3EA8 258D0001 */ addiu $t5, $t4, 1 -/* 0B4AAC 800B3EAC 11A10005 */ beq $t5, $at, .L800B3EC4 -/* 0B4AB0 800B3EB0 AC8D0000 */ sw $t5, ($a0) -/* 0B4AB4 800B3EB4 2401012C */ li $at, 300 -/* 0B4AB8 800B3EB8 01A1001A */ div $zero, $t5, $at -/* 0B4ABC 800B3EBC 00007810 */ mfhi $t7 -/* 0B4AC0 800B3EC0 15E00007 */ bnez $t7, .L800B3EE0 -.L800B3EC4: -/* 0B4AC4 800B3EC4 3C044900 */ lui $a0, (0x4900900F >> 16) # lui $a0, 0x4900 -/* 0B4AC8 800B3EC8 3484900F */ ori $a0, (0x4900900F & 0xFFFF) # ori $a0, $a0, 0x900f -/* 0B4ACC 800B3ECC 0C032384 */ jal play_sound2 -/* 0B4AD0 800B3ED0 AFA3001C */ sw $v1, 0x1c($sp) -/* 0B4AD4 800B3ED4 3C058019 */ lui $a1, %hi(D_8018EDEC) # $a1, 0x8019 -/* 0B4AD8 800B3ED8 24A5EDEC */ addiu $a1, %lo(D_8018EDEC) # addiu $a1, $a1, -0x1214 -/* 0B4ADC 800B3EDC 8FA3001C */ lw $v1, 0x1c($sp) -.L800B3EE0: -/* 0B4AE0 800B3EE0 306E4000 */ andi $t6, $v1, 0x4000 -/* 0B4AE4 800B3EE4 11C00016 */ beqz $t6, .L800B3F40 -/* 0B4AE8 800B3EE8 30698000 */ andi $t1, $v1, 0x8000 -/* 0B4AEC 800B3EEC 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0B4AF0 800B3EF0 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0B4AF4 800B3EF4 24010003 */ li $at, 3 -/* 0B4AF8 800B3EF8 24190001 */ li $t9, 1 -/* 0B4AFC 800B3EFC 10400006 */ beqz $v0, .L800B3F18 -/* 0B4B00 800B3F00 00000000 */ nop -/* 0B4B04 800B3F04 10410006 */ beq $v0, $at, .L800B3F20 -/* 0B4B08 800B3F08 24080004 */ li $t0, 4 -/* 0B4B0C 800B3F0C 24180002 */ li $t8, 2 -/* 0B4B10 800B3F10 10000004 */ b .L800B3F24 -/* 0B4B14 800B3F14 A0B80000 */ sb $t8, ($a1) -.L800B3F18: -/* 0B4B18 800B3F18 10000002 */ b .L800B3F24 -/* 0B4B1C 800B3F1C A0B90000 */ sb $t9, ($a1) -.L800B3F20: -/* 0B4B20 800B3F20 A0A80000 */ sb $t0, ($a1) -.L800B3F24: -/* 0B4B24 800B3F24 0C02D12B */ jal func_800B44AC -/* 0B4B28 800B3F28 00000000 */ nop -/* 0B4B2C 800B3F2C 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B4B30 800B3F30 0C032384 */ jal play_sound2 -/* 0B4B34 800B3F34 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B4B38 800B3F38 1000000B */ b .L800B3F68 -/* 0B4B3C 800B3F3C 8FBF0014 */ lw $ra, 0x14($sp) -.L800B3F40: -/* 0B4B40 800B3F40 51200009 */ beql $t1, $zero, .L800B3F68 -/* 0B4B44 800B3F44 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B4B48 800B3F48 0C027870 */ jal func_8009E1C0 -/* 0B4B4C 800B3F4C 00000000 */ nop -/* 0B4B50 800B3F50 0C0328CC */ jal func_800CA330 -/* 0B4B54 800B3F54 24040019 */ li $a0, 25 -/* 0B4B58 800B3F58 3C044900 */ lui $a0, (0x49008016 >> 16) # lui $a0, 0x4900 -/* 0B4B5C 800B3F5C 0C032384 */ jal play_sound2 -/* 0B4B60 800B3F60 34848016 */ ori $a0, (0x49008016 & 0xFFFF) # ori $a0, $a0, 0x8016 -.L800B3F64: -/* 0B4B64 800B3F64 8FBF0014 */ lw $ra, 0x14($sp) -.L800B3F68: -/* 0B4B68 800B3F68 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0B4B6C 800B3F6C 03E00008 */ jr $ra -/* 0B4B70 800B3F70 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B3F74.s b/asm/non_matchings/code_800AF9B0/func_800B3F74.s index f76cfdec8..499c04dca 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B3F74.s +++ b/asm/non_matchings/code_800AF9B0/func_800B3F74.s @@ -2,8 +2,8 @@ glabel func_800B3F74 /* 0B4B74 800B3F74 24030001 */ li $v1, 1 /* 0B4B78 800B3F78 3C018019 */ lui $at, %hi(gDebugMenuSelection) # $at, 0x8019 /* 0B4B7C 800B3F7C A023EDEF */ sb $v1, %lo(gDebugMenuSelection)($at) -/* 0B4B80 800B3F80 3C018019 */ lui $at, %hi(gStartMenuCounterForDemos) # $at, 0x8019 -/* 0B4B84 800B3F84 AC20EE00 */ sw $zero, %lo(gStartMenuCounterForDemos)($at) +/* 0B4B80 800B3F80 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 +/* 0B4B84 800B3F84 AC20EE00 */ sw $zero, %lo(gMenuTimingCounter)($at) /* 0B4B88 800B3F88 3C018019 */ lui $at, %hi(D_8018EE04) # $at, 0x8019 /* 0B4B8C 800B3F8C AC20EE04 */ sw $zero, %lo(D_8018EE04)($at) /* 0B4B90 800B3F90 3C018019 */ lui $at, %hi(D_8018EE08) # $at, 0x8019 diff --git a/asm/non_matchings/code_800AF9B0/func_800B44AC.s b/asm/non_matchings/code_800AF9B0/func_800B44AC.s deleted file mode 100644 index f0c06ce89..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B44AC.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_800B44AC -/* 0B50AC 800B44AC 240E0020 */ li $t6, 32 -/* 0B50B0 800B44B0 3C018019 */ lui $at, %hi(D_8018E7A8) # 0x8019 -/* 0B50B4 800B44B4 03E00008 */ jr $ra -/* 0B50B8 800B44B8 AC2EE7A8 */ sw $t6, %lo(D_8018E7A8)($at) # -0x1858($at) diff --git a/asm/non_matchings/code_800AF9B0/func_800B4520.s b/asm/non_matchings/code_800AF9B0/func_800B4560.s similarity index 68% rename from asm/non_matchings/code_800AF9B0/func_800B4520.s rename to asm/non_matchings/code_800AF9B0/func_800B4560.s index 8f89c1218..2e93cd52f 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B4520.s +++ b/asm/non_matchings/code_800AF9B0/func_800B4560.s @@ -1,53 +1,33 @@ -glabel func_800B4520 -/* 0B5120 800B4520 3C028019 */ lui $v0, %hi(D_8018E7B0) # $v0, 0x8019 -/* 0B5124 800B4524 8042E7B0 */ lb $v0, %lo(D_8018E7B0)($v0) -/* 0B5128 800B4528 24010002 */ li $at, 2 -/* 0B512C 800B452C 10410007 */ beq $v0, $at, .L800B454C -/* 0B5130 800B4530 24010003 */ li $at, 3 -/* 0B5134 800B4534 10410005 */ beq $v0, $at, .L800B454C -/* 0B5138 800B4538 24010004 */ li $at, 4 -/* 0B513C 800B453C 10410003 */ beq $v0, $at, .L800B454C -/* 0B5140 800B4540 24010007 */ li $at, 7 -/* 0B5144 800B4544 54410004 */ bnel $v0, $at, .L800B4558 -/* 0B5148 800B4548 00001025 */ move $v0, $zero -.L800B454C: -/* 0B514C 800B454C 03E00008 */ jr $ra -/* 0B5150 800B4550 24020001 */ li $v0, 1 - -/* 0B5154 800B4554 00001025 */ move $v0, $zero -.L800B4558: -/* 0B5158 800B4558 03E00008 */ jr $ra -/* 0B515C 800B455C 00000000 */ nop - -/* 0B5160 800B4560 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B5164 800B4564 3C0E8019 */ lui $t6, %hi(D_8018D9C0) # $t6, 0x8019 -/* 0B5168 800B4568 8DCED9C0 */ lw $t6, %lo(D_8018D9C0)($t6) -/* 0B516C 800B456C AFA40020 */ sw $a0, 0x20($sp) -/* 0B5170 800B4570 AFA50024 */ sw $a1, 0x24($sp) -/* 0B5174 800B4574 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B5178 800B4578 3C058016 */ lui $a1, %hi(D_80162DE0) # $a1, 0x8016 -/* 0B517C 800B457C 3C04800F */ lui $a0, %hi(D_800F2BE8) # $a0, 0x800f -/* 0B5180 800B4580 24842BE8 */ addiu $a0, %lo(D_800F2BE8) # addiu $a0, $a0, 0x2be8 -/* 0B5184 800B4584 8CA52DE0 */ lw $a1, %lo(D_80162DE0)($a1) -/* 0B5188 800B4588 0C033DDD */ jal func_800CF774 -/* 0B518C 800B458C AFAE0018 */ sw $t6, 0x18($sp) -/* 0B5190 800B4590 8FAF0020 */ lw $t7, 0x20($sp) -/* 0B5194 800B4594 3C058019 */ lui $a1, %hi(D_8018EE16) # 0x8019 -/* 0B5198 800B4598 3C04800F */ lui $a0, %hi(D_800F2BF8) # $a0, 0x800f -/* 0B519C 800B459C 000FC1C0 */ sll $t8, $t7, 7 -/* 0B51A0 800B45A0 00B82821 */ addu $a1, $a1, $t8 -/* 0B51A4 800B45A4 90A5EE16 */ lbu $a1, %lo(D_8018EE16)($a1) # -0x11ea($a1) -/* 0B51A8 800B45A8 0C033DDD */ jal func_800CF774 -/* 0B51AC 800B45AC 24842BF8 */ addiu $a0, %lo(D_800F2BF8) # addiu $a0, $a0, 0x2bf8 -/* 0B51B0 800B45B0 8FB90024 */ lw $t9, 0x24($sp) -/* 0B51B4 800B45B4 8FA90018 */ lw $t1, 0x18($sp) -/* 0B51B8 800B45B8 3C04800F */ lui $a0, %hi(D_800F2C0C) # $a0, 0x800f -/* 0B51BC 800B45BC 001941C0 */ sll $t0, $t9, 7 -/* 0B51C0 800B45C0 01095021 */ addu $t2, $t0, $t1 -/* 0B51C4 800B45C4 91450006 */ lbu $a1, 6($t2) -/* 0B51C8 800B45C8 0C033DDD */ jal func_800CF774 -/* 0B51CC 800B45CC 24842C0C */ addiu $a0, %lo(D_800F2C0C) # addiu $a0, $a0, 0x2c0c -/* 0B51D0 800B45D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B51D4 800B45D4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B51D8 800B45D8 03E00008 */ jr $ra -/* 0B51DC 800B45DC 00000000 */ nop +glabel func_800B4560 +/* 0B5160 800B4560 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B5164 800B4564 3C0E8019 */ lui $t6, %hi(D_8018D9C0) # $t6, 0x8019 +/* 0B5168 800B4568 8DCED9C0 */ lw $t6, %lo(D_8018D9C0)($t6) +/* 0B516C 800B456C AFA40020 */ sw $a0, 0x20($sp) +/* 0B5170 800B4570 AFA50024 */ sw $a1, 0x24($sp) +/* 0B5174 800B4574 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B5178 800B4578 3C058016 */ lui $a1, %hi(D_80162DE0) # $a1, 0x8016 +/* 0B517C 800B457C 3C04800F */ lui $a0, %hi(D_800F2BE8) # $a0, 0x800f +/* 0B5180 800B4580 24842BE8 */ addiu $a0, %lo(D_800F2BE8) # addiu $a0, $a0, 0x2be8 +/* 0B5184 800B4584 8CA52DE0 */ lw $a1, %lo(D_80162DE0)($a1) +/* 0B5188 800B4588 0C033DDD */ jal func_800CF774 +/* 0B518C 800B458C AFAE0018 */ sw $t6, 0x18($sp) +/* 0B5190 800B4590 8FAF0020 */ lw $t7, 0x20($sp) +/* 0B5194 800B4594 3C058019 */ lui $a1, %hi(D_8018EE16) # 0x8019 +/* 0B5198 800B4598 3C04800F */ lui $a0, %hi(D_800F2BF8) # $a0, 0x800f +/* 0B519C 800B459C 000FC1C0 */ sll $t8, $t7, 7 +/* 0B51A0 800B45A0 00B82821 */ addu $a1, $a1, $t8 +/* 0B51A4 800B45A4 90A5EE16 */ lbu $a1, %lo(D_8018EE16)($a1) # -0x11ea($a1) +/* 0B51A8 800B45A8 0C033DDD */ jal func_800CF774 +/* 0B51AC 800B45AC 24842BF8 */ addiu $a0, %lo(D_800F2BF8) # addiu $a0, $a0, 0x2bf8 +/* 0B51B0 800B45B0 8FB90024 */ lw $t9, 0x24($sp) +/* 0B51B4 800B45B4 8FA90018 */ lw $t1, 0x18($sp) +/* 0B51B8 800B45B8 3C04800F */ lui $a0, %hi(D_800F2C0C) # $a0, 0x800f +/* 0B51BC 800B45BC 001941C0 */ sll $t0, $t9, 7 +/* 0B51C0 800B45C0 01095021 */ addu $t2, $t0, $t1 +/* 0B51C4 800B45C4 91450006 */ lbu $a1, 6($t2) +/* 0B51C8 800B45C8 0C033DDD */ jal func_800CF774 +/* 0B51CC 800B45CC 24842C0C */ addiu $a0, %lo(D_800F2C0C) # addiu $a0, $a0, 0x2c0c +/* 0B51D0 800B45D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B51D4 800B45D4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0B51D8 800B45D8 03E00008 */ jr $ra +/* 0B51DC 800B45DC 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B45E0.s b/asm/non_matchings/code_800AF9B0/func_800B45E0.s deleted file mode 100644 index f87a1728c..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B45E0.s +++ /dev/null @@ -1,39 +0,0 @@ -glabel func_800B45E0 -/* 0B51E0 800B45E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B51E4 800B45E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B51E8 800B45E8 0C02D21D */ jal func_800B4874 -/* 0B51EC 800B45EC AFA40018 */ sw $a0, 0x18($sp) -/* 0B51F0 800B45F0 8FA80018 */ lw $t0, 0x18($sp) -/* 0B51F4 800B45F4 3C038019 */ lui $v1, %hi(D_8018EB90) # $v1, 0x8019 -/* 0B51F8 800B45F8 2463EB90 */ addiu $v1, %lo(D_8018EB90) # addiu $v1, $v1, -0x1470 -/* 0B51FC 800B45FC 05010003 */ bgez $t0, .L800B460C -/* 0B5200 800B4600 00087083 */ sra $t6, $t0, 2 -/* 0B5204 800B4604 25010003 */ addiu $at, $t0, 3 -/* 0B5208 800B4608 00017083 */ sra $t6, $at, 2 -.L800B460C: -/* 0B520C 800B460C 000E7880 */ sll $t7, $t6, 2 -/* 0B5210 800B4610 01EE7823 */ subu $t7, $t7, $t6 -/* 0B5214 800B4614 000F7940 */ sll $t7, $t7, 5 -/* 0B5218 800B4618 006FC021 */ addu $t8, $v1, $t7 -/* 0B521C 800B461C 05010004 */ bgez $t0, .L800B4630 -/* 0B5220 800B4620 31190003 */ andi $t9, $t0, 3 -/* 0B5224 800B4624 13200002 */ beqz $t9, .L800B4630 -/* 0B5228 800B4628 00000000 */ nop -/* 0B522C 800B462C 2739FFFC */ addiu $t9, $t9, -4 -.L800B4630: -/* 0B5230 800B4630 00194880 */ sll $t1, $t9, 2 -/* 0B5234 800B4634 01394823 */ subu $t1, $t1, $t9 -/* 0B5238 800B4638 000948C0 */ sll $t1, $t1, 3 -/* 0B523C 800B463C 03093021 */ addu $a2, $t8, $t1 -/* 0B5240 800B4640 00C32823 */ subu $a1, $a2, $v1 -/* 0B5244 800B4644 000550C2 */ srl $t2, $a1, 3 -/* 0B5248 800B4648 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 -/* 0B524C 800B464C A0C20017 */ sb $v0, 0x17($a2) -/* 0B5250 800B4650 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 -/* 0B5254 800B4654 314500FF */ andi $a1, $t2, 0xff -/* 0B5258 800B4658 0C034014 */ jal osEepromLongWrite -/* 0B525C 800B465C 24070018 */ li $a3, 24 -/* 0B5260 800B4660 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B5264 800B4664 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B5268 800B4668 03E00008 */ jr $ra -/* 0B526C 800B466C 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B4670.s b/asm/non_matchings/code_800AF9B0/func_800B4670.s deleted file mode 100644 index 38485e4b5..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B4670.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel func_800B4670 -/* 0B5270 800B4670 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B5274 800B4674 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B5278 800B4678 0C02D24B */ jal func_800B492C -/* 0B527C 800B467C 00000000 */ nop -/* 0B5280 800B4680 3C018019 */ lui $at, %hi(D_8018ED16) # $at, 0x8019 -/* 0B5284 800B4684 0C02D279 */ jal func_800B49E4 -/* 0B5288 800B4688 A022ED16 */ sb $v0, %lo(D_8018ED16)($at) -/* 0B528C 800B468C 3C068019 */ lui $a2, %hi(D_8018ED10) # $a2, 0x8019 -/* 0B5290 800B4690 3C0E8019 */ lui $t6, %hi(D_8018EB90) # $t6, 0x8019 -/* 0B5294 800B4694 24C6ED10 */ addiu $a2, %lo(D_8018ED10) # addiu $a2, $a2, -0x12f0 -/* 0B5298 800B4698 25CEEB90 */ addiu $t6, %lo(D_8018EB90) # addiu $t6, $t6, -0x1470 -/* 0B529C 800B469C 00CE2823 */ subu $a1, $a2, $t6 -/* 0B52A0 800B46A0 3C018019 */ lui $at, %hi(D_8018ED17) # $at, 0x8019 -/* 0B52A4 800B46A4 000578C2 */ srl $t7, $a1, 3 -/* 0B52A8 800B46A8 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 -/* 0B52AC 800B46AC A022ED17 */ sb $v0, %lo(D_8018ED17)($at) -/* 0B52B0 800B46B0 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 -/* 0B52B4 800B46B4 31E500FF */ andi $a1, $t7, 0xff -/* 0B52B8 800B46B8 0C034014 */ jal osEepromLongWrite -/* 0B52BC 800B46BC 24070008 */ li $a3, 8 -/* 0B52C0 800B46C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B52C4 800B46C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B52C8 800B46C8 03E00008 */ jr $ra -/* 0B52CC 800B46CC 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B46D0.s b/asm/non_matchings/code_800AF9B0/func_800B46D0.s deleted file mode 100644 index 92b153d19..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B46D0.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_800B46D0 -/* 0B52D0 800B46D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B52D4 800B46D4 AFB10018 */ sw $s1, 0x18($sp) -/* 0B52D8 800B46D8 AFB00014 */ sw $s0, 0x14($sp) -/* 0B52DC 800B46DC AFBF001C */ sw $ra, 0x1c($sp) -/* 0B52E0 800B46E0 00008025 */ move $s0, $zero -/* 0B52E4 800B46E4 24110010 */ li $s1, 16 -.L800B46E8: -/* 0B52E8 800B46E8 0C02D1CA */ jal func_800B4728 -/* 0B52EC 800B46EC 02002025 */ move $a0, $s0 -/* 0B52F0 800B46F0 0C02D567 */ jal func_800B559C -/* 0B52F4 800B46F4 02002025 */ move $a0, $s0 -/* 0B52F8 800B46F8 26100001 */ addiu $s0, $s0, 1 -/* 0B52FC 800B46FC 1611FFFA */ bne $s0, $s1, .L800B46E8 -/* 0B5300 800B4700 00000000 */ nop -/* 0B5304 800B4704 0C02D208 */ jal func_800B4820 -/* 0B5308 800B4708 00000000 */ nop -/* 0B530C 800B470C 0C02D652 */ jal func_800B5948 -/* 0B5310 800B4710 00000000 */ nop -/* 0B5314 800B4714 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B5318 800B4718 8FB00014 */ lw $s0, 0x14($sp) -/* 0B531C 800B471C 8FB10018 */ lw $s1, 0x18($sp) -/* 0B5320 800B4720 03E00008 */ jr $ra -/* 0B5324 800B4724 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/non_matchings/code_800AF9B0/func_800B4820.s b/asm/non_matchings/code_800AF9B0/func_800B4820.s deleted file mode 100644 index f7c0d83b0..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B4820.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_800B4820 -/* 0B5420 800B4820 3C018019 */ lui $at, %hi(D_8018ED10) # $at, 0x8019 -/* 0B5424 800B4824 A020ED10 */ sb $zero, %lo(D_8018ED10)($at) -/* 0B5428 800B4828 3C018019 */ lui $at, %hi(D_8018ED11) # $at, 0x8019 -/* 0B542C 800B482C A020ED11 */ sb $zero, %lo(D_8018ED11)($at) -/* 0B5430 800B4830 3C018019 */ lui $at, %hi(D_8018ED12) # $at, 0x8019 -/* 0B5434 800B4834 A020ED12 */ sb $zero, %lo(D_8018ED12)($at) -/* 0B5438 800B4838 3C018019 */ lui $at, %hi(D_8018ED13) # $at, 0x8019 -/* 0B543C 800B483C A020ED13 */ sb $zero, %lo(D_8018ED13)($at) -/* 0B5440 800B4840 3C018019 */ lui $at, %hi(gSaveDataSoundMode) # $at, 0x8019 -/* 0B5444 800B4844 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B5448 800B4848 A020ED14 */ sb $zero, %lo(gSaveDataSoundMode)($at) -/* 0B544C 800B484C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B5450 800B4850 3C018019 */ lui $at, %hi(gSoundMode) # $at, 0x8019 -/* 0B5454 800B4854 0C02D12F */ jal func_800B44BC -/* 0B5458 800B4858 A020EDF2 */ sb $zero, %lo(gSoundMode)($at) -/* 0B545C 800B485C 0C02D19C */ jal func_800B4670 -/* 0B5460 800B4860 00000000 */ nop -/* 0B5464 800B4864 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B5468 800B4868 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B546C 800B486C 03E00008 */ jr $ra -/* 0B5470 800B4870 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B4874.s b/asm/non_matchings/code_800AF9B0/func_800B4874.s deleted file mode 100644 index ee4dc46cc..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B4874.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel func_800B4874 -/* 0B5474 800B4874 3C0C8019 */ lui $t4, %hi(D_8018EB90) # $t4, 0x8019 -/* 0B5478 800B4878 258CEB90 */ addiu $t4, %lo(D_8018EB90) # addiu $t4, $t4, -0x1470 -/* 0B547C 800B487C 00001825 */ move $v1, $zero -/* 0B5480 800B4880 00002825 */ move $a1, $zero -/* 0B5484 800B4884 04810003 */ bgez $a0, .L800B4894 -/* 0B5488 800B4888 00047083 */ sra $t6, $a0, 2 -/* 0B548C 800B488C 24810003 */ addiu $at, $a0, 3 -/* 0B5490 800B4890 00017083 */ sra $t6, $at, 2 -.L800B4894: -/* 0B5494 800B4894 000E7880 */ sll $t7, $t6, 2 -/* 0B5498 800B4898 01EE7823 */ subu $t7, $t7, $t6 -/* 0B549C 800B489C 000F7940 */ sll $t7, $t7, 5 -/* 0B54A0 800B48A0 04810004 */ bgez $a0, .L800B48B4 -/* 0B54A4 800B48A4 30980003 */ andi $t8, $a0, 3 -/* 0B54A8 800B48A8 13000002 */ beqz $t8, .L800B48B4 -/* 0B54AC 800B48AC 00000000 */ nop -/* 0B54B0 800B48B0 2718FFFC */ addiu $t8, $t8, -4 -.L800B48B4: -/* 0B54B4 800B48B4 0018C880 */ sll $t9, $t8, 2 -/* 0B54B8 800B48B8 0338C823 */ subu $t9, $t9, $t8 -/* 0B54BC 800B48BC 0019C8C0 */ sll $t9, $t9, 3 -/* 0B54C0 800B48C0 01F95821 */ addu $t3, $t7, $t9 -/* 0B54C4 800B48C4 016C1021 */ addu $v0, $t3, $t4 -/* 0B54C8 800B48C8 00003025 */ move $a2, $zero -/* 0B54CC 800B48CC 240A0007 */ li $t2, 7 -/* 0B54D0 800B48D0 24090003 */ li $t1, 3 -.L800B48D4: -/* 0B54D4 800B48D4 00002025 */ move $a0, $zero -/* 0B54D8 800B48D8 00464021 */ addu $t0, $v0, $a2 -.L800B48DC: -/* 0B54DC 800B48DC 01046821 */ addu $t5, $t0, $a0 -/* 0B54E0 800B48E0 91AE0000 */ lbu $t6, ($t5) -/* 0B54E4 800B48E4 24870001 */ addiu $a3, $a0, 1 -/* 0B54E8 800B48E8 00E02025 */ move $a0, $a3 -/* 0B54EC 800B48EC 01C70019 */ multu $t6, $a3 -/* 0B54F0 800B48F0 0000C012 */ mflo $t8 -/* 0B54F4 800B48F4 00787821 */ addu $t7, $v1, $t8 -/* 0B54F8 800B48F8 14E9FFF8 */ bne $a3, $t1, .L800B48DC -/* 0B54FC 800B48FC 01E51821 */ addu $v1, $t7, $a1 -/* 0B5500 800B4900 24A50001 */ addiu $a1, $a1, 1 -/* 0B5504 800B4904 14AAFFF3 */ bne $a1, $t2, .L800B48D4 -/* 0B5508 800B4908 24C60003 */ addiu $a2, $a2, 3 -/* 0B550C 800B490C 04610004 */ bgez $v1, .L800B4920 -/* 0B5510 800B4910 306200FF */ andi $v0, $v1, 0xff -/* 0B5514 800B4914 10400002 */ beqz $v0, .L800B4920 -/* 0B5518 800B4918 00000000 */ nop -/* 0B551C 800B491C 2442FF00 */ addiu $v0, $v0, -0x100 -.L800B4920: -/* 0B5520 800B4920 305900FF */ andi $t9, $v0, 0xff -/* 0B5524 800B4924 03E00008 */ jr $ra -/* 0B5528 800B4928 03201025 */ move $v0, $t9 diff --git a/asm/non_matchings/code_800AF9B0/func_800B4A10.s b/asm/non_matchings/code_800AF9B0/func_800B4A10.s deleted file mode 100644 index 60fed7ede..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B4A10.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_800B4A10 -/* 0B5610 800B4A10 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B5614 800B4A14 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B5618 800B4A18 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 -/* 0B561C 800B4A1C 3C068019 */ lui $a2, %hi(D_8018EB90) # $a2, 0x8019 -/* 0B5620 800B4A20 AFB10018 */ sw $s1, 0x18($sp) -/* 0B5624 800B4A24 AFB00014 */ sw $s0, 0x14($sp) -/* 0B5628 800B4A28 24C6EB90 */ addiu $a2, %lo(D_8018EB90) # addiu $a2, $a2, -0x1470 -/* 0B562C 800B4A2C 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 -/* 0B5630 800B4A30 00002825 */ move $a1, $zero -/* 0B5634 800B4A34 0C034064 */ jal osEepromLongRead -/* 0B5638 800B4A38 24070200 */ li $a3, 512 -/* 0B563C 800B4A3C 00008025 */ move $s0, $zero -/* 0B5640 800B4A40 24110010 */ li $s1, 16 -.L800B4A44: -/* 0B5644 800B4A44 0C02D2A7 */ jal func_800B4A9C -/* 0B5648 800B4A48 02002025 */ move $a0, $s0 -/* 0B564C 800B4A4C 26100001 */ addiu $s0, $s0, 1 -/* 0B5650 800B4A50 1611FFFC */ bne $s0, $s1, .L800B4A44 -/* 0B5654 800B4A54 00000000 */ nop -/* 0B5658 800B4A58 0C02D32D */ jal func_800B4CB4 -/* 0B565C 800B4A5C 00000000 */ nop -/* 0B5660 800B4A60 3C0E8019 */ lui $t6, %hi(gSaveDataSoundMode) # $t6, 0x8019 -/* 0B5664 800B4A64 91CEED14 */ lbu $t6, %lo(gSaveDataSoundMode)($t6) -/* 0B5668 800B4A68 3C028019 */ lui $v0, %hi(gSoundMode) # $v0, 0x8019 -/* 0B566C 800B4A6C 2442EDF2 */ addiu $v0, %lo(gSoundMode) # addiu $v0, $v0, -0x120e -/* 0B5670 800B4A70 31CF00FF */ andi $t7, $t6, 0xff -/* 0B5674 800B4A74 29E10004 */ slti $at, $t7, 4 -/* 0B5678 800B4A78 14200003 */ bnez $at, .L800B4A88 -/* 0B567C 800B4A7C A04E0000 */ sb $t6, ($v0) -/* 0B5680 800B4A80 24180003 */ li $t8, 3 -/* 0B5684 800B4A84 A0580000 */ sb $t8, ($v0) -.L800B4A88: -/* 0B5688 800B4A88 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B568C 800B4A8C 8FB00014 */ lw $s0, 0x14($sp) -/* 0B5690 800B4A90 8FB10018 */ lw $s1, 0x18($sp) -/* 0B5694 800B4A94 03E00008 */ jr $ra -/* 0B5698 800B4A98 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/non_matchings/code_800AF9B0/func_800B5B2C.s b/asm/non_matchings/code_800AF9B0/func_800B5B2C.s deleted file mode 100644 index 424e02127..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B5B2C.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel func_800B5B2C -/* 0B672C 800B5B2C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B6730 800B5B30 28810004 */ slti $at, $a0, 4 -/* 0B6734 800B5B34 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B6738 800B5B38 10200003 */ beqz $at, .L800B5B48 -/* 0B673C 800B5B3C 00803025 */ move $a2, $a0 -/* 0B6740 800B5B40 04810003 */ bgez $a0, .L800B5B50 -/* 0B6744 800B5B44 27A5001F */ addiu $a1, $sp, 0x1f -.L800B5B48: -/* 0B6748 800B5B48 1000000E */ b .L800B5B84 -/* 0B674C 800B5B4C 00001025 */ move $v0, $zero -.L800B5B50: -/* 0B6750 800B5B50 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 -/* 0B6754 800B5B54 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 -/* 0B6758 800B5B58 0C0338EC */ jal osPfsIsPlug -/* 0B675C 800B5B5C AFA60020 */ sw $a2, 0x20($sp) -/* 0B6760 800B5B60 8FA60020 */ lw $a2, 0x20($sp) -/* 0B6764 800B5B64 93AE001F */ lbu $t6, 0x1f($sp) -/* 0B6768 800B5B68 240F0001 */ li $t7, 1 -/* 0B676C 800B5B6C 00CFC004 */ sllv $t8, $t7, $a2 -/* 0B6770 800B5B70 01D8C824 */ and $t9, $t6, $t8 -/* 0B6774 800B5B74 13200003 */ beqz $t9, .L800B5B84 -/* 0B6778 800B5B78 00001025 */ move $v0, $zero -/* 0B677C 800B5B7C 10000001 */ b .L800B5B84 -/* 0B6780 800B5B80 24020001 */ li $v0, 1 -.L800B5B84: -/* 0B6784 800B5B84 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B6788 800B5B88 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B678C 800B5B8C 03E00008 */ jr $ra -/* 0B6790 800B5B90 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B5F30.s b/asm/non_matchings/code_800AF9B0/func_800B5F30.s deleted file mode 100644 index 326dc100c..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B5F30.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel func_800B5F30 -/* 0B6B30 800B5F30 3C0E800F */ lui $t6, %hi(D_800E86F8) # $t6, 0x800f -/* 0B6B34 800B5F34 81CE86F8 */ lb $t6, %lo(D_800E86F8)($t6) -/* 0B6B38 800B5F38 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B6B3C 800B5F3C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B6B40 800B5F40 11C00003 */ beqz $t6, .L800B5F50 -/* 0B6B44 800B5F44 00000000 */ nop -/* 0B6B48 800B5F48 1000002E */ b .L800B6004 -/* 0B6B4C 800B5F4C 2402FFFC */ li $v0, -4 -.L800B5F50: -/* 0B6B50 800B5F50 0C02D6CB */ jal func_800B5B2C -/* 0B6B54 800B5F54 00002025 */ move $a0, $zero -/* 0B6B58 800B5F58 10400029 */ beqz $v0, .L800B6000 -/* 0B6B5C 800B5F5C 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 -/* 0B6B60 800B5F60 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019 -/* 0B6B64 800B5F64 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798 -/* 0B6B68 800B5F68 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 -/* 0B6B6C 800B5F6C 0C0339C8 */ jal func_800CE720 -/* 0B6B70 800B5F70 00003025 */ move $a2, $zero -/* 0B6B74 800B5F74 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B6B78 800B5F78 3C058019 */ lui $a1, %hi(D_8018EB78) # $a1, 0x8019 -/* 0B6B7C 800B5F7C 3C068019 */ lui $a2, %hi(D_8018EB7C) # $a2, 0x8019 -/* 0B6B80 800B5F80 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B6B84 800B5F84 24C6EB7C */ addiu $a2, %lo(D_8018EB7C) # addiu $a2, $a2, -0x1484 -/* 0B6B88 800B5F88 24A5EB78 */ addiu $a1, %lo(D_8018EB78) # addiu $a1, $a1, -0x1488 -/* 0B6B8C 800B5F8C 0C033A38 */ jal osPfsNumFiles -/* 0B6B90 800B5F90 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B6B94 800B5F94 10400005 */ beqz $v0, .L800B5FAC -/* 0B6B98 800B5F98 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B6B9C 800B5F9C 3C01800F */ lui $at, %hi(D_800E86F8) # $at, 0x800f -/* 0B6BA0 800B5FA0 A02086F8 */ sb $zero, %lo(D_800E86F8)($at) -/* 0B6BA4 800B5FA4 10000017 */ b .L800B6004 -/* 0B6BA8 800B5FA8 2402FFFE */ li $v0, -2 -.L800B5FAC: -/* 0B6BAC 800B5FAC 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 -/* 0B6BB0 800B5FB0 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 -/* 0B6BB4 800B5FB4 0C033B48 */ jal osPfsFreeBlocks -/* 0B6BB8 800B5FB8 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B6BBC 800B5FBC 3C038019 */ lui $v1, %hi(gControllerPakNumPagesFree) # $v1, 0x8019 -/* 0B6BC0 800B5FC0 10400005 */ beqz $v0, .L800B5FD8 -/* 0B6BC4 800B5FC4 2463EB80 */ addiu $v1, %lo(gControllerPakNumPagesFree) # addiu $v1, $v1, -0x1480 -/* 0B6BC8 800B5FC8 3C01800F */ lui $at, %hi(D_800E86F8) # $at, 0x800f -/* 0B6BCC 800B5FCC A02086F8 */ sb $zero, %lo(D_800E86F8)($at) -/* 0B6BD0 800B5FD0 1000000C */ b .L800B6004 -/* 0B6BD4 800B5FD4 2402FFFD */ li $v0, -3 -.L800B5FD8: -/* 0B6BD8 800B5FD8 8C6F0000 */ lw $t7, ($v1) -/* 0B6BDC 800B5FDC 8FA4001C */ lw $a0, 0x1c($sp) -/* 0B6BE0 800B5FE0 24190001 */ li $t9, 1 -/* 0B6BE4 800B5FE4 000FC203 */ sra $t8, $t7, 8 -/* 0B6BE8 800B5FE8 14800003 */ bnez $a0, .L800B5FF8 -/* 0B6BEC 800B5FEC AC780000 */ sw $t8, ($v1) -/* 0B6BF0 800B5FF0 3C01800F */ lui $at, %hi(D_800E86F8) # $at, 0x800f -/* 0B6BF4 800B5FF4 A03986F8 */ sb $t9, %lo(D_800E86F8)($at) -.L800B5FF8: -/* 0B6BF8 800B5FF8 10000002 */ b .L800B6004 -/* 0B6BFC 800B5FFC 00801025 */ move $v0, $a0 -.L800B6000: -/* 0B6C00 800B6000 2402FFFF */ li $v0, -1 -.L800B6004: -/* 0B6C04 800B6004 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B6C08 800B6008 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B6C0C 800B600C 03E00008 */ jr $ra -/* 0B6C10 800B6010 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B6A68.s b/asm/non_matchings/code_800AF9B0/func_800B6AF8.s similarity index 64% rename from asm/non_matchings/code_800AF9B0/func_800B6A68.s rename to asm/non_matchings/code_800AF9B0/func_800B6AF8.s index 0395c5249..754331781 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B6A68.s +++ b/asm/non_matchings/code_800AF9B0/func_800B6AF8.s @@ -1,103 +1,63 @@ -glabel func_800B6A68 -/* 0B7668 800B6A68 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0B766C 800B6A6C 3C0E800F */ lui $t6, %hi(D_800F2E74) # $t6, 0x800f -/* 0B7670 800B6A70 3C188019 */ lui $t8, %hi(D_8018EB84) # $t8, 0x8019 -/* 0B7674 800B6A74 AFBF002C */ sw $ra, 0x2c($sp) -/* 0B7678 800B6A78 2718EB84 */ addiu $t8, %lo(D_8018EB84) # addiu $t8, $t8, -0x147c -/* 0B767C 800B6A7C 25CE2E74 */ addiu $t6, %lo(D_800F2E74) # addiu $t6, $t6, 0x2e74 -/* 0B7680 800B6A80 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B7684 800B6A84 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f -/* 0B7688 800B6A88 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f -/* 0B768C 800B6A8C 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f -/* 0B7690 800B6A90 240F7900 */ li $t7, 30976 -/* 0B7694 800B6A94 AFB10028 */ sw $s1, 0x28($sp) -/* 0B7698 800B6A98 AFB00024 */ sw $s0, 0x24($sp) -/* 0B769C 800B6A9C AFAF0014 */ sw $t7, 0x14($sp) -/* 0B76A0 800B6AA0 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64 -/* 0B76A4 800B6AA4 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2) -/* 0B76A8 800B6AA8 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1) -/* 0B76AC 800B6AAC 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B76B0 800B6AB0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0B76B4 800B6AB4 0C0341F4 */ jal osPfsAllocateFile -/* 0B76B8 800B6AB8 AFB80018 */ sw $t8, 0x18($sp) -/* 0B76BC 800B6ABC 14400008 */ bnez $v0, .L800B6AE0 -/* 0B76C0 800B6AC0 AFA20030 */ sw $v0, 0x30($sp) -/* 0B76C4 800B6AC4 00008025 */ move $s0, $zero -/* 0B76C8 800B6AC8 24110002 */ li $s1, 2 -.L800B6ACC: -/* 0B76CC 800B6ACC 0C02DA6F */ jal func_800B69BC -/* 0B76D0 800B6AD0 02002025 */ move $a0, $s0 -/* 0B76D4 800B6AD4 26100001 */ addiu $s0, $s0, 1 -/* 0B76D8 800B6AD8 1611FFFC */ bne $s0, $s1, .L800B6ACC -/* 0B76DC 800B6ADC 00000000 */ nop -.L800B6AE0: -/* 0B76E0 800B6AE0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0B76E4 800B6AE4 8FA20030 */ lw $v0, 0x30($sp) -/* 0B76E8 800B6AE8 8FB00024 */ lw $s0, 0x24($sp) -/* 0B76EC 800B6AEC 8FB10028 */ lw $s1, 0x28($sp) -/* 0B76F0 800B6AF0 03E00008 */ jr $ra -/* 0B76F4 800B6AF4 27BD0038 */ addiu $sp, $sp, 0x38 - -/* 0B76F8 800B6AF8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B76FC 800B6AFC AFBF001C */ sw $ra, 0x1c($sp) -/* 0B7700 800B6B00 0C02D6CB */ jal func_800B5B2C -/* 0B7704 800B6B04 00002025 */ move $a0, $zero -/* 0B7708 800B6B08 10400034 */ beqz $v0, .L800B6BDC -/* 0B770C 800B6B0C 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 -/* 0B7710 800B6B10 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019 -/* 0B7714 800B6B14 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798 -/* 0B7718 800B6B18 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 -/* 0B771C 800B6B1C 0C0339C8 */ jal func_800CE720 -/* 0B7720 800B6B20 00003025 */ move $a2, $zero -/* 0B7724 800B6B24 1440002D */ bnez $v0, .L800B6BDC -/* 0B7728 800B6B28 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B772C 800B6B2C 3C0E800F */ lui $t6, %hi(D_800F2E74) # $t6, 0x800f -/* 0B7730 800B6B30 3C0F8019 */ lui $t7, %hi(D_8018EB84) # $t7, 0x8019 -/* 0B7734 800B6B34 25EFEB84 */ addiu $t7, %lo(D_8018EB84) # addiu $t7, $t7, -0x147c -/* 0B7738 800B6B38 25CE2E74 */ addiu $t6, %lo(D_800F2E74) # addiu $t6, $t6, 0x2e74 -/* 0B773C 800B6B3C 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f -/* 0B7740 800B6B40 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f -/* 0B7744 800B6B44 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f -/* 0B7748 800B6B48 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64 -/* 0B774C 800B6B4C 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2) -/* 0B7750 800B6B50 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1) -/* 0B7754 800B6B54 AFAE0010 */ sw $t6, 0x10($sp) -/* 0B7758 800B6B58 AFAF0014 */ sw $t7, 0x14($sp) -/* 0B775C 800B6B5C 0C033E20 */ jal osPfsFindFile -/* 0B7760 800B6B60 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B7764 800B6B64 1040001D */ beqz $v0, .L800B6BDC -/* 0B7768 800B6B68 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B776C 800B6B6C 3C058019 */ lui $a1, %hi(D_8018EB78) # $a1, 0x8019 -/* 0B7770 800B6B70 3C068019 */ lui $a2, %hi(D_8018EB7C) # $a2, 0x8019 -/* 0B7774 800B6B74 24C6EB7C */ addiu $a2, %lo(D_8018EB7C) # addiu $a2, $a2, -0x1484 -/* 0B7778 800B6B78 24A5EB78 */ addiu $a1, %lo(D_8018EB78) # addiu $a1, $a1, -0x1488 -/* 0B777C 800B6B7C 0C033A38 */ jal osPfsNumFiles -/* 0B7780 800B6B80 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B7784 800B6B84 14400015 */ bnez $v0, .L800B6BDC -/* 0B7788 800B6B88 3C188019 */ lui $t8, %hi(D_8018EB7C) # $t8, 0x8019 -/* 0B778C 800B6B8C 3C198019 */ lui $t9, %hi(D_8018EB78) # $t9, 0x8019 -/* 0B7790 800B6B90 8F39EB78 */ lw $t9, %lo(D_8018EB78)($t9) -/* 0B7794 800B6B94 8F18EB7C */ lw $t8, %lo(D_8018EB7C)($t8) -/* 0B7798 800B6B98 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 -/* 0B779C 800B6B9C 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 -/* 0B77A0 800B6BA0 0319082A */ slt $at, $t8, $t9 -/* 0B77A4 800B6BA4 1020000D */ beqz $at, .L800B6BDC -/* 0B77A8 800B6BA8 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B77AC 800B6BAC 0C033B48 */ jal osPfsFreeBlocks -/* 0B77B0 800B6BB0 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B77B4 800B6BB4 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 -/* 0B77B8 800B6BB8 14400008 */ bnez $v0, .L800B6BDC -/* 0B77BC 800B6BBC 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 -/* 0B77C0 800B6BC0 8CA80000 */ lw $t0, ($a1) -/* 0B77C4 800B6BC4 00084A03 */ sra $t1, $t0, 8 -/* 0B77C8 800B6BC8 29210079 */ slti $at, $t1, 0x79 -/* 0B77CC 800B6BCC 14200003 */ bnez $at, .L800B6BDC -/* 0B77D0 800B6BD0 ACA90000 */ sw $t1, ($a1) -/* 0B77D4 800B6BD4 0C02DA9A */ jal func_800B6A68 -/* 0B77D8 800B6BD8 00000000 */ nop -.L800B6BDC: -/* 0B77DC 800B6BDC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B77E0 800B6BE0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B77E4 800B6BE4 03E00008 */ jr $ra -/* 0B77E8 800B6BE8 00000000 */ nop - +glabel func_8800B6AF8 +/* 0B76F8 800B6AF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B76FC 800B6AFC AFBF001C */ sw $ra, 0x1c($sp) +/* 0B7700 800B6B00 0C02D6CB */ jal func_800B5B2C +/* 0B7704 800B6B04 00002025 */ move $a0, $zero +/* 0B7708 800B6B08 10400034 */ beqz $v0, .L800B6BDC +/* 0B770C 800B6B0C 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 +/* 0B7710 800B6B10 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019 +/* 0B7714 800B6B14 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798 +/* 0B7718 800B6B18 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 +/* 0B771C 800B6B1C 0C0339C8 */ jal func_800CE720 +/* 0B7720 800B6B20 00003025 */ move $a2, $zero +/* 0B7724 800B6B24 1440002D */ bnez $v0, .L800B6BDC +/* 0B7728 800B6B28 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 +/* 0B772C 800B6B2C 3C0E800F */ lui $t6, %hi(D_800F2E74) # $t6, 0x800f +/* 0B7730 800B6B30 3C0F8019 */ lui $t7, %hi(D_8018EB84) # $t7, 0x8019 +/* 0B7734 800B6B34 25EFEB84 */ addiu $t7, %lo(D_8018EB84) # addiu $t7, $t7, -0x147c +/* 0B7738 800B6B38 25CE2E74 */ addiu $t6, %lo(D_800F2E74) # addiu $t6, $t6, 0x2e74 +/* 0B773C 800B6B3C 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f +/* 0B7740 800B6B40 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f +/* 0B7744 800B6B44 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f +/* 0B7748 800B6B48 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64 +/* 0B774C 800B6B4C 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2) +/* 0B7750 800B6B50 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1) +/* 0B7754 800B6B54 AFAE0010 */ sw $t6, 0x10($sp) +/* 0B7758 800B6B58 AFAF0014 */ sw $t7, 0x14($sp) +/* 0B775C 800B6B5C 0C033E20 */ jal osPfsFindFile +/* 0B7760 800B6B60 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 +/* 0B7764 800B6B64 1040001D */ beqz $v0, .L800B6BDC +/* 0B7768 800B6B68 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 +/* 0B776C 800B6B6C 3C058019 */ lui $a1, %hi(D_8018EB78) # $a1, 0x8019 +/* 0B7770 800B6B70 3C068019 */ lui $a2, %hi(D_8018EB7C) # $a2, 0x8019 +/* 0B7774 800B6B74 24C6EB7C */ addiu $a2, %lo(D_8018EB7C) # addiu $a2, $a2, -0x1484 +/* 0B7778 800B6B78 24A5EB78 */ addiu $a1, %lo(D_8018EB78) # addiu $a1, $a1, -0x1488 +/* 0B777C 800B6B7C 0C033A38 */ jal osPfsNumFiles +/* 0B7780 800B6B80 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 +/* 0B7784 800B6B84 14400015 */ bnez $v0, .L800B6BDC +/* 0B7788 800B6B88 3C188019 */ lui $t8, %hi(D_8018EB7C) # $t8, 0x8019 +/* 0B778C 800B6B8C 3C198019 */ lui $t9, %hi(D_8018EB78) # $t9, 0x8019 +/* 0B7790 800B6B90 8F39EB78 */ lw $t9, %lo(D_8018EB78)($t9) +/* 0B7794 800B6B94 8F18EB7C */ lw $t8, %lo(D_8018EB7C)($t8) +/* 0B7798 800B6B98 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 +/* 0B779C 800B6B9C 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 +/* 0B77A0 800B6BA0 0319082A */ slt $at, $t8, $t9 +/* 0B77A4 800B6BA4 1020000D */ beqz $at, .L800B6BDC +/* 0B77A8 800B6BA8 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 +/* 0B77AC 800B6BAC 0C033B48 */ jal osPfsFreeBlocks +/* 0B77B0 800B6BB0 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 +/* 0B77B4 800B6BB4 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 +/* 0B77B8 800B6BB8 14400008 */ bnez $v0, .L800B6BDC +/* 0B77BC 800B6BBC 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 +/* 0B77C0 800B6BC0 8CA80000 */ lw $t0, ($a1) +/* 0B77C4 800B6BC4 00084A03 */ sra $t1, $t0, 8 +/* 0B77C8 800B6BC8 29210079 */ slti $at, $t1, 0x79 +/* 0B77CC 800B6BCC 14200003 */ bnez $at, .L800B6BDC +/* 0B77D0 800B6BD0 ACA90000 */ sw $t1, ($a1) +/* 0B77D4 800B6BD4 0C02DA9A */ jal func_800B6A68 +/* 0B77D8 800B6BD8 00000000 */ nop +.L800B6BDC: +/* 0B77DC 800B6BDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B77E0 800B6BE0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0B77E4 800B6BE4 03E00008 */ jr $ra +/* 0B77E8 800B6BE8 00000000 */ nop diff --git a/include/defines.h b/include/defines.h index de579b2a1..05cd2090c 100644 --- a/include/defines.h +++ b/include/defines.h @@ -54,6 +54,7 @@ #define STAR_CUP 2 #define SPECIAL_CUP 3 #define BATTLE_CUP 4 +#define NUM_CUPS 5 /** * Character IDs diff --git a/src/code_80091750.c b/src/code_80091750.c index ff96e26be..98ef5c8dc 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -2187,15 +2187,15 @@ void func_80095574(void) { phi_v0_2 = gDebugMenuSelection; } if (phi_v0_2 == DEBUG_MENU_DISABLED) { - gStartMenuCounterForDemos += 1; + gMenuTimingCounter += 1; } else { - gStartMenuCounterForDemos = 3; + gMenuTimingCounter = 3; } - temp_v0_2 = gStartMenuCounterForDemos; + temp_v0_2 = gMenuTimingCounter; phi_v0_3 = temp_v0_2; if (temp_v0_2 == 2) { play_sound2(0x49009009); - phi_v0_3 = gStartMenuCounterForDemos; + phi_v0_3 = gMenuTimingCounter; } if (phi_v0_3 >= 0x12D) { func_8009E230(); @@ -9621,7 +9621,7 @@ extern s32 D_800E7834; extern f32 D_800F1B54; extern ? D_8018EB90; extern s8 gTimeTrialDataCourseIndex; -extern s8 D_8018EDF8; +extern s8 gCourseRecordsMenuSelection; extern void *gDisplayListHead; void func_800A1BE0(s32 arg0) { @@ -9644,7 +9644,7 @@ void func_800A1BE0(s32 arg0) { phi_s3 = &D_800E7834; do { phi_s1 = 0; - if (phi_s0 == D_8018EDF8) { + if (phi_s0 == gCourseRecordsMenuSelection) { phi_s2 = TEXT_BLUE_GREEN_RED_CYCLE_2; } else { phi_s2 = TEXT_GREEN; @@ -9676,7 +9676,7 @@ block_9: phi_s3 += 4; } while (temp_s0 != 3); sp78 = 0x1F; - sp7A = (D_8018EDF8 * 0xD) + 0x3A; + sp7A = (gCourseRecordsMenuSelection * 0xD) + 0x3A; func_800A66A8(arg0, &sp78); } #else @@ -9691,7 +9691,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1BE0.s") extern s32 D_800E7840; extern ? D_800E7848; extern f32 D_800F1B58; -extern s8 D_8018EDF8; +extern s8 gCourseRecordsMenuSelection; extern s8 D_8018EDF9; void func_800A1DE0(s32 arg0) { @@ -9712,7 +9712,7 @@ void func_800A1DE0(s32 arg0) { phi_s0 = 0x3C; phi_s1 = 0; do { - func_80093324(0x1B, phi_s0, (&D_800E7848 + (D_8018EDF8 * 0xC) + phi_s1)->unk-C, 0, temp_f20, temp_f20); + func_80093324(0x1B, phi_s0, (&D_800E7848 + (gCourseRecordsMenuSelection * 0xC) + phi_s1)->unk-C, 0, temp_f20, temp_f20); temp_s0 = phi_s0 + 0xD; phi_s0 = temp_s0; phi_s1 += 4; diff --git a/src/code_800AF9B0.c b/src/code_800AF9B0.c index 9c622cfc9..30426a6b7 100644 --- a/src/code_800AF9B0.c +++ b/src/code_800AF9B0.c @@ -1,13 +1,67 @@ #include #include #include +#include +#include #include "global.h" #include "common_structs.h" -u32 func_802A7B70(u16 x); -extern u32 D_8018EDB8; -extern u32 D_8018EDBC; -extern SaveData D_8018EB90; +void func_8009E1C0(); +void func_8009E208(); +void func_8009E258(); +void func_800B44AC(void); +void func_800B44BC(void); +s32 func_800B4520(void); +void func_800B4670(void); +void func_800B4728(s32 arg0); +void func_800B4820(void); +s32 func_800B492C(void); +s32 func_800B49E4(void); +void func_800B559C(s32 arg0); +void func_800B5948(void); +void play_sound2(s32); +void func_800CA330(s32); +u32 func_802A7B70(u16 x); + +extern u16 gEnableDebugMode; // D_800DC520 +extern s32 gModeSelection; // D_800DC53C +extern s32 D_800DC540; +extern s16 gCurrentCourseId; // D_800DC5A0 +extern u16 D_800E86F0; +extern s32 D_800E86F4; +extern s8 D_800E86F8; +extern s8 D_800E86FC; +extern s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP]; // D_800F2BB4 +extern u8 D_800F2E64; +extern u8 D_800F2E74; +extern OSMesgQueue gSIEventMesgQueue; // D_8014F0B8 +extern s32 D_8018E7A8; +extern s8 D_8018E7B0; +extern OSPfs D_8018E868; +extern OSPfs D_8018E8D0; +extern s32 D_8018EB78; +extern s32 D_8018EB7C; +extern s32 D_8018EB84; +extern SaveData D_8018EB90; +extern u8 D_8018ED10[4]; // Direct reference to the grandPrixPoints section of save data +extern u8 D_8018ED11; +extern u8 D_8018ED12; +extern u8 D_8018ED13; +extern s8 D_8018ED16; +extern s8 D_8018ED17; +extern u32 D_8018EDB8; +extern u32 D_8018EDBC; +extern s8 gCharacterSelections; // D_8018EDE4 +extern s8 D_8018EDE5; +extern s8 D_8018EDE6; +extern s8 D_8018EDE7; +extern s8 D_8018EDEC; +extern s8 gTimeTrialDataCourseIndex; // D_8018EDF7 +extern s8 gCourseRecordsMenuSelection; // D_8018EDF8 +extern s32 gMenuTimingCounter; // D_8018EE00 +extern s8 gCupSelection; // D_8018EE09 +extern s8 D_8018EE0A; +extern s8 gCupCourseSelection; // D_8018EE0B void func_800AF9B0(void) { D_8018EDB8 = func_802A7B70(7680); @@ -1049,93 +1103,66 @@ void func_800B053C(void *arg0, u16 arg1) { GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B053C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8009E1C0(); // extern -? func_8009E258(); // extern -s32 func_800B4520(u16); // extern -? play_sound2(?, s8 *); // extern -extern s8 D_8018EDEC; -extern s8 gTimeTrialDataCourseIndex; -extern s8 D_8018EDF8; - -void func_800B13B0(void *arg0, ? arg1) { - u16 sp1E; - s32 sp18; - s8 temp_v0; - s8 temp_v0_2; - s8 temp_v0_3; - s8 temp_v0_4; - u16 temp_t8; - u16 phi_a1; - s8 *phi_a1_2; - - temp_t8 = (arg0->unk6 | arg0->unkC) & 0xFFFF; - phi_a1 = temp_t8; - if ((gEnableDebugMode == 0) && ((temp_t8 & 0x1000) != 0)) { - phi_a1 = (temp_t8 | 0x8000) & 0xFFFF; +// Handle navigating the data menu interface +void func_800B13B0(struct Controller *controller, s32 arg1) { + u16 buttonAndStickPress = (controller->buttonPressed | controller->stickPressed); + + // Make pressing Start have the same effect as pressing A + if ((gEnableDebugMode == 0) && ((buttonAndStickPress & 0x1000) != 0)) { + buttonAndStickPress |= 0x8000; } - sp1E = phi_a1; - if (func_800B4520(phi_a1) == 0) { + + if (func_800B4520() == 0) { if (D_8018EDEC == 1) { - if ((phi_a1 & 0x400) != 0) { - temp_v0 = gTimeTrialDataCourseIndex; - if ((temp_v0 % 4) != 3) { - gTimeTrialDataCourseIndex = temp_v0 + 1; - sp18 = phi_a1; - play_sound2(0x49008000, &gTimeTrialDataCourseIndex); + // If DPad/Stick down pressed, move selection down if not already in bottom row + if ((buttonAndStickPress & 0x400) != 0) { + if ((gTimeTrialDataCourseIndex % 4) != 3) { + ++gTimeTrialDataCourseIndex; + play_sound2(0x49008000); } } - if ((phi_a1 & 0x800) != 0) { - temp_v0_2 = gTimeTrialDataCourseIndex; - if ((temp_v0_2 & 3) != 0) { - gTimeTrialDataCourseIndex = temp_v0_2 - 1; - sp18 = phi_a1; - play_sound2(0x49008000, &gTimeTrialDataCourseIndex); + // If DPad/Stick up pressed, move selection up if not already in top row + if ((buttonAndStickPress & 0x800) != 0) { + if ((gTimeTrialDataCourseIndex & 3) != 0) { + --gTimeTrialDataCourseIndex; + play_sound2(0x49008000); } } - phi_a1_2 = &gTimeTrialDataCourseIndex; - if ((phi_a1 & 0x100) != 0) { - temp_v0_3 = gTimeTrialDataCourseIndex; - if ((temp_v0_3 / 4) != 3) { - gTimeTrialDataCourseIndex = temp_v0_3 + 4; - sp18 = phi_a1; - play_sound2(0x49008000, &gTimeTrialDataCourseIndex); - phi_a1_2 = &gTimeTrialDataCourseIndex; + // If DPad/Stick right pressed, move selection right if not already in right-most column + if ((buttonAndStickPress & 0x100) != 0) { + if ((gTimeTrialDataCourseIndex / 4) != 3) { + gTimeTrialDataCourseIndex += 4; + play_sound2(0x49008000); } } - if ((phi_a1 & 0x200) != 0) { - temp_v0_4 = *phi_a1_2; - if ((temp_v0_4 / 4) != 0) { - *phi_a1_2 = temp_v0_4 - 4; - sp18 = phi_a1; - play_sound2(0x49008000, phi_a1_2); + // If DPad/Stick left pressed, move selection left if not already in left-most column + if ((buttonAndStickPress & 0x200) != 0) { + if ((gTimeTrialDataCourseIndex / 4) != 0) { + gTimeTrialDataCourseIndex -= 4; + play_sound2(0x49008000); } } - if ((phi_a1 & 0x4000) != 0) { + // If B pressed, go to main menu + if ((buttonAndStickPress & 0x4000) != 0) { func_8009E258(); play_sound2(0x49008002); return; } - if ((phi_a1 & 0x8000) != 0) { - D_8018EDF8 = 0; + // If A pressed, go to selected course's records + if ((buttonAndStickPress & 0x8000) != 0) { + gCourseRecordsMenuSelection = 0; func_8009E1C0(); play_sound2(0x49008016); - return; } - // Duplicate return node #23. Try simplifying control flow for better match - return; - } - if ((phi_a1 & 0x8000) != 0) { + } + // If D_8018EDEC != 1 and A pressed, go to main menu + // (Will D_8018EDEC ever not equal 1 when entering the data menu?) + else if ((buttonAndStickPress & 0x8000) != 0) { func_8009E258(); play_sound2(0x49008016); } - // Duplicate return node #23. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B13B0.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -1155,7 +1182,7 @@ extern f64 D_800F2DB0; extern ? D_8018EB90; extern s8 D_8018EDEC; extern s8 gTimeTrialDataCourseIndex; -extern s8 D_8018EDF8; +extern s8 gCourseRecordsMenuSelection; extern s8 D_8018EDF9; void func_800B15AC(void *arg0, ? arg1) { @@ -1251,7 +1278,7 @@ void func_800B15AC(void *arg0, ? arg1) { } if ((sp18 & 0x8000) != 0) { if (D_8018EDF9 != 0) { - temp_v0_4 = D_8018EDF8; + temp_v0_4 = gCourseRecordsMenuSelection; phi_a1 = 0; if (temp_v0_4 != 1) { if (temp_v0_4 != 2) { @@ -1298,7 +1325,7 @@ void func_800B15AC(void *arg0, ? arg1) { phi_a3 = phi_v1; if ((phi_v1 & 0x200) != 0) { temp_a1_2 = gTimeTrialDataCourseIndex; - if (temp_a1_2 > TIME_TRIAL_DATA_LUIGI_RACEWAY) { + if (temp_a1_2 > 0) { gTimeTrialDataCourseIndex = temp_a1_2 - 1; sp18 = phi_v1; play_sound2(0x49008000, temp_a1_2); @@ -1307,7 +1334,7 @@ void func_800B15AC(void *arg0, ? arg1) { } if ((phi_a3 & 0x100) != 0) { temp_a1_3 = gTimeTrialDataCourseIndex; - if (temp_a1_3 < TIME_TRIAL_DATA_RAINBOW_ROAD) { + if (temp_a1_3 < 0xF) { gTimeTrialDataCourseIndex = temp_a1_3 + 1; sp18 = phi_a3; play_sound2(0x49008000, temp_a1_3); @@ -1317,33 +1344,33 @@ void func_800B15AC(void *arg0, ? arg1) { temp_a1_4 = gTimeTrialDataCourseIndex; temp_a2_2 = func_800AAEF4(0xE8); temp_t4 = ((temp_a1_4 / 4) * 0x60) + ((temp_a1_4 % 4) * 0x18); - if (D_8018EDF8 == 2) { + if (gCourseRecordsMenuSelection == 2) { sp28 = temp_a2_2; sp18 = phi_a3; sp24 = temp_t4 + &D_8018EB90; if (func_800B639C(temp_a1_4, temp_a1_4, temp_a2_2, phi_a3) < 0) { - D_8018EDF8 = D_8018EDF8 - 1; + gCourseRecordsMenuSelection = gCourseRecordsMenuSelection - 1; } } - temp_v0_6 = D_8018EDF8; - phi_v1_2 = &D_8018EDF8; + temp_v0_6 = gCourseRecordsMenuSelection; + phi_v1_2 = &gCourseRecordsMenuSelection; if ((temp_v0_6 == 1) && ((temp_t4 + &D_8018EB90)->unk12 == 0)) { - D_8018EDF8 = temp_v0_6 - 1; + gCourseRecordsMenuSelection = temp_v0_6 - 1; } if ((phi_a3 & 0x800) != 0) { - temp_v0_7 = D_8018EDF8; + temp_v0_7 = gCourseRecordsMenuSelection; if (temp_v0_7 > 0) { - D_8018EDF8 = temp_v0_7 - 1; - temp_v0_8 = D_8018EDF8; + gCourseRecordsMenuSelection = temp_v0_7 - 1; + temp_v0_8 = gCourseRecordsMenuSelection; if ((temp_v0_8 == 1) && ((temp_t4 + &D_8018EB90)->unk12 == 0)) { - D_8018EDF8 = temp_v0_8 - 1; + gCourseRecordsMenuSelection = temp_v0_8 - 1; } sp28 = temp_a2_2; sp18 = phi_a3; sp24 = temp_t4 + &D_8018EB90; play_sound2(0x49008000); temp_f0_3 = temp_a2_2->unk24; - phi_v1_2 = &D_8018EDF8; + phi_v1_2 = &gCourseRecordsMenuSelection; if (temp_f0_3 < D_800F2D90) { temp_a2_2->unk24 = temp_f0_3 + 4.0; } @@ -1361,11 +1388,11 @@ void func_800B15AC(void *arg0, ? arg1) { if ((temp_v0_10 == 1) && ((temp_t4 + &D_8018EB90)->unk12 == 0)) { *phi_v1_2 = temp_v0_10 + 1; } - if ((*phi_v1_2 == 2) && (sp28 = temp_a2_2, sp18 = phi_a3, sp24 = temp_t4 + &D_8018EB90, phi_a3_2 = phi_a3, phi_a2 = temp_a2_2, phi_v1_3 = &D_8018EDF8, (func_800B639C(gTimeTrialDataCourseIndex) < 0))) { + if ((*phi_v1_2 == 2) && (sp28 = temp_a2_2, sp18 = phi_a3, sp24 = temp_t4 + &D_8018EB90, phi_a3_2 = phi_a3, phi_a2 = temp_a2_2, phi_v1_3 = &gCourseRecordsMenuSelection, (func_800B639C(gTimeTrialDataCourseIndex) < 0))) { if ((temp_t4 + &D_8018EB90)->unk12 == 0) { - D_8018EDF8 = 0; + gCourseRecordsMenuSelection = 0; } else { - D_8018EDF8 = 1; + gCourseRecordsMenuSelection = 1; } } else { sp28 = temp_a2_2; @@ -1374,7 +1401,7 @@ void func_800B15AC(void *arg0, ? arg1) { temp_f0_4 = temp_a2_2->unk24; phi_a3_2 = phi_a3; phi_a2 = temp_a2_2; - phi_v1_3 = &D_8018EDF8; + phi_v1_3 = &gCourseRecordsMenuSelection; if (temp_f0_4 < D_800F2D98) { temp_a2_2->unk24 = temp_f0_4 + 4.0; } @@ -2169,7 +2196,7 @@ void func_800B29D8(void *arg0, u16 arg1) { } func_800B44AC(); temp_t7_2 = D_8018EDF3; - gStartMenuCounterForDemos = 0; + gMenuTimingCounter = 0; phi_v1_3 = &D_800F2B70 + ((temp_t7_2 * 0xC) + (*(&D_800E86AB + temp_t7_2) * 4)); } else { phi_v1_3 = &D_800F2B70 + ((temp_v0_4 * 0xC) + (temp_a0_3 * 4)); @@ -2178,7 +2205,7 @@ void func_800B29D8(void *arg0, u16 arg1) { break; case 5: case 8: - if ((arg1 == 0) && ((temp_t7_3 = gStartMenuCounterForDemos + 1, gStartMenuCounterForDemos = temp_t7_3, (temp_t7_3 == 0x64)) || ((temp_t7_3 % 300) == 0)) && ((temp_v0_5 = D_8018EDF3, temp_v1_4 = *(&D_800F2B70 + ((temp_v0_5 * 0xC) + (*(&D_800E86AB + temp_v0_5) * 4))), (temp_v1_4 == 0)) || (temp_v1_4 == 2))) { + if ((arg1 == 0) && ((temp_t7_3 = gMenuTimingCounter + 1, gMenuTimingCounter = temp_t7_3, (temp_t7_3 == 0x64)) || ((temp_t7_3 % 300) == 0)) && ((temp_v0_5 = D_8018EDF3, temp_v1_4 = *(&D_800F2B70 + ((temp_v0_5 * 0xC) + (*(&D_800E86AB + temp_v0_5) * 4))), (temp_v1_4 == 0)) || (temp_v1_4 == 2))) { sp1C = phi_v1; play_sound2(0x4900900E, arg1, phi_v1); } @@ -2248,7 +2275,7 @@ block_64: } else { D_8018EDED = 6; play_sound2(0x49008001, temp_a1); - gStartMenuCounterForDemos = 0; + gMenuTimingCounter = 0; } temp_t7_4 = D_8018EDF3; phi_v1_3 = &D_800F2B70 + ((temp_t7_4 * 0xC) + (*(&D_800E86AB + temp_t7_4) * 4)); @@ -2258,7 +2285,7 @@ block_64: break; case 6: case 7: - if ((arg1 == 0) && ((temp_t7_5 = gStartMenuCounterForDemos + 1, gStartMenuCounterForDemos = temp_t7_5, (temp_t7_5 == 0x3C)) || ((temp_t7_5 % 300) == 0))) { + if ((arg1 == 0) && ((temp_t7_5 = gMenuTimingCounter + 1, gMenuTimingCounter = temp_t7_5, (temp_t7_5 == 0x3C)) || ((temp_t7_5 % 300) == 0))) { sp1C = phi_v1; play_sound2(0x4900900F, arg1, phi_v1); } @@ -2276,7 +2303,7 @@ block_64: func_800B44AC(); play_sound2(0x49008002); temp_t7_6 = D_8018EDF3; - gStartMenuCounterForDemos = 0; + gMenuTimingCounter = 0; phi_v1_3 = &D_800F2B70 + ((temp_t7_6 * 0xC) + (*(&D_800E86AB + temp_t7_6) * 4)); } else if ((phi_v1 & 0x8000) != 0) { func_8009E1C0(); @@ -2306,14 +2333,7 @@ block_64: GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B29D8.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern s8 D_8018EDE5; -extern s8 D_8018EDE6; -extern s8 D_8018EDE7; -extern s8 gCharacterSelections; - -? func_800B34E8(s32 arg0) { +s32 func_800B34E8(s32 arg0) { if (arg0 == gCharacterSelections) { return 0; } @@ -2328,9 +2348,6 @@ extern s8 gCharacterSelections; } return 1; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B34E8.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -2345,110 +2362,68 @@ to all jump sources and move the label, or add a nop to the delay slot). GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B3554.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8009E1C0(); // extern -? func_8009E208(); // extern -? func_800B44AC(s8 *, s8 *, u16); // extern -s32 func_800B4520(u16); // extern -? func_800CA330(?); // extern -? play_sound2(?, s8 *, u16); // extern -extern s32 D_800DC540; -extern s8 D_8018EDEC; -extern s32 gStartMenuCounterForDemos; -extern s8 D_8018EE0A; -extern s8 gCupSelection; -extern ? gCupCourseOrder; +// Handle navigating the course menu interface +void func_800B3B58(struct Controller *arg0, u16 arg1) { + u16 buttonAndStickPress = (arg0->buttonPressed | arg0->stickPressed); -void func_800B3B58(void *arg0, u16 arg1) { - u16 sp26; - s32 sp1C; - s32 temp_t5; - s32 temp_v0_2; - s8 temp_v0; - s8 temp_v0_3; - s8 temp_v0_4; - s8 temp_v0_5; - s8 temp_v0_6; - u16 temp_t8; - u16 phi_a2; - s32 phi_v1; - s8 phi_v0; - s8 *phi_a1; - s32 phi_v1_2; - s32 phi_v0_2; - s8 *phi_a1_2; - - temp_t8 = (arg0->unk6 | arg0->unkC) & 0xFFFF; - phi_a2 = temp_t8; - if ((gEnableDebugMode == 0) && ((temp_t8 & 0x1000) != 0)) { - phi_a2 = (temp_t8 | 0x8000) & 0xFFFF; + if ((gEnableDebugMode == 0) && ((buttonAndStickPress & 0x1000) != 0)) { + buttonAndStickPress |= 0x8000; } - sp26 = phi_a2; - if (func_800B4520(phi_a2) == 0) { - temp_v0 = D_8018EDEC; - if (temp_v0 != 1) { - if (temp_v0 != 2) { - if (temp_v0 != 3) { - if (temp_v0 != 4) { - return; - } - goto block_22; - } - if ((arg1 == 0) && ((temp_t5 = gStartMenuCounterForDemos + 1, gStartMenuCounterForDemos = temp_t5, (temp_t5 == 0x3C)) || ((temp_t5 % 0x12C) == 0))) { - sp1C = phi_a2; - play_sound2(0x4900900F, &D_8018EDEC, phi_a2); - } - if ((phi_a2 & 0x4000) != 0) { - temp_v0_2 = gModeSelection; - if (temp_v0_2 != GRAND_PRIX) { - if (temp_v0_2 != BATTLE) { - D_8018EDEC = 2; - } else { - D_8018EDEC = 4; - } - } else { - D_8018EDEC = 1; - } + + if (func_800B4520() == 0) { + switch (D_8018EDEC) { + case 1: + if ((buttonAndStickPress & 0x100) != 0) { + if (gCupSelection < SPECIAL_CUP) { + D_8018EE0A = gCupSelection; + ++gCupSelection; func_800B44AC(); - play_sound2(0x49008002); - return; - } - if ((phi_a2 & 0x8000) != 0) { - func_8009E1C0(); - func_800CA330(0x19); - play_sound2(0x49008016); - } - // Duplicate return node #48. Try simplifying control flow for better match - return; - } -block_22: - phi_v1 = phi_a2; - if ((phi_a2 & 0x400) != 0) { - temp_v0_3 = gCupCourseSelection; - if (temp_v0_3 < 3) { - gCupCourseSelection = temp_v0_3 + 1; - sp1C = phi_a2; - func_800B44AC(&gCupCourseSelection, &D_8018EDEC, phi_a2); play_sound2(0x49008000); - phi_v1 = sp1C; } } - temp_v0_4 = gCupCourseSelection; - phi_v0 = temp_v0_4; - phi_a1 = &D_8018EDEC; - if (((phi_v1 & 0x800) != 0) && (temp_v0_4 > 0)) { - gCupCourseSelection = temp_v0_4 - 1; - sp1C = phi_v1; - func_800B44AC(&gCupCourseSelection, &D_8018EDEC); + if (((buttonAndStickPress & 0x200) != 0) && (gCupSelection > MUSHROOM_CUP)) { + D_8018EE0A = gCupSelection; + --gCupSelection; + func_800B44AC(); play_sound2(0x49008000); - phi_v0 = gCupCourseSelection; - phi_a1 = &D_8018EDEC; } - gCurrentCourseId = *(&gCupCourseOrder + ((gCupSelection * 8) + (phi_v0 * 2))); - if ((phi_v1 & 0x4000) != 0) { - if (*phi_a1 == 2) { - *phi_a1 = 1; + + D_800DC540 = gCupSelection; + gCurrentCourseId = gCupCourseOrder[gCupSelection][gCupCourseSelection]; + if ((buttonAndStickPress & 0x4000) != 0) { + func_8009E208(); + play_sound2(0x49008002); + } + else if ((buttonAndStickPress & 0x8000) != 0) { + if (gModeSelection != GRAND_PRIX) { + D_8018EDEC = 2; + play_sound2(0x49008001); + } else { + D_8018EDEC = 3; + play_sound2(0x49008001); + gCurrentCourseId = gCupCourseOrder[gCupSelection][CUP_COURSE_ONE]; + gMenuTimingCounter = 0; + } + func_800B44AC(); + } + break; + case 2: + case 4: + if (((buttonAndStickPress & 0x400) != 0) && (gCupCourseSelection < CUP_COURSE_FOUR)) { + ++gCupCourseSelection; + func_800B44AC(); + play_sound2(0x49008000); + } + if (((buttonAndStickPress & 0x800) != 0) && (gCupCourseSelection > CUP_COURSE_ONE)) { + --gCupCourseSelection; + func_800B44AC(); + play_sound2(0x49008000); + } + + gCurrentCourseId = gCupCourseOrder[gCupSelection][gCupCourseSelection]; + if ((buttonAndStickPress & 0x4000) != 0) { + if (D_8018EDEC == 2) { + D_8018EDEC = 1; } else { func_8009E208(); } @@ -2456,66 +2431,46 @@ block_22: play_sound2(0x49008002); return; } - if ((phi_v1 & 0x8000) != 0) { - *phi_a1 = 3; - play_sound2(0x49008001, phi_a1); + if ((buttonAndStickPress & 0x8000) != 0) { + D_8018EDEC = 3; + play_sound2(0x49008001); func_800B44AC(); - gStartMenuCounterForDemos = 0; + gMenuTimingCounter = 0; + } + break; + case 3: + + if ((arg1 == 0) && ((++gMenuTimingCounter == 0x3C) || ((gMenuTimingCounter % 300) == 0))) { + play_sound2(0x4900900F); + } + + if ((buttonAndStickPress & 0x4000) != 0) { + switch(gModeSelection) + { + case GRAND_PRIX: + D_8018EDEC = 1; + break; + case BATTLE: + D_8018EDEC = 4; + break; + default: + D_8018EDEC = 2; + break; + } + + func_800B44AC(); + play_sound2(0x49008002); return; } - // Duplicate return node #48. Try simplifying control flow for better match - return; - } - phi_v1_2 = phi_a2; - if ((phi_a2 & 0x100) != 0) { - temp_v0_5 = gCupSelection; - if (temp_v0_5 < SPECIAL_CUP) { - D_8018EE0A = temp_v0_5; - gCupSelection = temp_v0_5 + 1; - sp1C = phi_a2; - func_800B44AC(); - play_sound2(0x49008000); - phi_v1_2 = sp1C; + if ((buttonAndStickPress & 0x8000) != 0) { + func_8009E1C0(); + func_800CA330(0x19); + play_sound2(0x49008016); } + break; } - temp_v0_6 = gCupSelection; - phi_v0_2 = temp_v0_6; - phi_a1_2 = &D_8018EDEC; - if (((phi_v1_2 & 0x200) != 0) && (temp_v0_6 > MUSHROOM_CUP)) { - D_8018EE0A = temp_v0_6; - gCupSelection = temp_v0_6 - 1; - sp1C = phi_v1_2; - func_800B44AC(); - play_sound2(0x49008000); - phi_v0_2 = gCupSelection; - phi_a1_2 = &D_8018EDEC; - } - D_800DC540 = phi_v0_2; - gCurrentCourseId = *(&gCupCourseOrder + ((phi_v0_2 * 8) + (gCupCourseSelection * 2))); - if ((phi_v1_2 & 0x4000) != 0) { - func_8009E208(); - play_sound2(0x49008002); - return; - } - if ((phi_v1_2 & 0x8000) != 0) { - if (gModeSelection != GRAND_PRIX) { - *phi_a1_2 = 2; - play_sound2(0x49008001, phi_a1_2); - } else { - *phi_a1_2 = 3; - play_sound2(0x49008001, phi_a1_2); - gCurrentCourseId = *(&gCupCourseOrder + (gCupSelection * 8)); - gStartMenuCounterForDemos = 0; - } - func_800B44AC(); - return; - } - // Duplicate return node #48. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B3B58.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -2553,7 +2508,7 @@ extern s8 gTimeTrialDataCourseIndex; extern s8 gDebugGotoScene; extern s8 D_8018EDFB; extern s8 D_8018EDFC; -extern s32 gStartMenuCounterForDemos; +extern s32 gMenuTimingCounter; extern s32 D_8018EE04; extern s8 D_8018EE08; extern s8 D_8018EE0A; @@ -2582,7 +2537,7 @@ void func_800B3F74(u32 arg0) { s8 *phi_v0_2; gDebugMenuSelection = DEBUG_MENU_DISABLED; - gStartMenuCounterForDemos = 0; + gMenuTimingCounter = 0; D_8018EE04 = 0; D_8018EE08 = 0; D_8015F890 = 0; @@ -2787,16 +2742,9 @@ void func_800B3F74(u32 arg0) { GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B3F74.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern s32 D_8018E7A8; - void func_800B44AC(void) { D_8018E7A8 = 0x20; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B44AC.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -2816,65 +2764,51 @@ void func_800B44BC(void) { GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B44BC.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern s8 D_8018E7B0; +s32 func_800B4520(void) { -? func_800B4520(void) { - s8 temp_v0; - - temp_v0 = D_8018E7B0; - if ((temp_v0 == 2) || (temp_v0 == 3) || (temp_v0 == 4) || (temp_v0 == 7)) { + if ((D_8018E7B0 == 2) || (D_8018E7B0 == 3) || (D_8018E7B0 == 4) || (D_8018E7B0 == 7)) { return 1; } return 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4520.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s8 func_800B4874(); // extern -extern ? D_8018EB90; -extern OSMesgQueue gSIEventMesgQueue; +//generated by mips_to_c commit cc33060578851a93591ed035e96ffd1f15c765f1 +? func_800CF774(? *, s32); /* extern */ +extern ? D_800F2BE8; +extern ? D_800F2BF8; +extern ? D_800F2C0C; +extern s32 D_80162DE0; +extern s32 D_8018D9C0; +extern ? D_8018EE16; -void func_800B45E0(s32 arg0) { - u8 *temp_a2; +// Separated from assembly in code_800AF9B0/func_800B4520.s +UNUSED void func_800B4560(s32 arg0, s32 arg1) { + s32 sp18; - temp_a2 = &D_8018EB90 + ((arg0 / 4) * 0x60) + ((arg0 % 4) * 0x18); - temp_a2->unk17 = func_800B4874(); - osEepromLongWrite(&gSIEventMesgQueue, ((temp_a2 - &D_8018EB90) >> 3) & 0xFF, temp_a2, 0x18); + sp18 = D_8018D9C0; + func_800CF774(&D_800F2BE8, D_80162DE0); + func_800CF774(&D_800F2BF8, (s32) *(&D_8018EE16 + (arg0 << 7))); + func_800CF774(&D_800F2C0C, (s32) ((arg1 << 7) + sp18)->unk6); } #else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B45E0.s") +GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4560.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s8 func_800B492C(); // extern -s8 func_800B49E4(); // extern -extern ? D_8018EB90; -extern u8 D_8018ED10; -extern s8 D_8018ED16; -extern s8 D_8018ED17; -extern OSMesgQueue gSIEventMesgQueue; +void func_800B45E0(s32 arg0) { + CourseTimeTrialRecords* courseTimeTrialRecordsPtr = &D_8018EB90.allCourseTimeTrialRecords \ + .cupRecords[arg0 / 4] \ + .courseRecords[arg0 % 4]; + + courseTimeTrialRecordsPtr->unknownBytes[5] = func_800B4874(); + osEepromLongWrite(&gSIEventMesgQueue, ((u32)courseTimeTrialRecordsPtr - (u32)&D_8018EB90) >> 3, (u8*) courseTimeTrialRecordsPtr, sizeof(CourseTimeTrialRecords)); +} void func_800B4670(void) { D_8018ED16 = func_800B492C(); D_8018ED17 = func_800B49E4(); - osEepromLongWrite(&gSIEventMesgQueue, ((&D_8018ED10 - &D_8018EB90) >> 3) & 0xFF, &D_8018ED10, 8); + osEepromLongWrite(&gSIEventMesgQueue, (((u32)&D_8018ED10 - (u32)&D_8018EB90) >> 3), (u8*) &D_8018ED10, 8); } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4670.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800B4728(s32); // extern -? func_800B4820(); // extern -? func_800B559C(s32); // extern -? func_800B5948(); // extern void func_800B46D0(void) { s32 temp_s0; @@ -2886,13 +2820,10 @@ void func_800B46D0(void) { func_800B559C(phi_s0); temp_s0 = phi_s0 + 1; phi_s0 = temp_s0; - } while (temp_s0 != 0x10); + } while (phi_s0 != 0x10); func_800B4820(); func_800B5948(); } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B46D0.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -2946,19 +2877,8 @@ loop_2: GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4728.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800B44BC(); // extern -? func_800B4670(); // extern -extern s8 D_8018ED10; -extern s8 D_8018ED11; -extern s8 D_8018ED12; -extern s8 D_8018ED13; -extern s8 gSaveDataSoundMode; -extern s8 gSoundMode; - void func_800B4820(void) { - D_8018ED10 = 0; + D_8018ED10[0] = 0; D_8018ED11 = 0; D_8018ED12 = 0; D_8018ED13 = 0; @@ -2967,46 +2887,31 @@ void func_800B4820(void) { func_800B44BC(); func_800B4670(); } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4820.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_8018EB90; s32 func_800B4874(s32 arg0) { + s32 temp_a0; s32 temp_a1; - s32 temp_a3; s32 temp_v1; - s32 phi_a0; - s32 phi_a1; - s32 phi_v1; - s32 phi_a2; + u8* records = &D_8018EB90.allCourseTimeTrialRecords \ + .cupRecords[arg0 / 4] \ + .courseRecords[arg0 % 4] \ + .records[0][0]; - phi_a1 = 0; - phi_a2 = 0; - phi_v1 = 0; - do { - phi_a0 = 0; -loop_2: - temp_a3 = phi_a0 + 1; - temp_v1 = phi_v1 + (*(((arg0 / 4) * 0x60) + ((arg0 % 4) * 0x18) + &D_8018EB90 + phi_a2 + phi_a0) * temp_a3) + phi_a1; - phi_a0 = temp_a3; - phi_v1 = temp_v1; - phi_v1 = temp_v1; - if (temp_a3 != 3) { - goto loop_2; + temp_v1 = 0; + temp_a1 = 0; + while (temp_a1 < 7) + { + temp_a0 = 0; + while (temp_a0 < 3) + { + temp_v1 += (*((records + 3*temp_a1 + temp_a0)) * (temp_a0 + 1)) + temp_a1; + ++temp_a0; } - temp_a1 = phi_a1 + 1; - phi_a1 = temp_a1; - phi_a2 += 3; - } while (temp_a1 != 7); - return (temp_v1 % 0x100) & 0xFF; + ++temp_a1; + } + + return (temp_v1 % 256) & 0xFF; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4874.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -3033,36 +2938,24 @@ s32 func_800B49E4(void) { GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B49E4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800B4A9C(s32); // extern -? func_800B4CB4(); // extern -extern u8 D_8018EB90; -extern u8 gSaveDataSoundMode; -extern u8 gSoundMode; -extern OSMesgQueue gSIEventMesgQueue; - void func_800B4A10(void) { s32 temp_s0; - u8 temp_t6; - s32 phi_s0; - osEepromLongRead(&gSIEventMesgQueue, 0, &D_8018EB90, 0x200); - phi_s0 = 0; - do { - func_800B4A9C(phi_s0); - temp_s0 = phi_s0 + 1; - phi_s0 = temp_s0; - } while (temp_s0 != 0x10); + osEepromLongRead(&gSIEventMesgQueue, 0, (u8*) &D_8018EB90, 0x200); //0x200: sizeof(SaveData)? + temp_s0 = 0; + while (temp_s0 < 16) // 16: 4 cup records * 4 course records? + { + func_800B4A9C(temp_s0); + ++temp_s0; + } + func_800B4CB4(); + gSoundMode = gSaveDataSoundMode; - if ((gSaveDataSoundMode & 0xFF) >= NUM_SOUND_OPTIONS) { + if (gSoundMode >= NUM_SOUND_MODES) { gSoundMode = SOUND_MONO; } } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4A10.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -3509,7 +3402,6 @@ void func_800B5404(s32 arg0, s32 arg1) { GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B5404.s") #endif -extern u8 D_8018ED10[4]; // Direct reference to the grandPrixPoints section of save data u8 func_800B54EC(s32, s32); u8 func_800B5508(s32, s32, s32); @@ -3806,28 +3698,22 @@ extern u8 D_8018ED8F; GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B5AD8.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern OSMesgQueue gSIEventMesgQueue; - -? func_800B5B2C(s32 arg0) { +s32 func_800B5B2C(s32 arg0) { u8 sp1F; - ? phi_v0; + s32 phi_v0; if ((arg0 >= 4) || (arg0 < 0)) { return 0; } - arg0 = arg0; + osPfsIsPlug(&gSIEventMesgQueue, &sp1F); - phi_v0 = 0; + if ((sp1F & (1 << arg0)) != 0) { - phi_v0 = 1; + return 1; } - return phi_v0; + + return 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B5B2C.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -4007,17 +3893,6 @@ block_25: GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B5DA4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_800B5B2C(?); // extern -s32 func_800CE720(? *, OSPfs *, ?); // extern -extern s8 D_800E86F8; -extern OSPfs D_8018E868; -extern s32 D_8018EB78; -extern s32 D_8018EB7C; -extern s32 gControllerPakNumPagesFree; -extern ? gSIEventMesgQueue; - s32 func_800B5F30(void) { s32 sp1C; @@ -4042,17 +3917,6 @@ s32 func_800B5F30(void) { } return -1; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B5F30.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_800B5B2C(?); // extern -s32 func_800CE720(? *, ? *, ?); // extern -extern s8 D_800E86FC; -extern ? D_8018E8D0; -extern ? gSIEventMesgQueue; s32 func_800B6014(void) { s32 temp_v0; @@ -4069,9 +3933,6 @@ s32 func_800B6014(void) { } return -1; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B6014.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -4567,34 +4428,55 @@ void func_800B69BC(s32 arg0) { GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B69BC.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800B69BC(s32); // extern -extern u16 D_800E86F0; -extern u32 D_800E86F4; -extern u8 D_800F2E64; -extern u8 D_800F2E74; -extern OSPfs D_8018E868; -extern s32 D_8018EB84; - s32 func_800B6A68(void) { + s32 pad; s32 sp30; s32 temp_s0; - s32 temp_v0; - s32 phi_s0; - temp_v0 = osPfsAllocateFile(&D_8018E868, D_800E86F0, D_800E86F4, &D_800F2E64, &D_800F2E74, 0x7900, &D_8018EB84); - sp30 = temp_v0; - if (temp_v0 == 0) { - phi_s0 = 0; - do { - func_800B69BC(phi_s0); - temp_s0 = phi_s0 + 1; - phi_s0 = temp_s0; - } while (temp_s0 != 2); + sp30 = osPfsAllocateFile(&D_8018E868, D_800E86F0, D_800E86F4, &D_800F2E64, &D_800F2E74, 0x7900, &D_8018EB84); + if (sp30 == 0) { + temp_s0 = 0; + while (temp_s0 < 2) + { + func_800B69BC(temp_s0); + ++temp_s0; + } } + return sp30; } + +#ifdef MIPS_TO_C +//generated by mips_to_c commit cc33060578851a93591ed035e96ffd1f15c765f1 +s32 func_800B5B2C(?); /* extern */ +? func_800B6A68(); /* extern */ +s32 func_800CE720(? *, ? *, ?); /* extern */ +s32 osPfsFindFile(? *, u16, s32, ? *, ? *, ? *); /* extern */ +s32 osPfsFreeBlocks(? *, s32 *); /* extern */ +s32 osPfsNumFiles(? *, s32 *, s32 *); /* extern */ +extern u16 D_800E86F0; +extern s32 D_800E86F4; +extern ? D_800F2E64; +extern ? D_800F2E74; +extern ? D_8018E868; +extern s32 D_8018EB78; +extern s32 D_8018EB7C; +extern ? D_8018EB84; +extern s32 gControllerPakNumPagesFree; +extern ? gSIEventMesgQueue; + +// Separated from assembly in code_800AF9B0/func_800B6A68.s +UNUSED void func_800B6AF8(void) { + s32 temp_t1; + + if ((func_800B5B2C(0) != 0) && (func_800CE720(&gSIEventMesgQueue, &D_8018E868, 0) == 0) && (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, &D_800F2E64, &D_800F2E74, &D_8018EB84) != 0) && (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) == 0) && (D_8018EB7C < D_8018EB78) && (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) == 0)) { + temp_t1 = (s32) gControllerPakNumPagesFree >> 8; + gControllerPakNumPagesFree = temp_t1; + if (temp_t1 >= 0x79) { + func_800B6A68(); + } + } +} #else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B6A68.s") +GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B6AF8.s") #endif