diff --git a/asm/non_matchings/unknown_00BC20/func_8001A8F4.s b/asm/non_matchings/unknown_00BC20/func_8001A8F4.s index b4526871..4f113de3 100644 --- a/asm/non_matchings/unknown_00BC20/func_8001A8F4.s +++ b/asm/non_matchings/unknown_00BC20/func_8001A8F4.s @@ -285,7 +285,7 @@ glabel func_8001A8F4 /* 01B91C 8001AD1C A02BAD50 */ sb $t3, %lo(D_8011AD50)($at) /* 01B920 8001AD20 0C00A3E8 */ jal func_80028FA0 /* 01B924 8001AD24 24040001 */ li $a0, 1 -/* 01B928 8001AD28 3C028012 */ lui $v0, %hi(D_80120010) # $v0, 0x8012 +/* 01B928 8001AD28 3C028012 */ lui $v0, %hi(D_8011AD50) # $v0, 0x8012 /* 01B92C 8001AD2C 8042AD50 */ lb $v0, %lo(D_8011AD50)($v0) /* 01B930 8001AD30 00000000 */ nop .L8001AD34: @@ -326,7 +326,7 @@ glabel func_8001A8F4 /* 01B9B0 8001ADB0 00002025 */ move $a0, $zero /* 01B9B4 8001ADB4 0C01BAA4 */ jal get_settings /* 01B9B8 8001ADB8 30508000 */ andi $s0, $v0, 0x8000 -/* 01B9BC 8001ADBC 8C590010 */ lw $t9, %lo(D_80120010)($v0) +/* 01B9BC 8001ADBC 8C590010 */ lw $t9, 0x10($v0) /* 01B9C0 8001ADC0 00408825 */ move $s1, $v0 /* 01B9C4 8001ADC4 00194B40 */ sll $t1, $t9, 0xd /* 01B9C8 8001ADC8 05200002 */ bltz $t1, .L8001ADD4 diff --git a/asm/non_matchings/unknown_043920/func_80059E40.s b/asm/non_matchings/unknown_043920/func_80059E40.s index e9cbcfb6..c07d262b 100644 --- a/asm/non_matchings/unknown_043920/func_80059E40.s +++ b/asm/non_matchings/unknown_043920/func_80059E40.s @@ -6,10 +6,10 @@ glabel D_800E6938 .text glabel func_80059E40 -/* 05AA40 80059E40 3C058012 */ lui $a1, %hi(D_80120001) # $a1, 0x8012 +/* 05AA40 80059E40 3C058012 */ lui $a1, %hi(D_8011D59C) # $a1, 0x8012 /* 05AA44 80059E44 80A5D59C */ lb $a1, %lo(D_8011D59C)($a1) /* 05AA48 80059E48 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 05AA4C 80059E4C 24A50001 */ addiu $a1, %lo(D_80120001) # addiu $a1, $a1, 1 +/* 05AA4C 80059E4C 24A50001 */ addiu $a1, $a1, 1 /* 05AA50 80059E50 AFBF001C */ sw $ra, 0x1c($sp) /* 05AA54 80059E54 AFB00018 */ sw $s0, 0x18($sp) /* 05AA58 80059E58 30AE0001 */ andi $t6, $a1, 1 diff --git a/asm/non_matchings/unknown_080500/func_8009DB3C.s b/asm/non_matchings/unknown_080500/func_8009DB3C.s index 73fe2f46..41c90d02 100644 --- a/asm/non_matchings/unknown_080500/func_8009DB3C.s +++ b/asm/non_matchings/unknown_080500/func_8009DB3C.s @@ -145,7 +145,7 @@ glabel L8009DC60 /* 09E938 8009DD38 00000000 */ nop /* 09E93C 8009DD3C 3C0F8012 */ lui $t7, %hi(D_80126516) # $t7, 0x8012 /* 09E940 8009DD40 81EF6516 */ lb $t7, %lo(D_80126516)($t7) -/* 09E944 8009DD44 3C028012 */ lui $v0, %hi(D_80120004) # $v0, 0x8012 +/* 09E944 8009DD44 3C028012 */ lui $v0, %hi(D_8012645C) # $v0, 0x8012 /* 09E948 8009DD48 15E0001B */ bnez $t7, .L8009DDB8 /* 09E94C 8009DD4C 8FB80040 */ lw $t8, 0x40($sp) /* 09E950 8009DD50 8042645C */ lb $v0, %lo(D_8012645C)($v0) @@ -244,7 +244,7 @@ glabel L8009DC60 /* 09EAA0 8009DEA0 24180003 */ li $t8, 3 /* 09EAA4 8009DEA4 AFB80044 */ sw $t8, 0x44($sp) .L8009DEA8: -/* 09EAA8 8009DEA8 3C038012 */ lui $v1, %hi(D_80120001) # $v1, 0x8012 +/* 09EAA8 8009DEA8 3C038012 */ lui $v1, %hi(D_801264E2) /* 09EAAC 8009DEAC 806364E2 */ lb $v1, %lo(D_801264E2)($v1) /* 09EAB0 8009DEB0 24010004 */ li $at, 4 /* 09EAB4 8009DEB4 14610002 */ bne $v1, $at, .L8009DEC0 @@ -273,10 +273,10 @@ glabel L8009DEF0 /* 09EB04 8009DF04 10A00005 */ beqz $a1, .L8009DF1C /* 09EB08 8009DF08 00801025 */ move $v0, $a0 .L8009DF0C: -/* 09EB0C 8009DF0C 8C4B0004 */ lw $t3, %lo(D_80120004)($v0) -/* 09EB10 8009DF10 24630001 */ addiu $v1, %lo(D_80120001) # addiu $v1, $v1, 1 +/* 09EB0C 8009DF0C 8C4B0004 */ lw $t3, 4($v0) +/* 09EB10 8009DF10 24630001 */ addiu $v1, $v1, 1 /* 09EB14 8009DF14 1560FFFD */ bnez $t3, .L8009DF0C -/* 09EB18 8009DF18 24420004 */ addiu $v0, %lo(D_80120004) # addiu $v0, $v0, 4 +/* 09EB18 8009DF18 24420004 */ addiu $v0, $v0, 4 .L8009DF1C: /* 09EB1C 8009DF1C 1860001B */ blez $v1, .L8009DF8C /* 09EB20 8009DF20 246CFFFF */ addiu $t4, $v1, -1 diff --git a/asm/non_matchings/unknown_09F8F0/func_800A6254.s b/asm/non_matchings/unknown_09F8F0/func_800A6254.s index 536068ce..b7450383 100644 --- a/asm/non_matchings/unknown_09F8F0/func_800A6254.s +++ b/asm/non_matchings/unknown_09F8F0/func_800A6254.s @@ -392,7 +392,7 @@ glabel L800A63D8 /* 0A73EC 800A67EC 46101081 */ sub.s $f2, $f2, $f16 .L800A67F0: /* 0A73F0 800A67F0 8D2C0000 */ lw $t4, ($t1) -/* 0A73F4 800A67F4 3C028012 */ lui $v0, %hi(D_8012004B) # $v0, 0x8012 +/* 0A73F4 800A67F4 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 /* 0A73F8 800A67F8 E58C016C */ swc1 $f12, 0x16c($t4) /* 0A73FC 800A67FC 8D2D0000 */ lw $t5, ($t1) /* 0A7400 800A6800 00000000 */ nop @@ -415,11 +415,11 @@ glabel L800A63D8 /* 0A7440 800A6840 8CF80128 */ lw $t8, 0x128($a3) /* 0A7444 800A6844 00001825 */ move $v1, $zero /* 0A7448 800A6848 AFB80044 */ sw $t8, 0x44($sp) -/* 0A744C 800A684C 8059004B */ lb $t9, %lo(D_8012004B)($v0) +/* 0A744C 800A684C 8059004B */ lb $t9, 0x4B($v0) /* 0A7450 800A6850 27A6003C */ addiu $a2, $sp, 0x3c /* 0A7454 800A6854 1B20000E */ blez $t9, .L800A6890 /* 0A7458 800A6858 8FA40044 */ lw $a0, 0x44($sp) -/* 0A745C 800A685C 8045004B */ lb $a1, %lo(D_8012004B)($v0) +/* 0A745C 800A685C 8045004B */ lb $a1, 0x4B($v0) /* 0A7460 800A6860 00E02025 */ move $a0, $a3 .L800A6864: /* 0A7464 800A6864 8C820128 */ lw $v0, 0x128($a0) diff --git a/asm/non_matchings/unknown_0AEE70/func_800B653C.s b/asm/non_matchings/unknown_0AEE70/func_800B653C.s index 1a0e2d90..517dabe1 100644 --- a/asm/non_matchings/unknown_0AEE70/func_800B653C.s +++ b/asm/non_matchings/unknown_0AEE70/func_800B653C.s @@ -63,23 +63,23 @@ glabel func_800B653C /* 0B7210 800B6610 02A02025 */ move $a0, $s5 glabel L800B6614 /* 0B7214 800B6614 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 -/* 0B7218 800B6618 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7218 800B6618 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B721C 800B661C 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B7220 800B6620 AC207CB4 */ sw $zero, %lo(D_80127CB4)($at) /* 0B7224 800B6624 96440000 */ lhu $a0, ($s2) /* 0B7228 800B6628 00001825 */ move $v1, $zero /* 0B722C 800B662C 1000009D */ b .L800B68A4 -/* 0B7230 800B6630 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7230 800B6630 24A5FFF0 */ addiu $a1, $a1, -0x10 glabel L800B6634 /* 0B7234 800B6634 240F0001 */ li $t7, 1 /* 0B7238 800B6638 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 -/* 0B723C 800B663C 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B723C 800B663C 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B7240 800B6640 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B7244 800B6644 AC2F7CB4 */ sw $t7, %lo(D_80127CB4)($at) /* 0B7248 800B6648 96440000 */ lhu $a0, ($s2) /* 0B724C 800B664C 24030001 */ li $v1, 1 /* 0B7250 800B6650 10000094 */ b .L800B68A4 -/* 0B7254 800B6654 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7254 800B6654 24A5FFF0 */ addiu $a1, $a1, -0x10 glabel L800B6658 /* 0B7258 800B6658 8FD80000 */ lw $t8, ($fp) /* 0B725C 800B665C 92040000 */ lbu $a0, ($s0) @@ -104,13 +104,13 @@ glabel L800B6658 /* 0B72A8 800B66A8 03194025 */ or $t0, $t8, $t9 /* 0B72AC 800B66AC AC680004 */ sw $t0, 4($v1) .L800B66B0: -/* 0B72B0 800B66B0 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B72B0 800B66B0 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B72B4 800B66B4 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B72B8 800B66B8 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 /* 0B72BC 800B66BC 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) /* 0B72C0 800B66C0 96440000 */ lhu $a0, ($s2) /* 0B72C4 800B66C4 10000077 */ b .L800B68A4 -/* 0B72C8 800B66C8 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B72C8 800B66C8 24A5FFF0 */ addiu $a1, $a1, -0x10 glabel L800B66CC /* 0B72CC 800B66CC 8FC90000 */ lw $t1, ($fp) /* 0B72D0 800B66D0 92040000 */ lbu $a0, ($s0) @@ -135,13 +135,13 @@ glabel L800B66CC /* 0B731C 800B671C 012B5025 */ or $t2, $t1, $t3 /* 0B7320 800B6720 AC6A0004 */ sw $t2, 4($v1) .L800B6724: -/* 0B7324 800B6724 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7324 800B6724 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B7328 800B6728 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B732C 800B672C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 /* 0B7330 800B6730 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) /* 0B7334 800B6734 96440000 */ lhu $a0, ($s2) /* 0B7338 800B6738 1000005A */ b .L800B68A4 -/* 0B733C 800B673C 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B733C 800B673C 24A5FFF0 */ addiu $a1, $a1, -0x10 glabel L800B6740 /* 0B7340 800B6740 8FCC0000 */ lw $t4, ($fp) /* 0B7344 800B6744 02A02025 */ move $a0, $s5 @@ -156,7 +156,7 @@ glabel L800B6740 /* 0B7368 800B6768 AFAE0010 */ sw $t6, 0x10($sp) .L800B676C: /* 0B736C 800B676C 92190000 */ lbu $t9, ($s0) -/* 0B7370 800B6770 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7370 800B6770 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B7374 800B6774 A6590000 */ sh $t9, ($s2) /* 0B7378 800B6778 92180001 */ lbu $t8, 1($s0) /* 0B737C 800B677C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 @@ -176,15 +176,15 @@ glabel L800B6740 /* 0B73B4 800B67B4 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) /* 0B73B8 800B67B8 26100004 */ addiu $s0, $s0, 4 /* 0B73BC 800B67BC 10000039 */ b .L800B68A4 -/* 0B73C0 800B67C0 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B73C0 800B67C0 24A5FFF0 */ addiu $a1, $a1, -0x10 .L800B67C4: -/* 0B73C4 800B67C4 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B73C4 800B67C4 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B73C8 800B67C8 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B73CC 800B67CC 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 /* 0B73D0 800B67D0 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) /* 0B73D4 800B67D4 96440000 */ lhu $a0, ($s2) /* 0B73D8 800B67D8 10000032 */ b .L800B68A4 -/* 0B73DC 800B67DC 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B73DC 800B67DC 24A5FFF0 */ addiu $a1, $a1, -0x10 .L800B67E0: /* 0B73E0 800B67E0 8FD80000 */ lw $t8, ($fp) /* 0B73E4 800B67E4 02A02025 */ move $a0, $s5 @@ -202,17 +202,17 @@ glabel L800B6740 /* 0B7410 800B6810 00000000 */ nop /* 0B7414 800B6814 96440000 */ lhu $a0, ($s2) /* 0B7418 800B6818 96890000 */ lhu $t1, ($s4) -/* 0B741C 800B681C 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B741C 800B681C 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B7420 800B6820 A6C40000 */ sh $a0, ($s6) /* 0B7424 800B6824 A6E90000 */ sh $t1, ($s7) /* 0B7428 800B6828 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B742C 800B682C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 /* 0B7430 800B6830 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) /* 0B7434 800B6834 1000001B */ b .L800B68A4 -/* 0B7438 800B6838 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7438 800B6838 24A5FFF0 */ addiu $a1, $a1, -0x10 .L800B683C: /* 0B743C 800B683C 96440000 */ lhu $a0, ($s2) -/* 0B7440 800B6840 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7440 800B6840 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B7444 800B6844 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B7448 800B6848 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) /* 0B744C 800B684C 04810004 */ bgez $a0, .L800B6860 @@ -222,7 +222,7 @@ glabel L800B6740 /* 0B745C 800B685C 2442FFE0 */ addiu $v0, $v0, -0x20 .L800B6860: /* 0B7460 800B6860 14400003 */ bnez $v0, .L800B6870 -/* 0B7464 800B6864 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7464 800B6864 24A5FFF0 */ addiu $a1, $a1, -0x10 /* 0B7468 800B6868 1000000E */ b .L800B68A4 /* 0B746C 800B686C 24130020 */ li $s3, 32 .L800B6870: @@ -234,13 +234,13 @@ glabel L800B6740 .L800B6880: /* 0B7480 800B6880 0C02DA7F */ jal func_800B69FC /* 0B7484 800B6884 02202825 */ move $a1, $s1 -/* 0B7488 800B6888 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7488 800B6888 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 /* 0B748C 800B688C 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) /* 0B7490 800B6890 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 /* 0B7494 800B6894 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) /* 0B7498 800B6898 96440000 */ lhu $a0, ($s2) /* 0B749C 800B689C 00409825 */ move $s3, $v0 -/* 0B74A0 800B68A0 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B74A0 800B68A0 24A5FFF0 */ addiu $a1, $a1, -0x10 .L800B68A4: /* 0B74A4 800B68A4 10600006 */ beqz $v1, .L800B68C0 /* 0B74A8 800B68A8 2A210020 */ slti $at, $s1, 0x20 diff --git a/bss.txt b/bss.txt index 7ae3dcaf..4d9273df 100644 --- a/bss.txt +++ b/bss.txt @@ -1,63 +1,31 @@ unknown_001050 - unknown_003260 - unknown_005740 - unknown_00BC20 - unknown_0255E0 - unknown_032760 - unknown_0348C0 - unknown_043920 - unknown_05CEF0 - unknown_05DCD0 - unknown_05F0C0 - unknown_05F690 - unknown_0667D0 -D_8011D750; -D_8011D758; -D_8011F758; -D_8011F760; -D_8011F910; -D_8011FFF0; -D_80120001; - - -unknown_080500 -D_80120004; - - -unknown_00BC20 -D_80120010; - - -unknown_09F8F0 -D_8012004B; -D_80120AC0; - unknown_066AA0 +D_80120AC0; D_80120AC4; D_80120AF4; D_80120BD0; diff --git a/src/unknown_060450.c b/src/unknown_060450.c index 092094ef..e73232bf 100644 --- a/src/unknown_060450.c +++ b/src/unknown_060450.c @@ -34,6 +34,7 @@ s32 D_8011D638; s32 D_8011D63C; s32 D_8011D640; s32 D_8011D644; +s32 D_8011D648[66]; /******************************/ diff --git a/src/unknown_0667D0.c b/src/unknown_0667D0.c index 88553fa0..be88af19 100644 --- a/src/unknown_0667D0.c +++ b/src/unknown_0667D0.c @@ -5,6 +5,7 @@ #include "types.h" #include "macros.h" +#include "libultra_internal.h" /************ .data ************/ @@ -12,7 +13,7 @@ s16 D_800DD050 = 0; /*******************************/ -extern s32* D_80065D98; +extern s32* D_80065D98; // func_80065D98 is the entry function for thread 1 /************ .rodata ************/ @@ -21,13 +22,17 @@ const char D_800E6ED0[] = "WARNING: Stack overflow/underflow!!!\n"; /*********************************/ - /************ .bss ************/ -extern s32* D_8011D750; -extern s32* D_8011F758; -extern s32* D_8011F760; -extern s32* D_8011F910; +s32 *D_8011D750; // stack pointer for thread 1 +s32 D_8011D754; +s32 D_8011D758[2048]; +s32 *D_8011F758; +s32 D_8011F75C; +OSThread *D_8011F760; // OSThread for thread 1 +s32 D_8011F764; +s32 D_8011F768[106]; +s32 *D_8011F910; /******************************/ diff --git a/undefined_syms.txt b/undefined_syms.txt index 273e949e..043adce3 100755 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -25,33 +25,12 @@ osAppNMIBuffer = 0x8000031C; D_800E0001 = 0x800E0001; eqpower = 0x800E37A0; -/D_8011D5F0 = 0x8011D5F0; -/D_8011D5F1 = 0x8011D5F1; -/D_8011D600 = 0x8011D600; -/D_8011D601 = 0x8011D601; -/D_8011D610 = 0x8011D610; -/D_8011D611 = 0x8011D611; -/D_8011D620 = 0x8011D620; -/D_8011D624 = 0x8011D624; -/D_8011D628 = 0x8011D628; -/D_8011D62C = 0x8011D62C; -/D_8011D630 = 0x8011D630; -/D_8011D634 = 0x8011D634; -/D_8011D638 = 0x8011D638; -/D_8011D63C = 0x8011D63C; -/D_8011D640 = 0x8011D640; -/D_8011D644 = 0x8011D644; +/D_8011D750 = 0x8011D750; +/D_8011D758 = 0x8011D758; +/D_8011F758 = 0x8011F758; +/D_8011F760 = 0x8011F760; +/D_8011F910 = 0x8011F910; -D_8011D750 = 0x8011D750; -D_8011D758 = 0x8011D758; -D_8011F758 = 0x8011F758; -D_8011F760 = 0x8011F760; -D_8011F910 = 0x8011F910; -D_8011FFF0 = 0x8011FFF0; -D_80120001 = 0x80120001; -D_80120004 = 0x80120004; -D_80120010 = 0x80120010; -D_8012004B = 0x8012004B; D_80120AC0 = 0x80120AC0; D_80120AC4 = 0x80120AC4; D_80120AF4 = 0x80120AF4;