Asm update

This commit is contained in:
Ethan Roseman 2020-10-15 00:18:54 -04:00
parent 1b407d6364
commit 3b40b9b28d
8 changed files with 258 additions and 116 deletions

View File

@ -49,7 +49,7 @@ CPPFLAGS = -Iinclude -D _LANGUAGE_C -ffreestanding -DF3DEX_GBI_2
ASFLAGS = -EB -Iinclude -march=vr4300 -mtune=vr4300
OLDASFLAGS = -EB -Iinclude -G 0
CFLAGS = -O2 -quiet -G 0 -mcpu=vr4300 -mfix4300 -mips3 -mgp32 -mfp32
LDFLAGS = -T undefined_syms.txt -T $(LD_SCRIPT) -Map $(BUILD_DIR)/papermario.map --no-check-sections
LDFLAGS = -T undefined_syms.txt -T undefined_funcs.txt -T $(LD_SCRIPT) -Map $(BUILD_DIR)/papermario.map --no-check-sections
######################## Targets #############################

View File

@ -30,25 +30,25 @@ glabel begin_state_intro
/* 11AB0 800366B0 0C00CDF4 */ jal intro_logos_set_fade_alpha
/* 11AB4 800366B4 0000202D */ daddu $a0, $zero, $zero
/* 11AB8 800366B8 240200FF */ addiu $v0, $zero, 0xff
/* 11ABC 800366BC 3C01800A */ lui $at, 0x800a
/* 11AC0 800366C0 A4220954 */ sh $v0, 0x954($at)
/* 11ABC 800366BC 3C01800A */ lui $at, %hi(D_800A0954)
/* 11AC0 800366C0 A4220954 */ sh $v0, %lo(D_800A0954)($at)
/* 11AC4 800366C4 24020010 */ addiu $v0, $zero, 0x10
/* 11AC8 800366C8 3C01800A */ lui $at, 0x800a
/* 11ACC 800366CC A4220956 */ sh $v0, 0x956($at)
/* 11AC8 800366C8 3C01800A */ lui $at, %hi(D_800A0956)
/* 11ACC 800366CC A4220956 */ sh $v0, %lo(D_800A0956)($at)
/* 11AD0 800366D0 24020004 */ addiu $v0, $zero, 4
/* 11AD4 800366D4 3C01800A */ lui $at, 0x800a
/* 11AD8 800366D8 A4220958 */ sh $v0, 0x958($at)
/* 11AD4 800366D4 3C01800A */ lui $at, %hi(D_800A0958)
/* 11AD8 800366D8 A4220958 */ sh $v0, %lo(D_800A0958)($at)
/* 11ADC 800366DC 240200D0 */ addiu $v0, $zero, 0xd0
/* 11AE0 800366E0 3C01800A */ lui $at, 0x800a
/* 11AE4 800366E4 AC200960 */ sw $zero, 0x960($at)
/* 11AE8 800366E8 3C01800A */ lui $at, 0x800a
/* 11AEC 800366EC A422095A */ sh $v0, 0x95a($at)
/* 11AF0 800366F0 3C01800A */ lui $at, 0x800a
/* 11AF4 800366F4 A422095C */ sh $v0, 0x95c($at)
/* 11AF8 800366F8 3C01800A */ lui $at, 0x800a
/* 11AFC 800366FC A422095E */ sh $v0, 0x95e($at)
/* 11B00 80036700 3C01800A */ lui $at, 0x800a
/* 11B04 80036704 AC200964 */ sw $zero, 0x964($at)
/* 11AE0 800366E0 3C01800A */ lui $at, %hi(D_800A0960)
/* 11AE4 800366E4 AC200960 */ sw $zero, %lo(D_800A0960)($at)
/* 11AE8 800366E8 3C01800A */ lui $at, %hi(D_800A095A)
/* 11AEC 800366EC A422095A */ sh $v0, %lo(D_800A095A)($at)
/* 11AF0 800366F0 3C01800A */ lui $at, %hi(D_800A095C)
/* 11AF4 800366F4 A422095C */ sh $v0, %lo(D_800A095C)($at)
/* 11AF8 800366F8 3C01800A */ lui $at, %hi(D_800A095E)
/* 11AFC 800366FC A422095E */ sh $v0, %lo(D_800A095E)($at)
/* 11B00 80036700 3C01800A */ lui $at, %hi(D_800A0964)
/* 11B04 80036704 AC200964 */ sw $zero, %lo(D_800A0964)($at)
/* 11B08 80036708 8E230000 */ lw $v1, ($s1)
/* 11B0C 8003670C 24020005 */ addiu $v0, $zero, 5
/* 11B10 80036710 A4620086 */ sh $v0, 0x86($v1)
@ -61,22 +61,22 @@ glabel begin_state_intro
/* 11B28 80036728 0000202D */ daddu $a0, $zero, $zero
/* 11B2C 8003672C 2402000C */ addiu $v0, $zero, 0xc
/* 11B30 80036730 24040004 */ addiu $a0, $zero, 4
/* 11B34 80036734 3C01800A */ lui $at, 0x800a
/* 11B38 80036738 A4200954 */ sh $zero, 0x954($at)
/* 11B3C 8003673C 3C01800A */ lui $at, 0x800a
/* 11B40 80036740 A4220956 */ sh $v0, 0x956($at)
/* 11B44 80036744 3C01800A */ lui $at, 0x800a
/* 11B48 80036748 A4240958 */ sh $a0, 0x958($at)
/* 11B4C 8003674C 3C01800A */ lui $at, 0x800a
/* 11B50 80036750 AC300960 */ sw $s0, 0x960($at)
/* 11B54 80036754 3C01800A */ lui $at, 0x800a
/* 11B58 80036758 A420095A */ sh $zero, 0x95a($at)
/* 11B5C 8003675C 3C01800A */ lui $at, 0x800a
/* 11B60 80036760 A420095C */ sh $zero, 0x95c($at)
/* 11B64 80036764 3C01800A */ lui $at, 0x800a
/* 11B68 80036768 A420095E */ sh $zero, 0x95e($at)
/* 11B6C 8003676C 3C01800A */ lui $at, 0x800a
/* 11B70 80036770 AC200964 */ sw $zero, 0x964($at)
/* 11B34 80036734 3C01800A */ lui $at, %hi(D_800A0954)
/* 11B38 80036738 A4200954 */ sh $zero, %lo(D_800A0954)($at)
/* 11B3C 8003673C 3C01800A */ lui $at, %hi(D_800A0956)
/* 11B40 80036740 A4220956 */ sh $v0, %lo(D_800A0956)($at)
/* 11B44 80036744 3C01800A */ lui $at, %hi(D_800A0958)
/* 11B48 80036748 A4240958 */ sh $a0, %lo(D_800A0958)($at)
/* 11B4C 8003674C 3C01800A */ lui $at, %hi(D_800A0960)
/* 11B50 80036750 AC300960 */ sw $s0, %lo(D_800A0960)($at)
/* 11B54 80036754 3C01800A */ lui $at, %hi(D_800A095A)
/* 11B58 80036758 A420095A */ sh $zero, %lo(D_800A095A)($at)
/* 11B5C 8003675C 3C01800A */ lui $at, %hi(D_800A095C)
/* 11B60 80036760 A420095C */ sh $zero, %lo(D_800A095C)($at)
/* 11B64 80036764 3C01800A */ lui $at, %hi(D_800A095E)
/* 11B68 80036768 A420095E */ sh $zero, %lo(D_800A095E)($at)
/* 11B6C 8003676C 3C01800A */ lui $at, %hi(D_800A0964)
/* 11B70 80036770 AC200964 */ sw $zero, %lo(D_800A0964)($at)
/* 11B74 80036774 8E220000 */ lw $v0, ($s1)
/* 11B78 80036778 24030005 */ addiu $v1, $zero, 5
/* 11B7C 8003677C A4430086 */ sh $v1, 0x86($v0)
@ -91,15 +91,15 @@ glabel begin_state_intro
/* 11B9C 8003679C 2402FFFF */ addiu $v0, $zero, -1
/* 11BA0 800367A0 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 11BA4 800367A4 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 11BA8 800367A8 3C048007 */ lui $a0, 0x8007
/* 11BAC 800367AC 248479B0 */ addiu $a0, $a0, 0x79b0
/* 11BA8 800367A8 3C048007 */ lui $a0, %hi(D_800779B0)
/* 11BAC 800367AC 248479B0 */ addiu $a0, $a0, %lo(D_800779B0)
/* 11BB0 800367B0 A06200A8 */ sb $v0, 0xa8($v1)
/* 11BB4 800367B4 90820000 */ lbu $v0, ($a0)
/* 11BB8 800367B8 24030006 */ addiu $v1, $zero, 6
/* 11BBC 800367BC 3C01800A */ lui $at, 0x800a
/* 11BC0 800367C0 A4230956 */ sh $v1, 0x956($at)
/* 11BC4 800367C4 3C01800A */ lui $at, 0x800a
/* 11BC8 800367C8 A4230958 */ sh $v1, 0x958($at)
/* 11BBC 800367BC 3C01800A */ lui $at, %hi(D_800A0956)
/* 11BC0 800367C0 A4230956 */ sh $v1, %lo(D_800A0956)($at)
/* 11BC4 800367C4 3C01800A */ lui $at, %hi(D_800A0958)
/* 11BC8 800367C8 A4230958 */ sh $v1, %lo(D_800A0958)($at)
/* 11BCC 800367CC 24420001 */ addiu $v0, $v0, 1
/* 11BD0 800367D0 A0820000 */ sb $v0, ($a0)
/* 11BD4 800367D4 304200FF */ andi $v0, $v0, 0xff
@ -108,23 +108,23 @@ glabel begin_state_intro
/* 11BE0 800367E0 A0800000 */ sb $zero, ($a0)
.L800367E4:
/* 11BE4 800367E4 24020003 */ addiu $v0, $zero, 3
/* 11BE8 800367E8 3C01800A */ lui $at, 0x800a
/* 11BEC 800367EC AC220964 */ sw $v0, 0x964($at)
/* 11BE8 800367E8 3C01800A */ lui $at, %hi(D_800A0964)
/* 11BEC 800367EC AC220964 */ sw $v0, %lo(D_800A0964)($at)
.L800367F0:
/* 11BF0 800367F0 3C02800A */ lui $v0, 0x800a
/* 11BF4 800367F4 84420954 */ lh $v0, 0x954($v0)
/* 11BF8 800367F8 3C04800A */ lui $a0, 0x800a
/* 11BFC 800367FC 90840963 */ lbu $a0, 0x963($a0)
/* 11BF0 800367F0 3C02800A */ lui $v0, %hi(D_800A0954)
/* 11BF4 800367F4 84420954 */ lh $v0, %lo(D_800A0954)($v0)
/* 11BF8 800367F8 3C04800A */ lui $a0, %hi(D_800A0963)
/* 11BFC 800367FC 90840963 */ lbu $a0, %lo(D_800A0963)($a0)
/* 11C00 80036800 44820000 */ mtc1 $v0, $f0
/* 11C04 80036804 00000000 */ nop
/* 11C08 80036808 46800020 */ cvt.s.w $f0, $f0
/* 11C0C 8003680C 44050000 */ mfc1 $a1, $f0
/* 11C10 80036810 0C04DF69 */ jal func_80137DA4
/* 11C14 80036814 00000000 */ nop
/* 11C18 80036818 3C05800A */ lui $a1, 0x800a
/* 11C1C 8003681C 90A5095B */ lbu $a1, 0x95b($a1)
/* 11C20 80036820 3C06800A */ lui $a2, 0x800a
/* 11C24 80036824 90C6095D */ lbu $a2, 0x95d($a2)
/* 11C18 80036818 3C05800A */ lui $a1, %hi(D_800A095B)
/* 11C1C 8003681C 90A5095B */ lbu $a1, %lo(D_800A095B)($a1)
/* 11C20 80036820 3C06800A */ lui $a2, %hi(D_800A095F)
/* 11C24 80036824 90C6095D */ lbu $a2, %lo(D_800A095F)($a2)
/* 11C28 80036828 3C07800A */ lui $a3, 0x800a
/* 11C2C 8003682C 90E7095F */ lbu $a3, 0x95f($a3)
/* 11C30 80036830 0C04DF84 */ jal func_80137E10

View File

@ -15,8 +15,8 @@ glabel step_intro
/* 11C7C 8003687C 804300A8 */ lb $v1, 0xa8($v0)
/* 11C80 80036880 1064002F */ beq $v1, $a0, .L80036940
/* 11C84 80036884 8C450010 */ lw $a1, 0x10($v0)
/* 11C88 80036888 3C03800A */ lui $v1, 0x800a
/* 11C8C 8003688C 24630964 */ addiu $v1, $v1, 0x964
/* 11C88 80036888 3C03800A */ lui $v1, %hi(D_800A0964)
/* 11C8C 8003688C 24630964 */ addiu $v1, $v1, %lo(D_800A0964)
/* 11C90 80036890 8C620000 */ lw $v0, ($v1)
/* 11C94 80036894 14400004 */ bnez $v0, .L800368A8
/* 11C98 80036898 30A2F000 */ andi $v0, $a1, 0xf000
@ -24,8 +24,8 @@ glabel step_intro
/* 11CA0 800368A0 24020001 */ addiu $v0, $zero, 1
/* 11CA4 800368A4 AC620000 */ sw $v0, ($v1)
.L800368A8:
/* 11CA8 800368A8 3C03800A */ lui $v1, 0x800a
/* 11CAC 800368AC 8C630964 */ lw $v1, 0x964($v1)
/* 11CA8 800368A8 3C03800A */ lui $v1, %hi(D_800A0964)
/* 11CAC 800368AC 8C630964 */ lw $v1, %lo(D_800A0964)($v1)
/* 11CB0 800368B0 24020001 */ addiu $v0, $zero, 1
/* 11CB4 800368B4 14620010 */ bne $v1, $v0, .L800368F8
/* 11CB8 800368B8 24020002 */ addiu $v0, $zero, 2
@ -43,8 +43,8 @@ glabel step_intro
/* 11CE8 800368E8 0800DA4C */ j .L80036930
/* 11CEC 800368EC 24020064 */ addiu $v0, $zero, 0x64
.L800368F0:
/* 11CF0 800368F0 3C03800A */ lui $v1, 0x800a
/* 11CF4 800368F4 8C630964 */ lw $v1, 0x964($v1)
/* 11CF0 800368F0 3C03800A */ lui $v1, %hi(D_800A0964)
/* 11CF4 800368F4 8C630964 */ lw $v1, %lo(D_800A0964)($v1)
.L800368F8:
/* 11CF8 800368F8 14620011 */ bne $v1, $v0, .L80036940
/* 11CFC 800368FC 00000000 */ nop
@ -92,8 +92,8 @@ glabel step_intro
/* 11D98 80036998 44806000 */ mtc1 $zero, $f12
/* 11D9C 8003699C 0C00AFC5 */ jal set_curtain_fade_goal
/* 11DA0 800369A0 00000000 */ nop
/* 11DA4 800369A4 3C04800A */ lui $a0, 0x800a
/* 11DA8 800369A8 84840956 */ lh $a0, 0x956($a0)
/* 11DA4 800369A4 3C04800A */ lui $a0, %hi(D_800A0956)
/* 11DA8 800369A8 84840956 */ lh $a0, %lo(D_800A0956)($a0)
/* 11DAC 800369AC 0C00CE0C */ jal intro_logos_fade_out
/* 11DB0 800369B0 00000000 */ nop
/* 11DB4 800369B4 104000F0 */ beqz $v0, .L80036D78
@ -105,11 +105,11 @@ glabel step_intro
/* 11DCC 800369CC 0800DB5E */ j .L80036D78
/* 11DD0 800369D0 00000000 */ nop
.L800369D4:
/* 11DD4 800369D4 3C05800A */ lui $a1, 0x800a
/* 11DD8 800369D8 24A50954 */ addiu $a1, $a1, 0x954
/* 11DD4 800369D4 3C05800A */ lui $a1, %hi(D_800A0954)
/* 11DD8 800369D8 24A50954 */ addiu $a1, $a1, %lo(D_800A0954)
/* 11DDC 800369DC 94A20000 */ lhu $v0, ($a1)
/* 11DE0 800369E0 3C03800A */ lui $v1, 0x800a
/* 11DE4 800369E4 94630956 */ lhu $v1, 0x956($v1)
/* 11DE0 800369E0 3C03800A */ lui $v1, %hi(D_800A0956)
/* 11DE4 800369E4 94630956 */ lhu $v1, %lo(D_800A0956)($v1)
/* 11DE8 800369E8 00431021 */ addu $v0, $v0, $v1
/* 11DEC 800369EC A4A20000 */ sh $v0, ($a1)
/* 11DF0 800369F0 00021400 */ sll $v0, $v0, 0x10
@ -132,8 +132,8 @@ glabel step_intro
/* 11E34 80036A34 AC230950 */ sw $v1, 0x950($at)
/* 11E38 80036A38 34420008 */ ori $v0, $v0, 8
/* 11E3C 80036A3C AC820000 */ sw $v0, ($a0)
/* 11E40 80036A40 3C03800A */ lui $v1, 0x800a
/* 11E44 80036A44 8C630960 */ lw $v1, 0x960($v1)
/* 11E40 80036A40 3C03800A */ lui $v1, %hi(D_800A0960)
/* 11E44 80036A44 8C630960 */ lw $v1, %lo(D_800A0960)($v1)
/* 11E48 80036A48 2402000E */ addiu $v0, $zero, 0xe
/* 11E4C 80036A4C 106200CA */ beq $v1, $v0, .L80036D78
/* 11E50 80036A50 00000000 */ nop
@ -263,8 +263,8 @@ glabel step_intro
/* 12034 80036C34 A06200AC */ sb $v0, 0xac($v1)
/* 12038 80036C38 0800DB5E */ j .L80036D78
/* 1203C 80036C3C 00000000 */ nop
/* 12040 80036C40 3C04800A */ lui $a0, 0x800a
/* 12044 80036C44 24840960 */ addiu $a0, $a0, 0x960
/* 12040 80036C40 3C04800A */ lui $a0, %hi(D_800A0960)
/* 12044 80036C44 24840960 */ addiu $a0, $a0, %lo(D_800A0960)
/* 12048 80036C48 8C830000 */ lw $v1, ($a0)
/* 1204C 80036C4C 2402000E */ addiu $v0, $zero, 0xe
/* 12050 80036C50 14620004 */ bne $v1, $v0, .L80036C64
@ -276,13 +276,13 @@ glabel step_intro
/* 12064 80036C64 3C04800A */ lui $a0, %hi(D_8009A650)
/* 12068 80036C68 2484A650 */ addiu $a0, $a0, %lo(D_8009A650)
/* 1206C 80036C6C 2405FFF7 */ addiu $a1, $zero, -9
/* 12070 80036C70 3C03800A */ lui $v1, 0x800a
/* 12074 80036C74 94630958 */ lhu $v1, 0x958($v1)
/* 12070 80036C70 3C03800A */ lui $v1, %hi(D_800A0958)
/* 12074 80036C74 94630958 */ lhu $v1, %lo(D_800A0958)($v1)
/* 12078 80036C78 3C06800B */ lui $a2, %hi(gCameras)
/* 1207C 80036C7C 24C61D80 */ addiu $a2, $a2, %lo(gCameras)
/* 12080 80036C80 00431023 */ subu $v0, $v0, $v1
/* 12084 80036C84 3C01800A */ lui $at, 0x800a
/* 12088 80036C88 A4220954 */ sh $v0, 0x954($at)
/* 12084 80036C84 3C01800A */ lui $at, %hi(D_800A0954)
/* 12088 80036C88 A4220954 */ sh $v0, %lo(D_800A0954)($at)
/* 1208C 80036C8C 8C830000 */ lw $v1, ($a0)
/* 12090 80036C90 94C20000 */ lhu $v0, ($a2)
/* 12094 80036C94 00651824 */ and $v1, $v1, $a1
@ -319,8 +319,8 @@ glabel step_intro
/* 12110 80036D10 00000000 */ nop
/* 12114 80036D14 0C00E64C */ jal update_npcs
/* 12118 80036D18 00000000 */ nop
/* 1211C 80036D1C 3C04800A */ lui $a0, 0x800a
/* 12120 80036D20 24840954 */ addiu $a0, $a0, 0x954
/* 1211C 80036D1C 3C04800A */ lui $a0, %hi(D_800A0954)
/* 12120 80036D20 24840954 */ addiu $a0, $a0, %lo(D_800A0954)
/* 12124 80036D24 84820000 */ lh $v0, ($a0)
/* 12128 80036D28 1440000C */ bnez $v0, .L80036D5C
/* 1212C 80036D2C 94830000 */ lhu $v1, ($a0)
@ -336,28 +336,28 @@ glabel step_intro
/* 12154 80036D54 0800DB5E */ j .L80036D78
/* 12158 80036D58 00000000 */ nop
.L80036D5C:
/* 1215C 80036D5C 3C02800A */ lui $v0, 0x800a
/* 12160 80036D60 94420958 */ lhu $v0, 0x958($v0)
/* 1215C 80036D5C 3C02800A */ lui $v0, %hi(D_800A0958)
/* 12160 80036D60 94420958 */ lhu $v0, %lo(D_800A0958)($v0)
/* 12164 80036D64 00621023 */ subu $v0, $v1, $v0
/* 12168 80036D68 A4820000 */ sh $v0, ($a0)
/* 1216C 80036D6C 00021400 */ sll $v0, $v0, 0x10
/* 12170 80036D70 04420001 */ bltzl $v0, .L80036D78
/* 12174 80036D74 A4800000 */ sh $zero, ($a0)
.L80036D78:
/* 12178 80036D78 3C02800A */ lui $v0, 0x800a
/* 1217C 80036D7C 84420954 */ lh $v0, 0x954($v0)
/* 12180 80036D80 3C04800A */ lui $a0, 0x800a
/* 12184 80036D84 90840963 */ lbu $a0, 0x963($a0)
/* 12178 80036D78 3C02800A */ lui $v0, %hi(D_800A0954)
/* 1217C 80036D7C 84420954 */ lh $v0, %lo(D_800A0954)($v0)
/* 12180 80036D80 3C04800A */ lui $a0, %hi(D_800A0963)
/* 12184 80036D84 90840963 */ lbu $a0, %lo(D_800A0963)($a0)
/* 12188 80036D88 44820000 */ mtc1 $v0, $f0
/* 1218C 80036D8C 00000000 */ nop
/* 12190 80036D90 46800020 */ cvt.s.w $f0, $f0
/* 12194 80036D94 44050000 */ mfc1 $a1, $f0
/* 12198 80036D98 0C04DF69 */ jal func_80137DA4
/* 1219C 80036D9C 00000000 */ nop
/* 121A0 80036DA0 3C05800A */ lui $a1, 0x800a
/* 121A4 80036DA4 90A5095B */ lbu $a1, 0x95b($a1)
/* 121A8 80036DA8 3C06800A */ lui $a2, 0x800a
/* 121AC 80036DAC 90C6095D */ lbu $a2, 0x95d($a2)
/* 121A0 80036DA0 3C05800A */ lui $a1, %hi(D_800A095B)
/* 121A4 80036DA4 90A5095B */ lbu $a1, %lo(D_800A095B)($a1)
/* 121A8 80036DA8 3C06800A */ lui $a2, %hi(D_800A095F)
/* 121AC 80036DAC 90C6095D */ lbu $a2, %lo(D_800A095F)($a2)
/* 121B0 80036DB0 3C07800A */ lui $a3, 0x800a
/* 121B4 80036DB4 90E7095F */ lbu $a3, 0x95f($a3)
/* 121B8 80036DB8 0C04DF84 */ jal func_80137E10

View File

@ -11,52 +11,52 @@ glabel boot_main
/* 1388 80025F88 3C048009 */ lui $a0, 0x8009
/* 138C 80025F8C 24845820 */ addiu $a0, $a0, 0x5820
/* 1390 80025F90 080097EB */ j .L80025FAC
/* 1394 80025F94 00000000 */ nop
/* 1394 80025F94 00000000 */ nop
.L80025F98:
/* 1398 80025F98 24020002 */ addiu $v0, $zero, 2
/* 139C 80025F9C 14620009 */ bne $v1, $v0, .L80025FC4
/* 13A0 80025FA0 00000000 */ nop
/* 13A0 80025FA0 00000000 */ nop
/* 13A4 80025FA4 3C048009 */ lui $a0, 0x8009
/* 13A8 80025FA8 24845870 */ addiu $a0, $a0, 0x5870
.L80025FAC:
/* 13AC 80025FAC 0C019B84 */ jal osViSetMode
/* 13B0 80025FB0 00000000 */ nop
/* 13B0 80025FB0 00000000 */ nop
/* 13B4 80025FB4 0C019B98 */ jal osViSetSpecialFeatures
/* 13B8 80025FB8 2404005A */ addiu $a0, $zero, 0x5a
/* 13BC 80025FBC 080097F3 */ j .L80025FCC
/* 13C0 80025FC0 00000000 */ nop
/* 13C0 80025FC0 00000000 */ nop
.L80025FC4:
/* 13C4 80025FC4 080097F1 */ j .L80025FC4
/* 13C8 80025FC8 00000000 */ nop
/* 13C8 80025FC8 00000000 */ nop
.L80025FCC:
/* 13CC 80025FCC 0C017D00 */ jal nuGfxDisplayOff
/* 13D0 80025FD0 00000000 */ nop
/* 13D0 80025FD0 00000000 */ nop
/* 13D4 80025FD4 0C00B22C */ jal crash_create_monitor
/* 13D8 80025FD8 00000000 */ nop
/* 13D8 80025FD8 00000000 */ nop
/* 13DC 80025FDC 0C009718 */ jal func_80025C60
/* 13E0 80025FE0 00000000 */ nop
/* 13E0 80025FE0 00000000 */ nop
/* 13E4 80025FE4 0C017D58 */ jal nuGfxInit
/* 13E8 80025FE8 00000000 */ nop
/* 13E8 80025FE8 00000000 */ nop
/* 13EC 80025FEC 0C017D84 */ jal nuContInit
/* 13F0 80025FF0 00000000 */ nop
/* 13F0 80025FF0 00000000 */ nop
/* 13F4 80025FF4 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 13F8 80025FF8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 13FC 80025FFC 0C00B458 */ jal func_8002D160
/* 1400 80026000 A0620073 */ sb $v0, 0x73($v1)
/* 1404 80026004 0C0AC800 */ jal func_802B2000
/* 1408 80026008 00000000 */ nop
/* 1408 80026008 00000000 */ nop
/* 140C 8002600C 0C0AC80F */ jal func_802B203C
/* 1410 80026010 00000000 */ nop
/* 1410 80026010 00000000 */ nop
/* 1414 80026014 3C048002 */ lui $a0, 0x8002
/* 1418 80026018 2484605C */ addiu $a0, $a0, 0x605c
/* 141C 8002601C 0C017C94 */ jal nuGfxFuncSet
/* 1420 80026020 00000000 */ nop
/* 1420 80026020 00000000 */ nop
/* 1424 80026024 3C048002 */ lui $a0, 0x8002
/* 1428 80026028 2484670C */ addiu $a0, $a0, 0x670c
/* 142C 8002602C 0C017CA4 */ jal nuGfxPreNMIFuncSet
/* 1430 80026030 00000000 */ nop
/* 1430 80026030 00000000 */ nop
/* 1434 80026034 0C019680 */ jal osGetCount
/* 1438 80026038 00000000 */ nop
/* 1438 80026038 00000000 */ nop
/* 143C 8002603C 3C048007 */ lui $a0, %hi(gRandSeed)
/* 1440 80026040 24844410 */ addiu $a0, $a0, %lo(gRandSeed)
/* 1444 80026044 8C830000 */ lw $v1, ($a0)

View File

@ -17,15 +17,15 @@ glabel render_curtains
/* 6EB0 8002BAB0 F7B40080 */ sdc1 $f20, 0x80($sp)
/* 6EB4 8002BAB4 C6440000 */ lwc1 $f4, ($s2)
/* 6EB8 8002BAB8 46040032 */ c.eq.s $f0, $f4
/* 6EBC 8002BABC 00000000 */ nop
/* 6EBC 8002BABC 00000000 */ nop
/* 6EC0 8002BAC0 4501000B */ bc1t .L8002BAF0
/* 6EC4 8002BAC4 00000000 */ nop
/* 6EC4 8002BAC4 00000000 */ nop
/* 6EC8 8002BAC8 46040001 */ sub.s $f0, $f0, $f4
/* 6ECC 8002BACC 3C018009 */ lui $at, 0x8009
/* 6ED0 8002BAD0 D4227E00 */ ldc1 $f2, 0x7e00($at)
/* 6ED4 8002BAD4 46000021 */ cvt.d.s $f0, $f0
/* 6ED8 8002BAD8 46220002 */ mul.d $f0, $f0, $f2
/* 6EDC 8002BADC 00000000 */ nop
/* 6EDC 8002BADC 00000000 */ nop
/* 6EE0 8002BAE0 460020A1 */ cvt.d.s $f2, $f4
/* 6EE4 8002BAE4 46201080 */ add.d $f2, $f2, $f0
/* 6EE8 8002BAE8 462010A0 */ cvt.s.d $f2, $f2
@ -37,15 +37,15 @@ glabel render_curtains
/* 6EFC 8002BAFC C420BA9C */ lwc1 $f0, -0x4564($at)
/* 6F00 8002BB00 C6640000 */ lwc1 $f4, ($s3)
/* 6F04 8002BB04 46040032 */ c.eq.s $f0, $f4
/* 6F08 8002BB08 00000000 */ nop
/* 6F08 8002BB08 00000000 */ nop
/* 6F0C 8002BB0C 4501000B */ bc1t .L8002BB3C
/* 6F10 8002BB10 00000000 */ nop
/* 6F10 8002BB10 00000000 */ nop
/* 6F14 8002BB14 46040001 */ sub.s $f0, $f0, $f4
/* 6F18 8002BB18 3C018009 */ lui $at, 0x8009
/* 6F1C 8002BB1C D4227E08 */ ldc1 $f2, 0x7e08($at)
/* 6F20 8002BB20 46000021 */ cvt.d.s $f0, $f0
/* 6F24 8002BB24 46220002 */ mul.d $f0, $f0, $f2
/* 6F28 8002BB28 00000000 */ nop
/* 6F28 8002BB28 00000000 */ nop
/* 6F2C 8002BB2C 460020A1 */ cvt.d.s $f2, $f4
/* 6F30 8002BB30 46201080 */ add.d $f2, $f2, $f0
/* 6F34 8002BB34 462010A0 */ cvt.s.d $f2, $f2
@ -56,7 +56,7 @@ glabel render_curtains
/* 6F44 8002BB44 D4227E10 */ ldc1 $f2, 0x7e10($at)
/* 6F48 8002BB48 46000021 */ cvt.d.s $f0, $f0
/* 6F4C 8002BB4C 4622003C */ c.lt.d $f0, $f2
/* 6F50 8002BB50 00000000 */ nop
/* 6F50 8002BB50 00000000 */ nop
/* 6F54 8002BB54 45000087 */ bc1f .L8002BD74
/* 6F58 8002BB58 3C03FF10 */ lui $v1, 0xff10
/* 6F5C 8002BB5C 3463013F */ ori $v1, $v1, 0x13f
@ -121,7 +121,7 @@ glabel render_curtains
/* 7048 8002BC48 AC640000 */ sw $a0, ($v1)
/* 704C 8002BC4C 46200120 */ cvt.s.d $f4, $f0
/* 7050 8002BC50 4614203C */ c.lt.s $f4, $f20
/* 7054 8002BC54 00000000 */ nop
/* 7054 8002BC54 00000000 */ nop
/* 7058 8002BC58 45000002 */ bc1f .L8002BC64
/* 705C 8002BC5C AC700004 */ sw $s0, 4($v1)
/* 7060 8002BC60 4600A106 */ mov.s $f4, $f20
@ -132,7 +132,7 @@ glabel render_curtains
/* 7070 8002BC70 44050000 */ mfc1 $a1, $f0
/* 7074 8002BC74 46002021 */ cvt.d.s $f0, $f4
/* 7078 8002BC78 46220002 */ mul.d $f0, $f0, $f2
/* 707C 8002BC7C 00000000 */ nop
/* 707C 8002BC7C 00000000 */ nop
/* 7080 8002BC80 27A40020 */ addiu $a0, $sp, 0x20
/* 7084 8002BC84 3C01C3A0 */ lui $at, 0xc3a0
/* 7088 8002BC88 44811000 */ mtc1 $at, $f2
@ -175,7 +175,7 @@ glabel render_curtains
/* 711C 8002BD1C AE220000 */ sw $v0, ($s1)
/* 7120 8002BD20 24020040 */ addiu $v0, $zero, 0x40
/* 7124 8002BD24 46001082 */ mul.s $f2, $f2, $f0
/* 7128 8002BD28 00000000 */ nop
/* 7128 8002BD28 00000000 */ nop
/* 712C 8002BD2C ACA20014 */ sw $v0, 0x14($a1)
/* 7130 8002BD30 24A20020 */ addiu $v0, $a1, 0x20
/* 7134 8002BD34 ACA40010 */ sw $a0, 0x10($a1)
@ -185,7 +185,7 @@ glabel render_curtains
/* 7144 8002BD44 ACA0001C */ sw $zero, 0x1c($a1)
/* 7148 8002BD48 4600018D */ trunc.w.s $f6, $f0
/* 714C 8002BD4C 44023000 */ mfc1 $v0, $f6
/* 7150 8002BD50 00000000 */ nop
/* 7150 8002BD50 00000000 */ nop
/* 7154 8002BD54 304200FF */ andi $v0, $v0, 0xff
/* 7158 8002BD58 00021E00 */ sll $v1, $v0, 0x18
/* 715C 8002BD5C 00022400 */ sll $a0, $v0, 0x10
@ -198,9 +198,9 @@ glabel render_curtains
/* 7174 8002BD74 3C02800A */ lui $v0, %hi(gCurtainDrawCallback)
/* 7178 8002BD78 8C42BAA0 */ lw $v0, %lo(gCurtainDrawCallback)($v0)
/* 717C 8002BD7C 10400003 */ beqz $v0, .L8002BD8C
/* 7180 8002BD80 00000000 */ nop
/* 7180 8002BD80 00000000 */ nop
/* 7184 8002BD84 0040F809 */ jalr $v0
/* 7188 8002BD88 00000000 */ nop
/* 7188 8002BD88 00000000 */ nop
.L8002BD8C:
/* 718C 8002BD8C 3C108007 */ lui $s0, %hi(gGameStatusPtr)
/* 7190 8002BD90 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr)
@ -208,25 +208,25 @@ glabel render_curtains
/* 7198 8002BD98 90420073 */ lbu $v0, 0x73($v0)
/* 719C 8002BD9C 30420001 */ andi $v0, $v0, 1
/* 71A0 8002BDA0 14400044 */ bnez $v0, .L8002BEB4
/* 71A4 8002BDA4 00000000 */ nop
/* 71A4 8002BDA4 00000000 */ nop
/* 71A8 8002BDA8 0C00CD4A */ jal get_game_mode
/* 71AC 8002BDAC 00000000 */ nop
/* 71AC 8002BDAC 00000000 */ nop
/* 71B0 8002BDB0 00021400 */ sll $v0, $v0, 0x10
/* 71B4 8002BDB4 00021403 */ sra $v0, $v0, 0x10
/* 71B8 8002BDB8 24030010 */ addiu $v1, $zero, 0x10
/* 71BC 8002BDBC 1043000C */ beq $v0, $v1, .L8002BDF0
/* 71C0 8002BDC0 00000000 */ nop
/* 71C0 8002BDC0 00000000 */ nop
/* 71C4 8002BDC4 0C00CD4A */ jal get_game_mode
/* 71C8 8002BDC8 00000000 */ nop
/* 71C8 8002BDC8 00000000 */ nop
/* 71CC 8002BDCC 00021400 */ sll $v0, $v0, 0x10
/* 71D0 8002BDD0 00021403 */ sra $v0, $v0, 0x10
/* 71D4 8002BDD4 24030002 */ addiu $v1, $zero, 2
/* 71D8 8002BDD8 10430005 */ beq $v0, $v1, .L8002BDF0
/* 71DC 8002BDDC 00000000 */ nop
/* 71DC 8002BDDC 00000000 */ nop
/* 71E0 8002BDE0 8E020000 */ lw $v0, ($s0)
/* 71E4 8002BDE4 80420071 */ lb $v0, 0x71($v0)
/* 71E8 8002BDE8 10400032 */ beqz $v0, .L8002BEB4
/* 71EC 8002BDEC 00000000 */ nop
/* 71EC 8002BDEC 00000000 */ nop
.L8002BDF0:
/* 71F0 8002BDF0 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 71F4 8002BDF4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)

View File

@ -0,0 +1,141 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel contRmbControl
/* 3AD20 8005F920 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 3AD24 8005F924 AFB20018 */ sw $s2, 0x18($sp)
/* 3AD28 8005F928 0080902D */ daddu $s2, $a0, $zero
/* 3AD2C 8005F92C 00A0302D */ daddu $a2, $a1, $zero
/* 3AD30 8005F930 AFB00010 */ sw $s0, 0x10($sp)
/* 3AD34 8005F934 AFBF0020 */ sw $ra, 0x20($sp)
/* 3AD38 8005F938 AFB3001C */ sw $s3, 0x1c($sp)
/* 3AD3C 8005F93C AFB10014 */ sw $s1, 0x14($sp)
/* 3AD40 8005F940 92430006 */ lbu $v1, 6($s2)
/* 3AD44 8005F944 24130002 */ addiu $s3, $zero, 2
/* 3AD48 8005F948 10730069 */ beq $v1, $s3, .L8005FAF0
/* 3AD4C 8005F94C 0000802D */ daddu $s0, $zero, $zero
/* 3AD50 8005F950 28620003 */ slti $v0, $v1, 3
/* 3AD54 8005F954 10400005 */ beqz $v0, .L8005F96C
/* 3AD58 8005F958 24020001 */ addiu $v0, $zero, 1
/* 3AD5C 8005F95C 1062000A */ beq $v1, $v0, .L8005F988
/* 3AD60 8005F960 0200102D */ daddu $v0, $s0, $zero
/* 3AD64 8005F964 08017EBD */ j .L8005FAF4
/* 3AD68 8005F968 00000000 */ nop
.L8005F96C:
/* 3AD6C 8005F96C 24020003 */ addiu $v0, $zero, 3
/* 3AD70 8005F970 10620018 */ beq $v1, $v0, .L8005F9D4
/* 3AD74 8005F974 24020004 */ addiu $v0, $zero, 4
/* 3AD78 8005F978 10620048 */ beq $v1, $v0, .L8005FA9C
/* 3AD7C 8005F97C 0200102D */ daddu $v0, $s0, $zero
/* 3AD80 8005F980 08017EBD */ j .L8005FAF4
/* 3AD84 8005F984 00000000 */ nop
.L8005F988:
/* 3AD88 8005F988 96420004 */ lhu $v0, 4($s2)
/* 3AD8C 8005F98C 1040000C */ beqz $v0, .L8005F9C0
/* 3AD90 8005F990 00062040 */ sll $a0, $a2, 1
/* 3AD94 8005F994 00862021 */ addu $a0, $a0, $a2
/* 3AD98 8005F998 00042080 */ sll $a0, $a0, 2
/* 3AD9C 8005F99C 00862021 */ addu $a0, $a0, $a2
/* 3ADA0 8005F9A0 000420C0 */ sll $a0, $a0, 3
/* 3ADA4 8005F9A4 3C02800E */ lui $v0, %hi(nuContPfs)
/* 3ADA8 8005F9A8 2442AAD8 */ addiu $v0, $v0, %lo(nuContPfs)
/* 3ADAC 8005F9AC 00822021 */ addu $a0, $a0, $v0
/* 3ADB0 8005F9B0 0C019F80 */ jal __osMotorAccess
/* 3ADB4 8005F9B4 0000282D */ daddu $a1, $zero, $zero
/* 3ADB8 8005F9B8 08017E71 */ j .L8005F9C4
/* 3ADBC 8005F9BC 0040802D */ daddu $s0, $v0, $zero
.L8005F9C0:
/* 3ADC0 8005F9C0 A2530006 */ sb $s3, 6($s2)
.L8005F9C4:
/* 3ADC4 8005F9C4 96420004 */ lhu $v0, 4($s2)
/* 3ADC8 8005F9C8 2442FFFF */ addiu $v0, $v0, -1
/* 3ADCC 8005F9CC 08017EBC */ j .L8005FAF0
/* 3ADD0 8005F9D0 A6420004 */ sh $v0, 4($s2)
.L8005F9D4:
/* 3ADD4 8005F9D4 96420002 */ lhu $v0, 2($s2)
/* 3ADD8 8005F9D8 1040001F */ beqz $v0, .L8005FA58
/* 3ADDC 8005F9DC 00062040 */ sll $a0, $a2, 1
/* 3ADE0 8005F9E0 96420004 */ lhu $v0, 4($s2)
/* 3ADE4 8005F9E4 96430000 */ lhu $v1, ($s2)
/* 3ADE8 8005F9E8 00431021 */ addu $v0, $v0, $v1
/* 3ADEC 8005F9EC 304300FF */ andi $v1, $v0, 0xff
/* 3ADF0 8005F9F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3ADF4 8005F9F4 00021202 */ srl $v0, $v0, 8
/* 3ADF8 8005F9F8 1040000B */ beqz $v0, .L8005FA28
/* 3ADFC 8005F9FC A6430004 */ sh $v1, 4($s2)
/* 3AE00 8005FA00 00062040 */ sll $a0, $a2, 1
/* 3AE04 8005FA04 00862021 */ addu $a0, $a0, $a2
/* 3AE08 8005FA08 00042080 */ sll $a0, $a0, 2
/* 3AE0C 8005FA0C 00862021 */ addu $a0, $a0, $a2
/* 3AE10 8005FA10 000420C0 */ sll $a0, $a0, 3
/* 3AE14 8005FA14 3C02800E */ lui $v0, %hi(nuContPfs)
/* 3AE18 8005FA18 2442AAD8 */ addiu $v0, $v0, %lo(nuContPfs)
/* 3AE1C 8005FA1C 00822021 */ addu $a0, $a0, $v0
/* 3AE20 8005FA20 08017E92 */ j .L8005FA48
/* 3AE24 8005FA24 24050001 */ addiu $a1, $zero, 1
.L8005FA28:
/* 3AE28 8005FA28 00862021 */ addu $a0, $a0, $a2
/* 3AE2C 8005FA2C 00042080 */ sll $a0, $a0, 2
/* 3AE30 8005FA30 00862021 */ addu $a0, $a0, $a2
/* 3AE34 8005FA34 000420C0 */ sll $a0, $a0, 3
/* 3AE38 8005FA38 3C02800E */ lui $v0, %hi(nuContPfs)
/* 3AE3C 8005FA3C 2442AAD8 */ addiu $v0, $v0, %lo(nuContPfs)
/* 3AE40 8005FA40 00822021 */ addu $a0, $a0, $v0
/* 3AE44 8005FA44 0000282D */ daddu $a1, $zero, $zero
.L8005FA48:
/* 3AE48 8005FA48 0C019F80 */ jal __osMotorAccess
/* 3AE4C 8005FA4C 00000000 */ nop
/* 3AE50 8005FA50 08017EA3 */ j .L8005FA8C
/* 3AE54 8005FA54 0040802D */ daddu $s0, $v0, $zero
.L8005FA58:
/* 3AE58 8005FA58 00862021 */ addu $a0, $a0, $a2
/* 3AE5C 8005FA5C 00042080 */ sll $a0, $a0, 2
/* 3AE60 8005FA60 00862021 */ addu $a0, $a0, $a2
/* 3AE64 8005FA64 000420C0 */ sll $a0, $a0, 3
/* 3AE68 8005FA68 3C02800E */ lui $v0, %hi(nuContPfs)
/* 3AE6C 8005FA6C 2442AAD8 */ addiu $v0, $v0, %lo(nuContPfs)
/* 3AE70 8005FA70 00822021 */ addu $a0, $a0, $v0
/* 3AE74 8005FA74 0C019F80 */ jal __osMotorAccess
/* 3AE78 8005FA78 0000282D */ daddu $a1, $zero, $zero
/* 3AE7C 8005FA7C 0040802D */ daddu $s0, $v0, $zero
/* 3AE80 8005FA80 24020001 */ addiu $v0, $zero, 1
/* 3AE84 8005FA84 A2420006 */ sb $v0, 6($s2)
/* 3AE88 8005FA88 A6530004 */ sh $s3, 4($s2)
.L8005FA8C:
/* 3AE8C 8005FA8C 96420002 */ lhu $v0, 2($s2)
/* 3AE90 8005FA90 2442FFFF */ addiu $v0, $v0, -1
/* 3AE94 8005FA94 08017EBC */ j .L8005FAF0
/* 3AE98 8005FA98 A6420002 */ sh $v0, 2($s2)
.L8005FA9C:
/* 3AE9C 8005FA9C 3C04800E */ lui $a0, %hi(nuSiMesgQ)
/* 3AEA0 8005FAA0 2484AC78 */ addiu $a0, $a0, %lo(nuSiMesgQ)
/* 3AEA4 8005FAA4 00061040 */ sll $v0, $a2, 1
/* 3AEA8 8005FAA8 00461021 */ addu $v0, $v0, $a2
/* 3AEAC 8005FAAC 00021080 */ sll $v0, $v0, 2
/* 3AEB0 8005FAB0 00461021 */ addu $v0, $v0, $a2
/* 3AEB4 8005FAB4 000210C0 */ sll $v0, $v0, 3
/* 3AEB8 8005FAB8 3C03800E */ lui $v1, %hi(nuContPfs)
/* 3AEBC 8005FABC 2463AAD8 */ addiu $v1, $v1, %lo(nuContPfs)
/* 3AEC0 8005FAC0 00438821 */ addu $s1, $v0, $v1
/* 3AEC4 8005FAC4 0C019FD1 */ jal osMotorInit
/* 3AEC8 8005FAC8 0220282D */ daddu $a1, $s1, $zero
/* 3AECC 8005FACC 0040802D */ daddu $s0, $v0, $zero
/* 3AED0 8005FAD0 16000005 */ bnez $s0, .L8005FAE8
/* 3AED4 8005FAD4 24020001 */ addiu $v0, $zero, 1
/* 3AED8 8005FAD8 0220202D */ daddu $a0, $s1, $zero
/* 3AEDC 8005FADC 0C019F80 */ jal __osMotorAccess
/* 3AEE0 8005FAE0 0000282D */ daddu $a1, $zero, $zero
/* 3AEE4 8005FAE4 24020001 */ addiu $v0, $zero, 1
.L8005FAE8:
/* 3AEE8 8005FAE8 A2420006 */ sb $v0, 6($s2)
/* 3AEEC 8005FAEC A6530004 */ sh $s3, 4($s2)
.L8005FAF0:
/* 3AEF0 8005FAF0 0200102D */ daddu $v0, $s0, $zero
.L8005FAF4:
/* 3AEF4 8005FAF4 8FBF0020 */ lw $ra, 0x20($sp)
/* 3AEF8 8005FAF8 8FB3001C */ lw $s3, 0x1c($sp)
/* 3AEFC 8005FAFC 8FB20018 */ lw $s2, 0x18($sp)
/* 3AF00 8005FB00 8FB10014 */ lw $s1, 0x14($sp)
/* 3AF04 8005FB04 8FB00010 */ lw $s0, 0x10($sp)
/* 3AF08 8005FB08 03E00008 */ jr $ra
/* 3AF0C 8005FB0C 27BD0028 */ addiu $sp, $sp, 0x28

@ -1 +1 @@
Subproject commit 44358d9ddc731beafd06a14984d288eab8a305ad
Subproject commit 4dd385463bd3ae269ee356b1b2627328ab719fb0

View File

@ -4,6 +4,7 @@ options:
find-file-boundaries: True
pycparser_flags: ["-Iinclude", "-D_LANGUAGE_C", "-ffreestanding", "-DF3DEX_GBI_2", "-DSPLAT"]
compiler: "GCC"
mnemonic_ljust: 10
segments:
- name: header
type: header