From 68d692b4b0d49e1ea2976d0bf2471794c2ee0d07 Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 17 Jun 2021 19:06:15 -0700 Subject: [PATCH 1/6] Decompiled func_800619F4. --- asm/non_matchings/unknown_05F690/func_800619F4.s | 5 ----- src/unknown_060450.c | 6 +++++- 2 files changed, 5 insertions(+), 6 deletions(-) delete mode 100644 asm/non_matchings/unknown_05F690/func_800619F4.s diff --git a/asm/non_matchings/unknown_05F690/func_800619F4.s b/asm/non_matchings/unknown_05F690/func_800619F4.s deleted file mode 100644 index 8b705f48..00000000 --- a/asm/non_matchings/unknown_05F690/func_800619F4.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_800619F4 -/* 0625F4 800619F4 3C018012 */ lui $at, %hi(D_8011D640) # $at, 0x8012 -/* 0625F8 800619F8 03E00008 */ jr $ra -/* 0625FC 800619FC AC24D640 */ sw $a0, %lo(D_8011D640)($at) - diff --git a/src/unknown_060450.c b/src/unknown_060450.c index e73232bf..46e5cec3 100644 --- a/src/unknown_060450.c +++ b/src/unknown_060450.c @@ -48,6 +48,10 @@ GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060910.s") GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060AC8.s") GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060C58.s") GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80060EA8.s") -GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_800619F4.s") + +void func_800619F4(s32 arg0) { + D_8011D640 = arg0; +} + GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80061A00.s") GLOBAL_ASM("asm/non_matchings/unknown_05F690/func_80061C0C.s") \ No newline at end of file From be42efc1dbbb4cea9c17e6adef51d428e7368c15 Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 17 Jun 2021 19:09:02 -0700 Subject: [PATCH 2/6] Decompiled func_800B6F40. --- asm/non_matchings/unknown_0AEE70/func_800B6F40.s | 6 ------ src/unknown_0B7A50.c | 5 ++++- 2 files changed, 4 insertions(+), 7 deletions(-) delete mode 100644 asm/non_matchings/unknown_0AEE70/func_800B6F40.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B6F40.s b/asm/non_matchings/unknown_0AEE70/func_800B6F40.s deleted file mode 100644 index 4f669fcf..00000000 --- a/asm/non_matchings/unknown_0AEE70/func_800B6F40.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_800B6F40 -/* 0B7B40 800B6F40 AFA40000 */ sw $a0, ($sp) -/* 0B7B44 800B6F44 AFA50004 */ sw $a1, 4($sp) -/* 0B7B48 800B6F48 03E00008 */ jr $ra -/* 0B7B4C 800B6F4C AFA60008 */ sw $a2, 8($sp) - diff --git a/src/unknown_0B7A50.c b/src/unknown_0B7A50.c index 381421ab..549248d2 100644 --- a/src/unknown_0B7A50.c +++ b/src/unknown_0B7A50.c @@ -34,7 +34,10 @@ char *D_800E302C[3] = { GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B6E50.s") GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B6EE0.s") GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B6F04.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B6F40.s") + +void func_800B6F40(s32 arg0, s32 arg1, s32 arg2) { +} + GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B6F50.s") GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B6FC4.s") GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B70D0.s") From a020fa40787428f511e3356cf5a383f94c528f5d Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 17 Jun 2021 19:11:12 -0700 Subject: [PATCH 3/6] Decompiled func_8007EF64. --- asm/non_matchings/unknown_07B870/func_8007EF64.s | 9 --------- src/unknown_07B870.c | 6 +++++- 2 files changed, 5 insertions(+), 10 deletions(-) delete mode 100644 asm/non_matchings/unknown_07B870/func_8007EF64.s diff --git a/asm/non_matchings/unknown_07B870/func_8007EF64.s b/asm/non_matchings/unknown_07B870/func_8007EF64.s deleted file mode 100644 index a94db8c6..00000000 --- a/asm/non_matchings/unknown_07B870/func_8007EF64.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_8007EF64 -/* 07FB64 8007EF64 3C188012 */ lui $t8, %hi(D_8012632C) # $t8, 0x8012 -/* 07FB68 8007EF68 8F18632C */ lw $t8, %lo(D_8012632C)($t8) -/* 07FB6C 8007EF6C 00047400 */ sll $t6, $a0, 0x10 -/* 07FB70 8007EF70 000E7C03 */ sra $t7, $t6, 0x10 -/* 07FB74 8007EF74 AFA40000 */ sw $a0, ($sp) -/* 07FB78 8007EF78 03E00008 */ jr $ra -/* 07FB7C 8007EF7C 01F81021 */ addu $v0, $t7, $t8 - diff --git a/src/unknown_07B870.c b/src/unknown_07B870.c index 373d6a28..3050feb0 100644 --- a/src/unknown_07B870.c +++ b/src/unknown_07B870.c @@ -571,7 +571,11 @@ GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007CA68.s") GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007CCB0.s") GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007CDC0.s") GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007D0F4.s") -GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007EF64.s") + +s32 func_8007EF64(s16 arg0) { + return arg0 + D_8012632C; +} + GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007EF80.s") GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007F1E8.s") GLOBAL_ASM("asm/non_matchings/unknown_07B870/func_8007F24C.s") From 22d3da3ba0270da4c1148ed168e6c226743c96a2 Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 17 Jun 2021 19:48:47 -0700 Subject: [PATCH 4/6] Removed assembly of decompiled funcitons. --- .../unknown_032760/func_80035EF8.s | 32 ----- .../unknown_066AA0/func_8006A6A0.s | 6 - .../unknown_0B8920/func_800B7D20.s | 113 ------------------ 3 files changed, 151 deletions(-) delete mode 100644 asm/non_matchings/unknown_032760/func_80035EF8.s delete mode 100644 asm/non_matchings/unknown_066AA0/func_8006A6A0.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800B7D20.s diff --git a/asm/non_matchings/unknown_032760/func_80035EF8.s b/asm/non_matchings/unknown_032760/func_80035EF8.s deleted file mode 100644 index 2ec02ffc..00000000 --- a/asm/non_matchings/unknown_032760/func_80035EF8.s +++ /dev/null @@ -1,32 +0,0 @@ -glabel func_80035EF8 -/* 036AF8 80035EF8 84AE000E */ lh $t6, 0xe($a1) -/* 036AFC 80035EFC 240FFFFF */ li $t7, -1 -/* 036B00 80035F00 AC8F007C */ sw $t7, 0x7c($a0) -/* 036B04 80035F04 AC8E0078 */ sw $t6, 0x78($a0) -/* 036B08 80035F08 84B9000C */ lh $t9, 0xc($a1) -/* 036B0C 80035F0C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 036B10 80035F10 00194280 */ sll $t0, $t9, 0xa -/* 036B14 80035F14 A4880000 */ sh $t0, ($a0) -/* 036B18 80035F18 84A9000A */ lh $t1, 0xa($a1) -/* 036B1C 80035F1C 44811000 */ mtc1 $at, $f2 -/* 036B20 80035F20 312A00FF */ andi $t2, $t1, 0xff -/* 036B24 80035F24 448A2000 */ mtc1 $t2, $f4 -/* 036B28 80035F28 3C014280 */ li $at, 0x42800000 # 64.000000 -/* 036B2C 80035F2C 46802020 */ cvt.s.w $f0, $f4 -/* 036B30 80035F30 44813000 */ mtc1 $at, $f6 -/* 036B34 80035F34 4602003C */ c.lt.s $f0, $f2 -/* 036B38 80035F38 00000000 */ nop -/* 036B3C 80035F3C 45000003 */ bc1f .L80035F4C -/* 036B40 80035F40 00000000 */ nop -/* 036B44 80035F44 46001006 */ mov.s $f0, $f2 -/* 036B48 80035F48 00000000 */ nop -.L80035F4C: -/* 036B4C 80035F4C 46060003 */ div.s $f0, $f0, $f6 -/* 036B50 80035F50 8C8B0040 */ lw $t3, 0x40($a0) -/* 036B54 80035F54 00000000 */ nop -/* 036B58 80035F58 C568000C */ lwc1 $f8, 0xc($t3) -/* 036B5C 80035F5C 00000000 */ nop -/* 036B60 80035F60 46004282 */ mul.s $f10, $f8, $f0 -/* 036B64 80035F64 03E00008 */ jr $ra -/* 036B68 80035F68 E48A0008 */ swc1 $f10, 8($a0) - diff --git a/asm/non_matchings/unknown_066AA0/func_8006A6A0.s b/asm/non_matchings/unknown_066AA0/func_8006A6A0.s deleted file mode 100644 index 14bebc4a..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006A6A0.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_8006A6A0 -/* 06B2A0 8006A6A0 3C01800E */ lui $at, %hi(D_800DD304) # $at, 0x800e -/* 06B2A4 8006A6A4 03E00008 */ jr $ra -/* 06B2A8 8006A6A8 A420D304 */ sh $zero, %lo(D_800DD304)($at) - -/* 06B2AC 8006A6AC 00000000 */ nop diff --git a/asm/non_matchings/unknown_0B8920/func_800B7D20.s b/asm/non_matchings/unknown_0B8920/func_800B7D20.s deleted file mode 100644 index 948264f1..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800B7D20.s +++ /dev/null @@ -1,113 +0,0 @@ -glabel func_800B7D20 -/* 0B8920 800B7D20 3C04800E */ lui $a0, %hi(D_800E3040) # $a0, 0x800e -/* 0B8924 800B7D24 8C843040 */ lw $a0, %lo(D_800E3040)($a0) -/* 0B8928 800B7D28 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B892C 800B7D2C 10800005 */ beqz $a0, .L800B7D44 -/* 0B8930 800B7D30 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B8934 800B7D34 0C01C450 */ jal func_80071140 -/* 0B8938 800B7D38 00000000 */ nop -/* 0B893C 800B7D3C 3C01800E */ lui $at, %hi(D_800E3040) # $at, 0x800e -/* 0B8940 800B7D40 AC203040 */ sw $zero, %lo(D_800E3040)($at) -.L800B7D44: -/* 0B8944 800B7D44 3C04800E */ lui $a0, %hi(D_800E3044) # $a0, 0x800e -/* 0B8948 800B7D48 8C843044 */ lw $a0, %lo(D_800E3044)($a0) -/* 0B894C 800B7D4C 00000000 */ nop -/* 0B8950 800B7D50 10800005 */ beqz $a0, .L800B7D68 -/* 0B8954 800B7D54 00000000 */ nop -/* 0B8958 800B7D58 0C01C450 */ jal func_80071140 -/* 0B895C 800B7D5C 00000000 */ nop -/* 0B8960 800B7D60 3C01800E */ lui $at, %hi(D_800E3044) # $at, 0x800e -/* 0B8964 800B7D64 AC203044 */ sw $zero, %lo(D_800E3044)($at) -.L800B7D68: -/* 0B8968 800B7D68 3C04800E */ lui $a0, %hi(D_800E3048) # $a0, 0x800e -/* 0B896C 800B7D6C 8C843048 */ lw $a0, %lo(D_800E3048)($a0) -/* 0B8970 800B7D70 00000000 */ nop -/* 0B8974 800B7D74 10800005 */ beqz $a0, .L800B7D8C -/* 0B8978 800B7D78 00000000 */ nop -/* 0B897C 800B7D7C 0C01C450 */ jal func_80071140 -/* 0B8980 800B7D80 00000000 */ nop -/* 0B8984 800B7D84 3C01800E */ lui $at, %hi(D_800E3048) # $at, 0x800e -/* 0B8988 800B7D88 AC203048 */ sw $zero, %lo(D_800E3048)($at) -.L800B7D8C: -/* 0B898C 800B7D8C 3C04800E */ lui $a0, %hi(D_800E304C) # $a0, 0x800e -/* 0B8990 800B7D90 8C84304C */ lw $a0, %lo(D_800E304C)($a0) -/* 0B8994 800B7D94 00000000 */ nop -/* 0B8998 800B7D98 10800005 */ beqz $a0, .L800B7DB0 -/* 0B899C 800B7D9C 00000000 */ nop -/* 0B89A0 800B7DA0 0C01C450 */ jal func_80071140 -/* 0B89A4 800B7DA4 00000000 */ nop -/* 0B89A8 800B7DA8 3C01800E */ lui $at, %hi(D_800E304C) # $at, 0x800e -/* 0B89AC 800B7DAC AC20304C */ sw $zero, %lo(D_800E304C)($at) -.L800B7DB0: -/* 0B89B0 800B7DB0 3C04800E */ lui $a0, %hi(D_800E3070) # $a0, 0x800e -/* 0B89B4 800B7DB4 8C843070 */ lw $a0, %lo(D_800E3070)($a0) -/* 0B89B8 800B7DB8 00000000 */ nop -/* 0B89BC 800B7DBC 10800005 */ beqz $a0, .L800B7DD4 -/* 0B89C0 800B7DC0 00000000 */ nop -/* 0B89C4 800B7DC4 0C01C450 */ jal func_80071140 -/* 0B89C8 800B7DC8 00000000 */ nop -/* 0B89CC 800B7DCC 3C01800E */ lui $at, %hi(D_800E3070) # $at, 0x800e -/* 0B89D0 800B7DD0 AC203070 */ sw $zero, %lo(D_800E3070)($at) -.L800B7DD4: -/* 0B89D4 800B7DD4 3C04800E */ lui $a0, %hi(D_800E3080) # $a0, 0x800e -/* 0B89D8 800B7DD8 8C843080 */ lw $a0, %lo(D_800E3080)($a0) -/* 0B89DC 800B7DDC 00000000 */ nop -/* 0B89E0 800B7DE0 10800005 */ beqz $a0, .L800B7DF8 -/* 0B89E4 800B7DE4 00000000 */ nop -/* 0B89E8 800B7DE8 0C01C450 */ jal func_80071140 -/* 0B89EC 800B7DEC 00000000 */ nop -/* 0B89F0 800B7DF0 3C01800E */ lui $at, %hi(D_800E3080) # $at, 0x800e -/* 0B89F4 800B7DF4 AC203080 */ sw $zero, %lo(D_800E3080)($at) -.L800B7DF8: -/* 0B89F8 800B7DF8 3C04800E */ lui $a0, %hi(D_800E30D0) # $a0, 0x800e -/* 0B89FC 800B7DFC 8C8430D0 */ lw $a0, %lo(D_800E30D0)($a0) -/* 0B8A00 800B7E00 00000000 */ nop -/* 0B8A04 800B7E04 10800005 */ beqz $a0, .L800B7E1C -/* 0B8A08 800B7E08 00000000 */ nop -/* 0B8A0C 800B7E0C 0C01ECAF */ jal func_8007B2BC -/* 0B8A10 800B7E10 00000000 */ nop -/* 0B8A14 800B7E14 3C01800E */ lui $at, %hi(D_800E30D0) # $at, 0x800e -/* 0B8A18 800B7E18 AC2030D0 */ sw $zero, %lo(D_800E30D0)($at) -.L800B7E1C: -/* 0B8A1C 800B7E1C 3C04800E */ lui $a0, %hi(D_800E30D4) # $a0, 0x800e -/* 0B8A20 800B7E20 8C8430D4 */ lw $a0, %lo(D_800E30D4)($a0) -/* 0B8A24 800B7E24 00000000 */ nop -/* 0B8A28 800B7E28 10800005 */ beqz $a0, .L800B7E40 -/* 0B8A2C 800B7E2C 00000000 */ nop -/* 0B8A30 800B7E30 0C01C450 */ jal func_80071140 -/* 0B8A34 800B7E34 00000000 */ nop -/* 0B8A38 800B7E38 3C01800E */ lui $at, %hi(D_800E30D4) # $at, 0x800e -/* 0B8A3C 800B7E3C AC2030D4 */ sw $zero, %lo(D_800E30D4)($at) -.L800B7E40: -/* 0B8A40 800B7E40 3C04800E */ lui $a0, %hi(D_800E30D8) # $a0, 0x800e -/* 0B8A44 800B7E44 8C8430D8 */ lw $a0, %lo(D_800E30D8)($a0) -/* 0B8A48 800B7E48 00000000 */ nop -/* 0B8A4C 800B7E4C 10800005 */ beqz $a0, .L800B7E64 -/* 0B8A50 800B7E50 00000000 */ nop -/* 0B8A54 800B7E54 0C01C450 */ jal func_80071140 -/* 0B8A58 800B7E58 00000000 */ nop -/* 0B8A5C 800B7E5C 3C01800E */ lui $at, %hi(D_800E30D8) # $at, 0x800e -/* 0B8A60 800B7E60 AC2030D8 */ sw $zero, %lo(D_800E30D8)($at) -.L800B7E64: -/* 0B8A64 800B7E64 3C04800E */ lui $a0, %hi(D_800E3178) # $a0, 0x800e -/* 0B8A68 800B7E68 8C843178 */ lw $a0, %lo(D_800E3178)($a0) -/* 0B8A6C 800B7E6C 00000000 */ nop -/* 0B8A70 800B7E70 10800005 */ beqz $a0, .L800B7E88 -/* 0B8A74 800B7E74 00000000 */ nop -/* 0B8A78 800B7E78 0C01C450 */ jal func_80071140 -/* 0B8A7C 800B7E7C 00000000 */ nop -/* 0B8A80 800B7E80 3C01800E */ lui $at, %hi(D_800E3178) # $at, 0x800e -/* 0B8A84 800B7E84 AC203178 */ sw $zero, %lo(D_800E3178)($at) -.L800B7E88: -/* 0B8A88 800B7E88 3C01800E */ lui $at, %hi(D_800E3190) # $at, 0x800e -/* 0B8A8C 800B7E8C AC203190 */ sw $zero, %lo(D_800E3190)($at) -/* 0B8A90 800B7E90 3C01800E */ lui $at, %hi(D_800E3194) # $at, 0x800e -/* 0B8A94 800B7E94 AC203194 */ sw $zero, %lo(D_800E3194)($at) -/* 0B8A98 800B7E98 3C01800E */ lui $at, %hi(D_800E3184) # $at, 0x800e -/* 0B8A9C 800B7E9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B8AA0 800B7EA0 AC203184 */ sw $zero, %lo(D_800E3184)($at) -/* 0B8AA4 800B7EA4 3C01800E */ lui $at, %hi(D_800E3188) # $at, 0x800e -/* 0B8AA8 800B7EA8 AC203188 */ sw $zero, %lo(D_800E3188)($at) -/* 0B8AAC 800B7EAC 03E00008 */ jr $ra -/* 0B8AB0 800B7EB0 27BD0018 */ addiu $sp, $sp, 0x18 - From aed5ffe25f9d69d92aa209d2a73d4417a3bad69d Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 17 Jun 2021 19:51:03 -0700 Subject: [PATCH 5/6] Uncommented decompilation of func_8006C330. --- .../unknown_066AA0/func_8006C330.s | 49 ------------------- src/unknown_06B2B0.c | 5 -- 2 files changed, 54 deletions(-) delete mode 100644 asm/non_matchings/unknown_066AA0/func_8006C330.s diff --git a/asm/non_matchings/unknown_066AA0/func_8006C330.s b/asm/non_matchings/unknown_066AA0/func_8006C330.s deleted file mode 100644 index 931a2c07..00000000 --- a/asm/non_matchings/unknown_066AA0/func_8006C330.s +++ /dev/null @@ -1,49 +0,0 @@ -glabel func_8006C330 -/* 06CF30 8006C330 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06CF34 8006C334 AFBF0014 */ sw $ra, 0x14($sp) -/* 06CF38 8006C338 0C01B0F8 */ jal func_8006C3E0 -/* 06CF3C 8006C33C AFA40018 */ sw $a0, 0x18($sp) -/* 06CF40 8006C340 3C04800E */ lui $a0, %hi(D_800DD37C) # $a0, 0x800e -/* 06CF44 8006C344 8C84D37C */ lw $a0, %lo(D_800DD37C)($a0) -/* 06CF48 8006C348 0C01A871 */ jal func_8006A1C4 -/* 06CF4C 8006C34C 00002825 */ move $a1, $zero -/* 06CF50 8006C350 3C01800E */ lui $at, %hi(D_800DD37C) # $at, 0x800e -/* 06CF54 8006C354 AC22D37C */ sw $v0, %lo(D_800DD37C)($at) -/* 06CF58 8006C358 3C018012 */ lui $at, %hi(D_80123520) # $at, 0x8012 -/* 06CF5C 8006C35C AC203520 */ sw $zero, %lo(D_80123520)($at) -/* 06CF60 8006C360 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 -/* 06CF64 8006C364 240EFFFF */ li $t6, -1 -/* 06CF68 8006C368 AC2E34EC */ sw $t6, %lo(D_801234EC)($at) -.L8006C36C: -/* 06CF6C 8006C36C 0C01BAB0 */ jal func_8006EAC0 -/* 06CF70 8006C370 00000000 */ nop -/* 06CF74 8006C374 1040000E */ beqz $v0, .L8006C3B0 -/* 06CF78 8006C378 00000000 */ nop -/* 06CF7C 8006C37C 0C01C9C2 */ jal func_80072708 -/* 06CF80 8006C380 00000000 */ nop -/* 06CF84 8006C384 0C000A9D */ jal audioStopThread -/* 06CF88 8006C388 00000000 */ nop -/* 06CF8C 8006C38C 0C031CEF */ jal func_800C73BC -/* 06CF90 8006C390 00000000 */ nop -/* 06CF94 8006C394 3C0400AA */ lui $a0, (0x00AAAA82 >> 16) # lui $a0, 0xaa -/* 06CF98 8006C398 0C033490 */ jal __osSpSetStatus -/* 06CF9C 8006C39C 3484AA82 */ ori $a0, (0x00AAAA82 & 0xFFFF) # ori $a0, $a0, 0xaa82 -/* 06CFA0 8006C3A0 0C033494 */ jal func_800CD250 -/* 06CFA4 8006C3A4 240401D6 */ li $a0, 470 -.L8006C3A8: -/* 06CFA8 8006C3A8 1000FFFF */ b .L8006C3A8 -/* 06CFAC 8006C3AC 00000000 */ nop -.L8006C3B0: -/* 06CFB0 8006C3B0 0C01B183 */ jal func_8006C60C -/* 06CFB4 8006C3B4 00000000 */ nop -/* 06CFB8 8006C3B8 0C01978C */ jal func_80065E30 -/* 06CFBC 8006C3BC 00000000 */ nop -/* 06CFC0 8006C3C0 1000FFEA */ b .L8006C36C -/* 06CFC4 8006C3C4 00000000 */ nop -/* 06CFC8 8006C3C8 00000000 */ nop -/* 06CFCC 8006C3CC 00000000 */ nop -/* 06CFD0 8006C3D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 06CFD4 8006C3D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 06CFD8 8006C3D8 03E00008 */ jr $ra -/* 06CFDC 8006C3DC 00000000 */ nop - diff --git a/src/unknown_06B2B0.c b/src/unknown_06B2B0.c index ad4a994f..a648d389 100644 --- a/src/unknown_06B2B0.c +++ b/src/unknown_06B2B0.c @@ -680,9 +680,6 @@ s32 func_8006C300(void) { } } -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006C330.s") -#else void func_8006C330(s32 arg0) { func_8006C3E0(); D_800DD37C = func_8006A1C4(D_800DD37C, 0); @@ -700,9 +697,7 @@ void func_8006C330(s32 arg0) { func_8006C60C(); func_80065E30(); } - // This infinite loop creates too many nops! Needs to be 0x10 aligned, not 0x20 aligned. } -#endif #if 1 GLOBAL_ASM("asm/non_matchings/unknown_066AA0/func_8006C3E0.s") From 649514afd693f0f909dbba66196da503812a2e9d Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 17 Jun 2021 20:02:47 -0700 Subject: [PATCH 6/6] Decompiled func_8000E0B0. --- .../unknown_00BC20/func_8000E0B0.s | 45 ------------------- src/unknown_00BC20.c | 23 ++++++++-- 2 files changed, 20 insertions(+), 48 deletions(-) delete mode 100644 asm/non_matchings/unknown_00BC20/func_8000E0B0.s diff --git a/asm/non_matchings/unknown_00BC20/func_8000E0B0.s b/asm/non_matchings/unknown_00BC20/func_8000E0B0.s deleted file mode 100644 index 717c2a54..00000000 --- a/asm/non_matchings/unknown_00BC20/func_8000E0B0.s +++ /dev/null @@ -1,45 +0,0 @@ -.late_rodata -glabel jpt_800E5188 -.word L8000E104, L8000E0E4, L8000E0F4, L8000E0F4, L8000E0FC, L8000E104, L8000E0FC, L8000E0EC, L8000E104 - -.text -glabel func_8000E0B0 -/* 00ECB0 8000E0B0 3C0E8012 */ lui $t6, %hi(D_8011AD38) # $t6, 0x8012 -/* 00ECB4 8000E0B4 8DCEAD38 */ lw $t6, %lo(D_8011AD38)($t6) -/* 00ECB8 8000E0B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00ECBC 8000E0BC 2DC10009 */ sltiu $at, $t6, 9 -/* 00ECC0 8000E0C0 10200014 */ beqz $at, .L8000E114 -/* 00ECC4 8000E0C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 00ECC8 8000E0C8 000E7080 */ sll $t6, $t6, 2 -/* 00ECCC 8000E0CC 3C01800E */ lui $at, %hi(jpt_800E5188) # $at, 0x800e -/* 00ECD0 8000E0D0 002E0821 */ addu $at, $at, $t6 -/* 00ECD4 8000E0D4 8C2E5188 */ lw $t6, %lo(jpt_800E5188)($at) -/* 00ECD8 8000E0D8 00000000 */ nop -/* 00ECDC 8000E0DC 01C00008 */ jr $t6 -/* 00ECE0 8000E0E0 00000000 */ nop -glabel L8000E0E4 -/* 00ECE4 8000E0E4 1000000C */ b .L8000E118 -/* 00ECE8 8000E0E8 2402FFFF */ li $v0, -1 -glabel L8000E0EC -/* 00ECEC 8000E0EC 1000000A */ b .L8000E118 -/* 00ECF0 8000E0F0 00001025 */ move $v0, $zero -glabel L8000E0F4 -/* 00ECF4 8000E0F4 10000008 */ b .L8000E118 -/* 00ECF8 8000E0F8 24020003 */ li $v0, 3 -glabel L8000E0FC -/* 00ECFC 8000E0FC 10000006 */ b .L8000E118 -/* 00ED00 8000E100 24020002 */ li $v0, 2 -glabel L8000E104 -/* 00ED04 8000E104 0C016788 */ jal func_80059E20 -/* 00ED08 8000E108 00000000 */ nop -/* 00ED0C 8000E10C 10000003 */ b .L8000E11C -/* 00ED10 8000E110 8FBF0014 */ lw $ra, 0x14($sp) -.L8000E114: -/* 00ED14 8000E114 00001025 */ move $v0, $zero -.L8000E118: -/* 00ED18 8000E118 8FBF0014 */ lw $ra, 0x14($sp) -.L8000E11C: -/* 00ED1C 8000E11C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00ED20 8000E120 03E00008 */ jr $ra -/* 00ED24 8000E124 00000000 */ nop - diff --git a/src/unknown_00BC20.c b/src/unknown_00BC20.c index e354ac33..a5d98fa9 100644 --- a/src/unknown_00BC20.c +++ b/src/unknown_00BC20.c @@ -558,9 +558,26 @@ s32 func_8000CC20(u32 *arg0) { // Has a jump table GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000CC7C.s") -// Has a jump table -GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000E0B0.s") - +u32 func_8000E0B0(void) { + switch(D_8011AD38) { + case 1: + return -1; + case 7: + return 0; + case 2: + case 3: + return 3; + case 4: + case 6: + return 2; + case 0: + case 5: + case 8: + return func_80059E20(); + default: + return 0; + } +} void func_8000E128(void) { D_800DC708 = 0x8000;