mirror of https://github.com/n64decomp/mk64.git
Decomped more crash_screen, code_80280650, fixed import shortcut (#115)
* Decomped more crash_screen, code_80280650, fixed import shortcut
This commit is contained in:
parent
782c9f0d3c
commit
b7f8765d72
|
|
@ -1,21 +0,0 @@
|
|||
.include "macros.inc"
|
||||
|
||||
.section .bss
|
||||
|
||||
glabel D_80162790
|
||||
.skip 1456
|
||||
|
||||
glabel D_80162D40
|
||||
.skip 24
|
||||
|
||||
glabel D_80162D58
|
||||
.skip 4
|
||||
|
||||
glabel pFramebuffer
|
||||
.skip 4
|
||||
|
||||
glabel D_80162D60
|
||||
.skip 4
|
||||
|
||||
glabel D_80162D64
|
||||
.skip 12
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80280650
|
||||
/* 123C90 80280650 03E00008 */ jr $ra
|
||||
/* 123C94 80280654 00000000 */ nop
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
glabel func_80280658
|
||||
/* 123C98 80280658 8C820028 */ lw $v0, 0x28($a0)
|
||||
/* 123C9C 8028065C 844E0002 */ lh $t6, 2($v0)
|
||||
/* 123CA0 80280660 448E2000 */ mtc1 $t6, $f4
|
||||
/* 123CA4 80280664 00000000 */ nop
|
||||
/* 123CA8 80280668 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 123CAC 8028066C E4860010 */ swc1 $f6, 0x10($a0)
|
||||
/* 123CB0 80280670 844F0004 */ lh $t7, 4($v0)
|
||||
/* 123CB4 80280674 448F4000 */ mtc1 $t7, $f8
|
||||
/* 123CB8 80280678 00000000 */ nop
|
||||
/* 123CBC 8028067C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 123CC0 80280680 E48A0014 */ swc1 $f10, 0x14($a0)
|
||||
/* 123CC4 80280684 84580006 */ lh $t8, 6($v0)
|
||||
/* 123CC8 80280688 44988000 */ mtc1 $t8, $f16
|
||||
/* 123CCC 8028068C 00000000 */ nop
|
||||
/* 123CD0 80280690 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 123CD4 80280694 E4920018 */ swc1 $f18, 0x18($a0)
|
||||
/* 123CD8 80280698 80590008 */ lb $t9, 8($v0)
|
||||
/* 123CDC 8028069C 00194200 */ sll $t0, $t9, 8
|
||||
/* 123CE0 802806A0 A488000A */ sh $t0, 0xa($a0)
|
||||
/* 123CE4 802806A4 80490009 */ lb $t1, 9($v0)
|
||||
/* 123CE8 802806A8 00095200 */ sll $t2, $t1, 8
|
||||
/* 123CEC 802806AC A48A000C */ sh $t2, 0xc($a0)
|
||||
/* 123CF0 802806B0 804B000A */ lb $t3, 0xa($v0)
|
||||
/* 123CF4 802806B4 000B6200 */ sll $t4, $t3, 8
|
||||
/* 123CF8 802806B8 A48C000E */ sh $t4, 0xe($a0)
|
||||
/* 123CFC 802806BC 844D0000 */ lh $t5, ($v0)
|
||||
/* 123D00 802806C0 03E00008 */ jr $ra
|
||||
/* 123D04 802806C4 A48D0004 */ sh $t5, 4($a0)
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_802806C8
|
||||
/* 123D08 802806C8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 123D0C 802806CC 3C048028 */ lui $a0, %hi(D_802874F8) # $a0, 0x8028
|
||||
/* 123D10 802806D0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 123D14 802806D4 8C8474F8 */ lw $a0, %lo(D_802874F8)($a0)
|
||||
/* 123D18 802806D8 00001025 */ move $v0, $zero
|
||||
/* 123D1C 802806DC 240300C8 */ li $v1, 200
|
||||
.L802806E0:
|
||||
/* 123D20 802806E0 8C8E0000 */ lw $t6, ($a0)
|
||||
/* 123D24 802806E4 24420001 */ addiu $v0, $v0, 1
|
||||
/* 123D28 802806E8 31CF0001 */ andi $t7, $t6, 1
|
||||
/* 123D2C 802806EC 15E0000A */ bnez $t7, .L80280718
|
||||
/* 123D30 802806F0 2405004C */ li $a1, 76
|
||||
/* 123D34 802806F4 0C033698 */ jal bzero
|
||||
/* 123D38 802806F8 AFA4001C */ sw $a0, 0x1c($sp)
|
||||
/* 123D3C 802806FC 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 123D40 80280700 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 123D44 80280704 44812000 */ mtc1 $at, $f4
|
||||
/* 123D48 80280708 24180001 */ li $t8, 1
|
||||
/* 123D4C 8028070C AC580000 */ sw $t8, ($v0)
|
||||
/* 123D50 80280710 10000004 */ b .L80280724
|
||||
/* 123D54 80280714 E4440024 */ swc1 $f4, 0x24($v0)
|
||||
.L80280718:
|
||||
/* 123D58 80280718 1443FFF1 */ bne $v0, $v1, .L802806E0
|
||||
/* 123D5C 8028071C 2484004C */ addiu $a0, $a0, 0x4c
|
||||
/* 123D60 80280720 00001025 */ move $v0, $zero
|
||||
.L80280724:
|
||||
/* 123D64 80280724 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 123D68 80280728 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 123D6C 8028072C 03E00008 */ jr $ra
|
||||
/* 123D70 80280730 00000000 */ nop
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
glabel func_80280734
|
||||
/* 123D74 80280734 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 123D78 80280738 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 123D7C 8028073C 0C0A01B2 */ jal func_802806C8
|
||||
/* 123D80 80280740 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 123D84 80280744 8FAE0020 */ lw $t6, 0x20($sp)
|
||||
/* 123D88 80280748 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 123D8C 8028074C 00402025 */ move $a0, $v0
|
||||
/* 123D90 80280750 0C0A0196 */ jal func_80280658
|
||||
/* 123D94 80280754 AC4E0028 */ sw $t6, 0x28($v0)
|
||||
/* 123D98 80280758 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 123D9C 8028075C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 123DA0 80280760 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 123DA4 80280764 03E00008 */ jr $ra
|
||||
/* 123DA8 80280768 00000000 */ nop
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
glabel func_8028080C
|
||||
/* 123E4C 8028080C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 123E50 80280810 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 123E54 80280814 0C0A01DB */ jal func_8028076C
|
||||
/* 123E58 80280818 00000000 */ nop
|
||||
/* 123E5C 8028081C 44822000 */ mtc1 $v0, $f4
|
||||
/* 123E60 80280820 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 123E64 80280824 04410005 */ bgez $v0, .L8028083C
|
||||
/* 123E68 80280828 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 123E6C 8028082C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 123E70 80280830 44814000 */ mtc1 $at, $f8
|
||||
/* 123E74 80280834 00000000 */ nop
|
||||
/* 123E78 80280838 46083180 */ add.s $f6, $f6, $f8
|
||||
.L8028083C:
|
||||
/* 123E7C 8028083C 3C014780 */ li $at, 0x47800000 # 65536.000000
|
||||
/* 123E80 80280840 44815000 */ mtc1 $at, $f10
|
||||
/* 123E84 80280844 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 123E88 80280848 03E00008 */ jr $ra
|
||||
/* 123E8C 8028084C 460A3003 */ div.s $f0, $f6, $f10
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
glabel func_80280850
|
||||
/* 123E90 80280850 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 123E94 80280854 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 123E98 80280858 0C0A0203 */ jal func_8028080C
|
||||
/* 123E9C 8028085C E7AC0018 */ swc1 $f12, 0x18($sp)
|
||||
/* 123EA0 80280860 C7A20018 */ lwc1 $f2, 0x18($sp)
|
||||
/* 123EA4 80280864 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
||||
/* 123EA8 80280868 44813000 */ mtc1 $at, $f6
|
||||
/* 123EAC 8028086C 46020102 */ mul.s $f4, $f0, $f2
|
||||
/* 123EB0 80280870 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 123EB4 80280874 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 123EB8 80280878 46061202 */ mul.s $f8, $f2, $f6
|
||||
/* 123EBC 8028087C 03E00008 */ jr $ra
|
||||
/* 123EC0 80280880 46082001 */ sub.s $f0, $f4, $f8
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80280884
|
||||
/* 123EC4 80280884 03E00008 */ jr $ra
|
||||
/* 123EC8 80280888 00000000 */ nop
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
glabel func_8028093C
|
||||
/* 123F7C 8028093C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 123F80 80280940 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 123F84 80280944 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 123F88 80280948 8C8E0044 */ lw $t6, 0x44($a0)
|
||||
/* 123F8C 8028094C 00808025 */ move $s0, $a0
|
||||
/* 123F90 80280950 29C1001E */ slti $at, $t6, 0x1e
|
||||
/* 123F94 80280954 10200012 */ beqz $at, .L802809A0
|
||||
/* 123F98 80280958 3C014020 */ li $at, 0x40200000 # 2.500000
|
||||
/* 123F9C 8028095C 44813000 */ mtc1 $at, $f6
|
||||
/* 123FA0 80280960 C4840014 */ lwc1 $f4, 0x14($a0)
|
||||
/* 123FA4 80280964 3C018028 */ lui $at, %hi(D_80286B74) # $at, 0x8028
|
||||
/* 123FA8 80280968 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 123FAC 8028096C E4880014 */ swc1 $f8, 0x14($a0)
|
||||
/* 123FB0 80280970 0C0A0214 */ jal func_80280850
|
||||
/* 123FB4 80280974 C42C6B74 */ lwc1 $f12, %lo(D_80286B74)($at)
|
||||
/* 123FB8 80280978 C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 123FBC 8028097C 3C018028 */ lui $at, %hi(D_80286B78) # $at, 0x8028
|
||||
/* 123FC0 80280980 46005400 */ add.s $f16, $f10, $f0
|
||||
/* 123FC4 80280984 E6100010 */ swc1 $f16, 0x10($s0)
|
||||
/* 123FC8 80280988 0C0A0214 */ jal func_80280850
|
||||
/* 123FCC 8028098C C42C6B78 */ lwc1 $f12, %lo(D_80286B78)($at)
|
||||
/* 123FD0 80280990 C6120018 */ lwc1 $f18, 0x18($s0)
|
||||
/* 123FD4 80280994 46009100 */ add.s $f4, $f18, $f0
|
||||
/* 123FD8 80280998 1000001E */ b .L80280A14
|
||||
/* 123FDC 8028099C E6040018 */ swc1 $f4, 0x18($s0)
|
||||
.L802809A0:
|
||||
/* 123FE0 802809A0 8E0F002C */ lw $t7, 0x2c($s0)
|
||||
/* 123FE4 802809A4 24010004 */ li $at, 4
|
||||
/* 123FE8 802809A8 3C048028 */ lui $a0, %hi(D_80284E7C) # $a0, 0x8028
|
||||
/* 123FEC 802809AC 55E1001A */ bnel $t7, $at, .L80280A18
|
||||
/* 123FF0 802809B0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 123FF4 802809B4 0C0A01CD */ jal func_80280734
|
||||
/* 123FF8 802809B8 24844E7C */ addiu $a0, %lo(D_80284E7C) # addiu $a0, $a0, 0x4e7c
|
||||
/* 123FFC 802809BC C6060010 */ lwc1 $f6, 0x10($s0)
|
||||
/* 124000 802809C0 3C018028 */ lui $at, %hi(D_80286B7C) # $at, 0x8028
|
||||
/* 124004 802809C4 C4206B7C */ lwc1 $f0, %lo(D_80286B7C)($at)
|
||||
/* 124008 802809C8 E4460010 */ swc1 $f6, 0x10($v0)
|
||||
/* 12400C 802809CC C6080014 */ lwc1 $f8, 0x14($s0)
|
||||
/* 124010 802809D0 3C088028 */ lui $t0, %hi(D_80284E40) # 0x8028
|
||||
/* 124014 802809D4 240900FF */ li $t1, 255
|
||||
/* 124018 802809D8 E4480014 */ swc1 $f8, 0x14($v0)
|
||||
/* 12401C 802809DC C60A0018 */ lwc1 $f10, 0x18($s0)
|
||||
/* 124020 802809E0 240AFFEF */ li $t2, -17
|
||||
/* 124024 802809E4 240B0064 */ li $t3, 100
|
||||
/* 124028 802809E8 E44A0018 */ swc1 $f10, 0x18($v0)
|
||||
/* 12402C 802809EC 8E180048 */ lw $t8, 0x48($s0)
|
||||
/* 124030 802809F0 0018C880 */ sll $t9, $t8, 2
|
||||
/* 124034 802809F4 01194021 */ addu $t0, $t0, $t9
|
||||
/* 124038 802809F8 8D084E40 */ lw $t0, %lo(D_80284E40)($t0) # 0x4e40($t0)
|
||||
/* 12403C 802809FC AC49003C */ sw $t1, 0x3c($v0)
|
||||
/* 124040 80280A00 AC4A0040 */ sw $t2, 0x40($v0)
|
||||
/* 124044 80280A04 AC4B0044 */ sw $t3, 0x44($v0)
|
||||
/* 124048 80280A08 E4400034 */ swc1 $f0, 0x34($v0)
|
||||
/* 12404C 80280A0C E4400038 */ swc1 $f0, 0x38($v0)
|
||||
/* 124050 80280A10 AC480030 */ sw $t0, 0x30($v0)
|
||||
.L80280A14:
|
||||
/* 124054 80280A14 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80280A18:
|
||||
/* 124058 80280A18 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 12405C 80280A1C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 124060 80280A20 03E00008 */ jr $ra
|
||||
/* 124064 80280A24 00000000 */ nop
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80280FA0
|
||||
/* 1245E0 80280FA0 03E00008 */ jr $ra
|
||||
/* 1245E4 80280FA4 AFA40000 */ sw $a0, ($sp)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80280FA8
|
||||
/* 1245E8 80280FA8 03E00008 */ jr $ra
|
||||
/* 1245EC 80280FAC AFA40000 */ sw $a0, ($sp)
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
glabel func_80280FB0
|
||||
/* 1245F0 80280FB0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 1245F4 80280FB4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 1245F8 80280FB8 3C018028 */ lui $at, %hi(D_802874E0) # $at, 0x8028
|
||||
/* 1245FC 80280FBC AC2074E0 */ sw $zero, %lo(D_802874E0)($at)
|
||||
/* 124600 80280FC0 0C0A9EDC */ jal func_802A7B70
|
||||
/* 124604 80280FC4 24043B60 */ li $a0, 15200
|
||||
/* 124608 80280FC8 3C038028 */ lui $v1, %hi(D_802874F8) # $v1, 0x8028
|
||||
/* 12460C 80280FCC 246374F8 */ addiu $v1, %lo(D_802874F8) # addiu $v1, $v1, 0x74f8
|
||||
/* 124610 80280FD0 AC620000 */ sw $v0, ($v1)
|
||||
/* 124614 80280FD4 00402025 */ move $a0, $v0
|
||||
/* 124618 80280FD8 0C033698 */ jal bzero
|
||||
/* 12461C 80280FDC 24053B60 */ li $a1, 15200
|
||||
/* 124620 80280FE0 3C048028 */ lui $a0, %hi(D_80284E88) # $a0, 0x8028
|
||||
/* 124624 80280FE4 0C0A01CD */ jal func_80280734
|
||||
/* 124628 80280FE8 24844E88 */ addiu $a0, %lo(D_80284E88) # addiu $a0, $a0, 0x4e88
|
||||
/* 12462C 80280FEC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 124630 80280FF0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 124634 80280FF4 03E00008 */ jr $ra
|
||||
/* 124638 80280FF8 00000000 */ nop
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80280FFC
|
||||
/* 12463C 80280FFC 240E0001 */ li $t6, 1
|
||||
/* 124640 80281000 3C018028 */ lui $at, %hi(D_802874F4) # 0x8028
|
||||
/* 124644 80281004 03E00008 */ jr $ra
|
||||
/* 124648 80281008 A02E74F4 */ sb $t6, %lo(D_802874F4)($at) # 0x74f4($at)
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_8028100C
|
||||
/* 12464C 8028100C AFA40000 */ sw $a0, ($sp)
|
||||
/* 124650 80281010 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 124654 80281014 03E00008 */ jr $ra
|
||||
/* 124658 80281018 AFA60008 */ sw $a2, 8($sp)
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_8028150C
|
||||
/* 124B4C 8028150C 3C0E8015 */ lui $t6, %hi(gDisplayListHead) # $t6, 0x8015
|
||||
/* 124B50 80281510 8DCE0298 */ lw $t6, %lo(gDisplayListHead)($t6)
|
||||
/* 124B54 80281514 3C018028 */ lui $at, %hi(D_802874D4) # 0x8028
|
||||
/* 124B58 80281518 03E00008 */ jr $ra
|
||||
/* 124B5C 8028151C AC2E74D4 */ sw $t6, %lo(D_802874D4)($at) # 0x74d4($at)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80281520
|
||||
/* 124B60 80281520 03E00008 */ jr $ra
|
||||
/* 124B64 80281524 00000000 */ nop
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80281528
|
||||
/* 124B68 80281528 03E00008 */ jr $ra
|
||||
/* 124B6C 8028152C 00000000 */ nop
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80281530
|
||||
/* 124B70 80281530 03E00008 */ jr $ra
|
||||
/* 124B74 80281534 00000000 */ nop
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80281538
|
||||
/* 124B78 80281538 03E00008 */ jr $ra
|
||||
/* 124B7C 8028153C 00000000 */ nop
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80281540
|
||||
/* 124B80 80281540 03E00008 */ jr $ra
|
||||
/* 124B84 80281544 00000000 */ nop
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
glabel func_80281548
|
||||
/* 124B88 80281548 3C018015 */ lui $at, %hi(D_80150112) # $at, 0x8015
|
||||
/* 124B8C 8028154C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 124B90 80281550 A4200112 */ sh $zero, %lo(D_80150112)($at)
|
||||
/* 124B94 80281554 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 124B98 80281558 3C018028 */ lui $at, %hi(D_802874FC) # $at, 0x8028
|
||||
/* 124B9C 8028155C 0C0A0584 */ jal func_80281610
|
||||
/* 124BA0 80281560 AC2074FC */ sw $zero, %lo(D_802874FC)($at)
|
||||
/* 124BA4 80281564 0C00A3DC */ jal func_80028F70
|
||||
/* 124BA8 80281568 00000000 */ nop
|
||||
/* 124BAC 8028156C 0C0089D1 */ jal func_80022744
|
||||
/* 124BB0 80281570 00000000 */ nop
|
||||
/* 124BB4 80281574 0C0166B2 */ jal func_80059AC8
|
||||
/* 124BB8 80281578 00000000 */ nop
|
||||
/* 124BBC 8028157C 0C0166B2 */ jal func_80059AC8
|
||||
/* 124BC0 80281580 00000000 */ nop
|
||||
/* 124BC4 80281584 0C01681C */ jal func_8005A070
|
||||
/* 124BC8 80281588 00000000 */ nop
|
||||
/* 124BCC 8028158C 3C0E8028 */ lui $t6, %hi(D_802874F4) # $t6, 0x8028
|
||||
/* 124BD0 80281590 81CE74F4 */ lb $t6, %lo(D_802874F4)($t6)
|
||||
/* 124BD4 80281594 11C00005 */ beqz $t6, .L802815AC
|
||||
/* 124BD8 80281598 00000000 */ nop
|
||||
/* 124BDC 8028159C 0C007053 */ jal func_8001C14C
|
||||
/* 124BE0 802815A0 00000000 */ nop
|
||||
/* 124BE4 802815A4 0C0025F8 */ jal func_800097E0
|
||||
/* 124BE8 802815A8 00000000 */ nop
|
||||
.L802815AC:
|
||||
/* 124BEC 802815AC 0C0A0740 */ jal func_80281D00
|
||||
/* 124BF0 802815B0 00000000 */ nop
|
||||
/* 124BF4 802815B4 0C0A0550 */ jal func_80281540
|
||||
/* 124BF8 802815B8 00000000 */ nop
|
||||
/* 124BFC 802815BC 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015
|
||||
/* 124C00 802815C0 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298
|
||||
/* 124C04 802815C4 8CA20000 */ lw $v0, ($a1)
|
||||
/* 124C08 802815C8 3C18E900 */ lui $t8, 0xe900
|
||||
/* 124C0C 802815CC 3C08B800 */ lui $t0, 0xb800
|
||||
/* 124C10 802815D0 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 124C14 802815D4 ACAF0000 */ sw $t7, ($a1)
|
||||
/* 124C18 802815D8 AC400004 */ sw $zero, 4($v0)
|
||||
/* 124C1C 802815DC AC580000 */ sw $t8, ($v0)
|
||||
/* 124C20 802815E0 8CA20000 */ lw $v0, ($a1)
|
||||
/* 124C24 802815E4 24590008 */ addiu $t9, $v0, 8
|
||||
/* 124C28 802815E8 ACB90000 */ sw $t9, ($a1)
|
||||
/* 124C2C 802815EC AC400004 */ sw $zero, 4($v0)
|
||||
/* 124C30 802815F0 AC480000 */ sw $t0, ($v0)
|
||||
/* 124C34 802815F4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 124C38 802815F8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 124C3C 802815FC 03E00008 */ jr $ra
|
||||
/* 124C40 80281600 00000000 */ nop
|
||||
|
||||
/* 124C44 80281604 00000000 */ nop
|
||||
/* 124C48 80281608 00000000 */ nop
|
||||
|
|
@ -1,428 +0,0 @@
|
|||
|
||||
glabel crash_screen_draw_square
|
||||
/* 004D44 80004144 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 004D48 80004148 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 004D4C 8000414C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 004D50 80004150 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 004D54 80004154 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 004D58 80004158 00809825 */ move $s3, $a0
|
||||
/* 004D5C 8000415C AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 004D60 80004160 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 004D64 80004164 2410002E */ li $s0, 46
|
||||
/* 004D68 80004168 24120028 */ li $s2, 40
|
||||
/* 004D6C 8000416C 2414002C */ li $s4, 44
|
||||
/* 004D70 80004170 240D0006 */ li $t5, 6
|
||||
/* 004D74 80004174 240C0006 */ li $t4, 6
|
||||
/* 004D78 80004178 240B0006 */ li $t3, 6
|
||||
/* 004D7C 8000417C 240A0006 */ li $t2, 6
|
||||
/* 004D80 80004180 24090006 */ li $t1, 6
|
||||
/* 004D84 80004184 3407FFFF */ li $a3, 65535
|
||||
/* 004D88 80004188 3406F801 */ li $a2, 63489
|
||||
.L8000418C:
|
||||
/* 004D8C 8000418C 0250082A */ slt $at, $s2, $s0
|
||||
/* 004D90 80004190 10200032 */ beqz $at, .L8000425C
|
||||
/* 004D94 80004194 02408825 */ move $s1, $s2
|
||||
/* 004D98 80004198 0250082A */ slt $at, $s2, $s0
|
||||
.L8000419C:
|
||||
/* 004D9C 8000419C 1020002C */ beqz $at, .L80004250
|
||||
/* 004DA0 800041A0 02401825 */ move $v1, $s2
|
||||
/* 004DA4 800041A4 00117080 */ sll $t6, $s1, 2
|
||||
/* 004DA8 800041A8 01D17021 */ addu $t6, $t6, $s1
|
||||
/* 004DAC 800041AC 02122023 */ subu $a0, $s0, $s2
|
||||
/* 004DB0 800041B0 30880003 */ andi $t0, $a0, 3
|
||||
/* 004DB4 800041B4 000E79C0 */ sll $t7, $t6, 7
|
||||
/* 004DB8 800041B8 1100000C */ beqz $t0, .L800041EC
|
||||
/* 004DBC 800041BC 026FF821 */ addu $ra, $s3, $t7
|
||||
/* 004DC0 800041C0 0003C040 */ sll $t8, $v1, 1
|
||||
/* 004DC4 800041C4 03F81021 */ addu $v0, $ra, $t8
|
||||
/* 004DC8 800041C8 01122821 */ addu $a1, $t0, $s2
|
||||
.L800041CC:
|
||||
/* 004DCC 800041CC 15240003 */ bne $t1, $a0, .L800041DC
|
||||
/* 004DD0 800041D0 24630001 */ addiu $v1, $v1, 1
|
||||
/* 004DD4 800041D4 10000002 */ b .L800041E0
|
||||
/* 004DD8 800041D8 A4460000 */ sh $a2, ($v0)
|
||||
.L800041DC:
|
||||
/* 004DDC 800041DC A4470000 */ sh $a3, ($v0)
|
||||
.L800041E0:
|
||||
/* 004DE0 800041E0 14A3FFFA */ bne $a1, $v1, .L800041CC
|
||||
/* 004DE4 800041E4 24420002 */ addiu $v0, $v0, 2
|
||||
/* 004DE8 800041E8 10700019 */ beq $v1, $s0, .L80004250
|
||||
.L800041EC:
|
||||
/* 004DEC 800041EC 00032840 */ sll $a1, $v1, 1
|
||||
/* 004DF0 800041F0 03E51021 */ addu $v0, $ra, $a1
|
||||
/* 004DF4 800041F4 00104040 */ sll $t0, $s0, 1
|
||||
.L800041F8:
|
||||
/* 004DF8 800041F8 15440003 */ bne $t2, $a0, .L80004208
|
||||
/* 004DFC 800041FC 24A50008 */ addiu $a1, $a1, 8
|
||||
/* 004E00 80004200 10000002 */ b .L8000420C
|
||||
/* 004E04 80004204 A4460000 */ sh $a2, ($v0)
|
||||
.L80004208:
|
||||
/* 004E08 80004208 A4470000 */ sh $a3, ($v0)
|
||||
.L8000420C:
|
||||
/* 004E0C 8000420C 55640004 */ bnel $t3, $a0, .L80004220
|
||||
/* 004E10 80004210 A4470002 */ sh $a3, 2($v0)
|
||||
/* 004E14 80004214 10000002 */ b .L80004220
|
||||
/* 004E18 80004218 A4460002 */ sh $a2, 2($v0)
|
||||
/* 004E1C 8000421C A4470002 */ sh $a3, 2($v0)
|
||||
.L80004220:
|
||||
/* 004E20 80004220 55840004 */ bnel $t4, $a0, .L80004234
|
||||
/* 004E24 80004224 A4470004 */ sh $a3, 4($v0)
|
||||
/* 004E28 80004228 10000002 */ b .L80004234
|
||||
/* 004E2C 8000422C A4460004 */ sh $a2, 4($v0)
|
||||
/* 004E30 80004230 A4470004 */ sh $a3, 4($v0)
|
||||
.L80004234:
|
||||
/* 004E34 80004234 55A40004 */ bnel $t5, $a0, .L80004248
|
||||
/* 004E38 80004238 A4470006 */ sh $a3, 6($v0)
|
||||
/* 004E3C 8000423C 10000002 */ b .L80004248
|
||||
/* 004E40 80004240 A4460006 */ sh $a2, 6($v0)
|
||||
/* 004E44 80004244 A4470006 */ sh $a3, 6($v0)
|
||||
.L80004248:
|
||||
/* 004E48 80004248 14A8FFEB */ bne $a1, $t0, .L800041F8
|
||||
/* 004E4C 8000424C 24420008 */ addiu $v0, $v0, 8
|
||||
.L80004250:
|
||||
/* 004E50 80004250 26310001 */ addiu $s1, $s1, 1
|
||||
/* 004E54 80004254 5630FFD1 */ bnel $s1, $s0, .L8000419C
|
||||
/* 004E58 80004258 0250082A */ slt $at, $s2, $s0
|
||||
.L8000425C:
|
||||
/* 004E5C 8000425C 2610FFFF */ addiu $s0, $s0, -1
|
||||
/* 004E60 80004260 1690FFCA */ bne $s4, $s0, .L8000418C
|
||||
/* 004E64 80004264 26520001 */ addiu $s2, $s2, 1
|
||||
/* 004E68 80004268 0C033624 */ jal osWritebackDCacheAll
|
||||
/* 004E6C 8000426C 00000000 */ nop
|
||||
/* 004E70 80004270 0C033684 */ jal osViSwapBuffer
|
||||
/* 004E74 80004274 02602025 */ move $a0, $s3
|
||||
/* 004E78 80004278 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 004E7C 8000427C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 004E80 80004280 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 004E84 80004284 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 004E88 80004288 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 004E8C 8000428C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 004E90 80004290 03E00008 */ jr $ra
|
||||
/* 004E94 80004294 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
glabel crash_screen_draw_info
|
||||
/* 004E98 80004298 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 004E9C 8000429C AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 004EA0 800042A0 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 004EA4 800042A4 00A09825 */ move $s3, $a1
|
||||
/* 004EA8 800042A8 0080A825 */ move $s5, $a0
|
||||
/* 004EAC 800042AC 3C09800E */ lui $t1, %hi(D_800DC670) # $t1, 0x800e
|
||||
/* 004EB0 800042B0 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 004EB4 800042B4 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 004EB8 800042B8 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 004EBC 800042BC AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 004EC0 800042C0 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 004EC4 800042C4 2529C670 */ addiu $t1, %lo(D_800DC670) # addiu $t1, $t1, -0x3990
|
||||
/* 004EC8 800042C8 24040001 */ li $a0, 1
|
||||
/* 004ECC 800042CC 24050078 */ li $a1, 120
|
||||
/* 004ED0 800042D0 00004025 */ move $t0, $zero
|
||||
/* 004ED4 800042D4 240A0018 */ li $t2, 24
|
||||
/* 004ED8 800042D8 8D2E0000 */ lw $t6, ($t1)
|
||||
.L800042DC:
|
||||
/* 004EDC 800042DC 00003025 */ move $a2, $zero
|
||||
/* 004EE0 800042E0 01CA0019 */ multu $t6, $t2
|
||||
/* 004EE4 800042E4 00007812 */ mflo $t7
|
||||
/* 004EE8 800042E8 01E81021 */ addu $v0, $t7, $t0
|
||||
/* 004EEC 800042EC 24420030 */ addiu $v0, $v0, 0x30
|
||||
/* 004EF0 800042F0 0002C080 */ sll $t8, $v0, 2
|
||||
/* 004EF4 800042F4 0302C021 */ addu $t8, $t8, $v0
|
||||
/* 004EF8 800042F8 0018C9C0 */ sll $t9, $t8, 7
|
||||
/* 004EFC 800042FC 02B93821 */ addu $a3, $s5, $t9
|
||||
.L80004300:
|
||||
/* 004F00 80004300 00001825 */ move $v1, $zero
|
||||
/* 004F04 80004304 00E01025 */ move $v0, $a3
|
||||
.L80004308:
|
||||
/* 004F08 80004308 24630004 */ addiu $v1, $v1, 4
|
||||
/* 004F0C 8000430C A44400CA */ sh $a0, 0xca($v0)
|
||||
/* 004F10 80004310 A44400CC */ sh $a0, 0xcc($v0)
|
||||
/* 004F14 80004314 A44400CE */ sh $a0, 0xce($v0)
|
||||
/* 004F18 80004318 24420008 */ addiu $v0, $v0, 8
|
||||
/* 004F1C 8000431C 1465FFFA */ bne $v1, $a1, .L80004308
|
||||
/* 004F20 80004320 A44400C0 */ sh $a0, 0xc0($v0)
|
||||
/* 004F24 80004324 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 004F28 80004328 28C10010 */ slti $at, $a2, 0x10
|
||||
/* 004F2C 8000432C 1420FFF4 */ bnez $at, .L80004300
|
||||
/* 004F30 80004330 24E70280 */ addiu $a3, $a3, 0x280
|
||||
/* 004F34 80004334 25080014 */ addiu $t0, $t0, 0x14
|
||||
/* 004F38 80004338 2901003C */ slti $at, $t0, 0x3c
|
||||
/* 004F3C 8000433C 5420FFE7 */ bnel $at, $zero, .L800042DC
|
||||
/* 004F40 80004340 8D2E0000 */ lw $t6, ($t1)
|
||||
/* 004F44 80004344 8D2B0000 */ lw $t3, ($t1)
|
||||
/* 004F48 80004348 8E670014 */ lw $a3, 0x14($s3)
|
||||
/* 004F4C 8000434C 02A02025 */ move $a0, $s5
|
||||
/* 004F50 80004350 016A0019 */ multu $t3, $t2
|
||||
/* 004F54 80004354 30EC000F */ andi $t4, $a3, 0xf
|
||||
/* 004F58 80004358 01803825 */ move $a3, $t4
|
||||
/* 004F5C 8000435C 2405006C */ li $a1, 108
|
||||
/* 004F60 80004360 00001012 */ mflo $v0
|
||||
/* 004F64 80004364 24500035 */ addiu $s0, $v0, 0x35
|
||||
/* 004F68 80004368 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 004F6C 8000436C 02003025 */ move $a2, $s0
|
||||
/* 004F70 80004370 02A02025 */ move $a0, $s5
|
||||
/* 004F74 80004374 24050074 */ li $a1, 116
|
||||
/* 004F78 80004378 02003025 */ move $a2, $s0
|
||||
/* 004F7C 8000437C 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 004F80 80004380 24070010 */ li $a3, 16
|
||||
/* 004F84 80004384 26720020 */ addiu $s2, $s3, 0x20
|
||||
/* 004F88 80004388 8E5400FC */ lw $s4, 0xfc($s2)
|
||||
/* 004F8C 8000438C 241100B4 */ li $s1, 180
|
||||
.L80004390:
|
||||
/* 004F90 80004390 02A02025 */ move $a0, $s5
|
||||
/* 004F94 80004394 02202825 */ move $a1, $s1
|
||||
/* 004F98 80004398 02003025 */ move $a2, $s0
|
||||
/* 004F9C 8000439C 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 004FA0 800043A0 3287000F */ andi $a3, $s4, 0xf
|
||||
/* 004FA4 800043A4 2631FFF8 */ addiu $s1, $s1, -8
|
||||
/* 004FA8 800043A8 2A21007C */ slti $at, $s1, 0x7c
|
||||
/* 004FAC 800043AC 00146902 */ srl $t5, $s4, 4
|
||||
/* 004FB0 800043B0 1020FFF7 */ beqz $at, .L80004390
|
||||
/* 004FB4 800043B4 01A0A025 */ move $s4, $t5
|
||||
/* 004FB8 800043B8 8E510100 */ lw $s1, 0x100($s2)
|
||||
/* 004FBC 800043BC 02A02025 */ move $a0, $s5
|
||||
/* 004FC0 800043C0 240500BC */ li $a1, 188
|
||||
/* 004FC4 800043C4 00117082 */ srl $t6, $s1, 2
|
||||
/* 004FC8 800043C8 31D1001F */ andi $s1, $t6, 0x1f
|
||||
/* 004FCC 800043CC 02003025 */ move $a2, $s0
|
||||
/* 004FD0 800043D0 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 004FD4 800043D4 24070010 */ li $a3, 16
|
||||
/* 004FD8 800043D8 02A02025 */ move $a0, $s5
|
||||
/* 004FDC 800043DC 240500C4 */ li $a1, 196
|
||||
/* 004FE0 800043E0 02003025 */ move $a2, $s0
|
||||
/* 004FE4 800043E4 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 004FE8 800043E8 00113902 */ srl $a3, $s1, 4
|
||||
/* 004FEC 800043EC 02A02025 */ move $a0, $s5
|
||||
/* 004FF0 800043F0 240500CC */ li $a1, 204
|
||||
/* 004FF4 800043F4 02003025 */ move $a2, $s0
|
||||
/* 004FF8 800043F8 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 004FFC 800043FC 3227000F */ andi $a3, $s1, 0xf
|
||||
/* 005000 80004400 8E5400E4 */ lw $s4, 0xe4($s2)
|
||||
/* 005004 80004404 241100B4 */ li $s1, 180
|
||||
.L80004408:
|
||||
/* 005008 80004408 02A02025 */ move $a0, $s5
|
||||
/* 00500C 8000440C 02202825 */ move $a1, $s1
|
||||
/* 005010 80004410 24060049 */ li $a2, 73
|
||||
/* 005014 80004414 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 005018 80004418 3287000F */ andi $a3, $s4, 0xf
|
||||
/* 00501C 8000441C 2631FFF8 */ addiu $s1, $s1, -8
|
||||
/* 005020 80004420 2A21007C */ slti $at, $s1, 0x7c
|
||||
/* 005024 80004424 00145902 */ srl $t3, $s4, 4
|
||||
/* 005028 80004428 1020FFF7 */ beqz $at, .L80004408
|
||||
/* 00502C 8000442C 0160A025 */ move $s4, $t3
|
||||
/* 005030 80004430 8E4200FC */ lw $v0, 0xfc($s2)
|
||||
/* 005034 80004434 2401FFFC */ li $at, -4
|
||||
/* 005038 80004438 241100B4 */ li $s1, 180
|
||||
/* 00503C 8000443C 00416024 */ and $t4, $v0, $at
|
||||
/* 005040 80004440 3C018000 */ lui $at, (0x80000001 >> 16) # lui $at, 0x8000
|
||||
/* 005044 80004444 34210001 */ ori $at, (0x80000001 & 0xFFFF) # ori $at, $at, 1
|
||||
/* 005048 80004448 0181082B */ sltu $at, $t4, $at
|
||||
/* 00504C 8000444C 14200006 */ bnez $at, .L80004468
|
||||
/* 005050 80004450 3C01803F */ lui $at, (0x803FFF7F >> 16) # lui $at, 0x803f
|
||||
/* 005054 80004454 3421FF7F */ ori $at, (0x803FFF7F & 0xFFFF) # ori $at, $at, 0xff7f
|
||||
/* 005058 80004458 0181082B */ sltu $at, $t4, $at
|
||||
/* 00505C 8000445C 10200002 */ beqz $at, .L80004468
|
||||
/* 005060 80004460 00000000 */ nop
|
||||
/* 005064 80004464 8D940000 */ lw $s4, ($t4)
|
||||
.L80004468:
|
||||
/* 005068 80004468 02A02025 */ move $a0, $s5
|
||||
/* 00506C 8000446C 02202825 */ move $a1, $s1
|
||||
/* 005070 80004470 2406005D */ li $a2, 93
|
||||
/* 005074 80004474 0C001030 */ jal crash_screen_draw_glyph
|
||||
/* 005078 80004478 3287000F */ andi $a3, $s4, 0xf
|
||||
/* 00507C 8000447C 2631FFF8 */ addiu $s1, $s1, -8
|
||||
/* 005080 80004480 2A21007C */ slti $at, $s1, 0x7c
|
||||
/* 005084 80004484 00146902 */ srl $t5, $s4, 4
|
||||
/* 005088 80004488 1020FFF7 */ beqz $at, .L80004468
|
||||
/* 00508C 8000448C 01A0A025 */ move $s4, $t5
|
||||
/* 005090 80004490 0C033624 */ jal osWritebackDCacheAll
|
||||
/* 005094 80004494 00000000 */ nop
|
||||
/* 005098 80004498 0C033684 */ jal osViSwapBuffer
|
||||
/* 00509C 8000449C 02A02025 */ move $a0, $s5
|
||||
/* 0050A0 800044A0 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0050A4 800044A4 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 0050A8 800044A8 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 0050AC 800044AC 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 0050B0 800044B0 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 0050B4 800044B4 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 0050B8 800044B8 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 0050BC 800044BC 03E00008 */ jr $ra
|
||||
/* 0050C0 800044C0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
glabel get_faulted_thread
|
||||
/* 0050C4 800044C4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0050C8 800044C8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0050CC 800044CC 0C03384C */ jal __osGetCurrFaultedThread
|
||||
/* 0050D0 800044D0 00000000 */ nop
|
||||
/* 0050D4 800044D4 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 0050D8 800044D8 2404FFFF */ li $a0, -1
|
||||
/* 0050DC 800044DC 00401825 */ move $v1, $v0
|
||||
/* 0050E0 800044E0 108E0010 */ beq $a0, $t6, .L80004524
|
||||
/* 0050E4 800044E4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0050E8 800044E8 8C420004 */ lw $v0, 4($v0)
|
||||
.L800044EC:
|
||||
/* 0050EC 800044EC 18400009 */ blez $v0, .L80004514
|
||||
/* 0050F0 800044F0 28410080 */ slti $at, $v0, 0x80
|
||||
/* 0050F4 800044F4 50200008 */ beql $at, $zero, .L80004518
|
||||
/* 0050F8 800044F8 8C63000C */ lw $v1, 0xc($v1)
|
||||
/* 0050FC 800044FC 946F0012 */ lhu $t7, 0x12($v1)
|
||||
/* 005100 80004500 31F80003 */ andi $t8, $t7, 3
|
||||
/* 005104 80004504 53000004 */ beql $t8, $zero, .L80004518
|
||||
/* 005108 80004508 8C63000C */ lw $v1, 0xc($v1)
|
||||
/* 00510C 8000450C 10000006 */ b .L80004528
|
||||
/* 005110 80004510 00601025 */ move $v0, $v1
|
||||
.L80004514:
|
||||
/* 005114 80004514 8C63000C */ lw $v1, 0xc($v1)
|
||||
.L80004518:
|
||||
/* 005118 80004518 8C620004 */ lw $v0, 4($v1)
|
||||
/* 00511C 8000451C 1482FFF3 */ bne $a0, $v0, .L800044EC
|
||||
/* 005120 80004520 00000000 */ nop
|
||||
.L80004524:
|
||||
/* 005124 80004524 00001025 */ move $v0, $zero
|
||||
.L80004528:
|
||||
/* 005128 80004528 03E00008 */ jr $ra
|
||||
/* 00512C 8000452C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel thread9_crash_screen
|
||||
/* 005130 80004530 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 005134 80004534 AFB70030 */ sw $s7, 0x30($sp)
|
||||
/* 005138 80004538 3C178016 */ lui $s7, %hi(D_80162D40) # $s7, 0x8016
|
||||
/* 00513C 8000453C 26F72D40 */ addiu $s7, %lo(D_80162D40) # addiu $s7, $s7, 0x2d40
|
||||
/* 005140 80004540 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 005144 80004544 AFA40048 */ sw $a0, 0x48($sp)
|
||||
/* 005148 80004548 AFB6002C */ sw $s6, 0x2c($sp)
|
||||
/* 00514C 8000454C AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 005150 80004550 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 005154 80004554 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 005158 80004558 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 00515C 8000455C AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 005160 80004560 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 005164 80004564 2404000C */ li $a0, 12
|
||||
/* 005168 80004568 02E02825 */ move $a1, $s7
|
||||
/* 00516C 8000456C 0C033380 */ jal osSetEventMesg
|
||||
/* 005170 80004570 24060010 */ li $a2, 16
|
||||
/* 005174 80004574 2404000A */ li $a0, 10
|
||||
/* 005178 80004578 02E02825 */ move $a1, $s7
|
||||
/* 00517C 8000457C 0C033380 */ jal osSetEventMesg
|
||||
/* 005180 80004580 24060010 */ li $a2, 16
|
||||
/* 005184 80004584 3C108016 */ lui $s0, %hi(D_80162D60) # $s0, 0x8016
|
||||
/* 005188 80004588 26102D60 */ addiu $s0, %lo(D_80162D60) # addiu $s0, $s0, 0x2d60
|
||||
/* 00518C 8000458C 3C158016 */ lui $s5, %hi(pFramebuffer) # $s5, 0x8016
|
||||
/* 005190 80004590 3C14800E */ lui $s4, %hi(D_800DC670) # $s4, 0x800e
|
||||
/* 005194 80004594 3C12800E */ lui $s2, %hi(D_800DC4BC) # $s2, 0x800e
|
||||
/* 005198 80004598 3C11800E */ lui $s1, %hi(D_800DC6FC) # $s1, 0x800e
|
||||
/* 00519C 8000459C AE000000 */ sw $zero, ($s0)
|
||||
/* 0051A0 800045A0 2631C6FC */ addiu $s1, %lo(D_800DC6FC) # addiu $s1, $s1, -0x3904
|
||||
/* 0051A4 800045A4 2652C4BC */ addiu $s2, %lo(D_800DC4BC) # addiu $s2, $s2, -0x3b44
|
||||
/* 0051A8 800045A8 2694C670 */ addiu $s4, %lo(D_800DC670) # addiu $s4, $s4, -0x3990
|
||||
/* 0051AC 800045AC 26B52D5C */ addiu $s5, %lo(pFramebuffer) # addiu $s5, $s5, 0x2d5c
|
||||
/* 0051B0 800045B0 27B60044 */ addiu $s6, $sp, 0x44
|
||||
/* 0051B4 800045B4 3413FFFF */ li $s3, 65535
|
||||
.L800045B8:
|
||||
/* 0051B8 800045B8 02E02025 */ move $a0, $s7
|
||||
.L800045BC:
|
||||
/* 0051BC 800045BC 02C02825 */ move $a1, $s6
|
||||
/* 0051C0 800045C0 0C0335D4 */ jal osRecvMesg
|
||||
/* 0051C4 800045C4 24060001 */ li $a2, 1
|
||||
/* 0051C8 800045C8 0C001131 */ jal get_faulted_thread
|
||||
/* 0051CC 800045CC 00000000 */ nop
|
||||
/* 0051D0 800045D0 3C018016 */ lui $at, %hi(D_80162D64) # $at, 0x8016
|
||||
/* 0051D4 800045D4 1040FFF8 */ beqz $v0, .L800045B8
|
||||
/* 0051D8 800045D8 AC222D64 */ sw $v0, %lo(D_80162D64)($at)
|
||||
/* 0051DC 800045DC 8E820000 */ lw $v0, ($s4)
|
||||
/* 0051E0 800045E0 5440001F */ bnel $v0, $zero, .L80004660
|
||||
/* 0051E4 800045E4 28410005 */ slti $at, $v0, 5
|
||||
/* 0051E8 800045E8 0C001051 */ jal crash_screen_draw_square
|
||||
/* 0051EC 800045EC 8EA40000 */ lw $a0, ($s5)
|
||||
.L800045F0:
|
||||
/* 0051F0 800045F0 0C00028A */ jal read_controllers
|
||||
/* 0051F4 800045F4 00000000 */ nop
|
||||
/* 0051F8 800045F8 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 0051FC 800045FC 95C20006 */ lhu $v0, 6($t6)
|
||||
/* 005200 80004600 1040FFFB */ beqz $v0, .L800045F0
|
||||
/* 005204 80004604 00000000 */ nop
|
||||
/* 005208 80004608 8E030000 */ lw $v1, ($s0)
|
||||
/* 00520C 8000460C 00037840 */ sll $t7, $v1, 1
|
||||
/* 005210 80004610 022FC021 */ addu $t8, $s1, $t7
|
||||
/* 005214 80004614 97190000 */ lhu $t9, ($t8)
|
||||
/* 005218 80004618 24680001 */ addiu $t0, $v1, 1
|
||||
/* 00521C 8000461C 54590004 */ bnel $v0, $t9, .L80004630
|
||||
/* 005220 80004620 AE000000 */ sw $zero, ($s0)
|
||||
/* 005224 80004624 10000002 */ b .L80004630
|
||||
/* 005228 80004628 AE080000 */ sw $t0, ($s0)
|
||||
/* 00522C 8000462C AE000000 */ sw $zero, ($s0)
|
||||
.L80004630:
|
||||
/* 005230 80004630 8E090000 */ lw $t1, ($s0)
|
||||
/* 005234 80004634 00095040 */ sll $t2, $t1, 1
|
||||
/* 005238 80004638 022A5821 */ addu $t3, $s1, $t2
|
||||
/* 00523C 8000463C 956C0000 */ lhu $t4, ($t3)
|
||||
/* 005240 80004640 166CFFEB */ bne $s3, $t4, .L800045F0
|
||||
/* 005244 80004644 00000000 */ nop
|
||||
/* 005248 80004648 3C058016 */ lui $a1, %hi(D_80162D64) # $a1, 0x8016
|
||||
/* 00524C 8000464C 8CA52D64 */ lw $a1, %lo(D_80162D64)($a1)
|
||||
/* 005250 80004650 0C0010A6 */ jal crash_screen_draw_info
|
||||
/* 005254 80004654 8EA40000 */ lw $a0, ($s5)
|
||||
/* 005258 80004658 8E820000 */ lw $v0, ($s4)
|
||||
/* 00525C 8000465C 28410005 */ slti $at, $v0, 5
|
||||
.L80004660:
|
||||
/* 005260 80004660 5020FFD6 */ beql $at, $zero, .L800045BC
|
||||
/* 005264 80004664 02E02025 */ move $a0, $s7
|
||||
/* 005268 80004668 244D0001 */ addiu $t5, $v0, 1
|
||||
/* 00526C 8000466C 1000FFD2 */ b .L800045B8
|
||||
/* 005270 80004670 AE8D0000 */ sw $t5, ($s4)
|
||||
/* 005274 80004674 00000000 */ nop
|
||||
/* 005278 80004678 00000000 */ nop
|
||||
/* 00527C 8000467C 00000000 */ nop
|
||||
/* 005280 80004680 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 005284 80004684 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 005288 80004688 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 00528C 8000468C 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 005290 80004690 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 005294 80004694 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 005298 80004698 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 00529C 8000469C 8FB6002C */ lw $s6, 0x2c($sp)
|
||||
/* 0052A0 800046A0 8FB70030 */ lw $s7, 0x30($sp)
|
||||
/* 0052A4 800046A4 03E00008 */ jr $ra
|
||||
/* 0052A8 800046A8 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
|
||||
glabel func_800046AC
|
||||
/* 0052AC 800046AC 3C018016 */ lui $at, %hi(pFramebuffer) # 0x8016
|
||||
/* 0052B0 800046B0 03E00008 */ jr $ra
|
||||
/* 0052B4 800046B4 AC242D5C */ sw $a0, %lo(pFramebuffer)($at) # 0x2d5c($at)
|
||||
|
||||
glabel create_debug_thread
|
||||
/* 0052B8 800046B8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0052BC 800046BC AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0052C0 800046C0 3C048016 */ lui $a0, %hi(D_80162D40) # $a0, 0x8016
|
||||
/* 0052C4 800046C4 3C058016 */ lui $a1, %hi(D_80162D58) # $a1, 0x8016
|
||||
/* 0052C8 800046C8 24A52D58 */ addiu $a1, %lo(D_80162D58) # addiu $a1, $a1, 0x2d58
|
||||
/* 0052CC 800046CC 24842D40 */ addiu $a0, %lo(D_80162D40) # addiu $a0, $a0, 0x2d40
|
||||
/* 0052D0 800046D0 0C033358 */ jal osCreateMesgQueue
|
||||
/* 0052D4 800046D4 24060001 */ li $a2, 1
|
||||
/* 0052D8 800046D8 3C0E8016 */ lui $t6, %hi(D_80162D40) # $t6, 0x8016
|
||||
/* 0052DC 800046DC 25CE2D40 */ addiu $t6, %lo(D_80162D40) # addiu $t6, $t6, 0x2d40
|
||||
/* 0052E0 800046E0 3C048016 */ lui $a0, %hi(D_80162790) # $a0, 0x8016
|
||||
/* 0052E4 800046E4 3C068000 */ lui $a2, %hi(thread9_crash_screen) # $a2, 0x8000
|
||||
/* 0052E8 800046E8 240F007F */ li $t7, 127
|
||||
/* 0052EC 800046EC AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* 0052F0 800046F0 24C64530 */ addiu $a2, %lo(thread9_crash_screen) # addiu $a2, $a2, 0x4530
|
||||
/* 0052F4 800046F4 24842790 */ addiu $a0, %lo(D_80162790) # addiu $a0, $a0, 0x2790
|
||||
/* 0052F8 800046F8 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0052FC 800046FC 24050009 */ li $a1, 9
|
||||
/* 005300 80004700 0C032FDC */ jal osCreateThread
|
||||
/* 005304 80004704 00003825 */ move $a3, $zero
|
||||
/* 005308 80004708 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 00530C 8000470C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 005310 80004710 03E00008 */ jr $ra
|
||||
/* 005314 80004714 00000000 */ nop
|
||||
|
||||
glabel start_debug_thread
|
||||
/* 005318 80004718 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 00531C 8000471C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 005320 80004720 3C048016 */ lui $a0, %hi(D_80162790) # $a0, 0x8016
|
||||
/* 005324 80004724 0C0330D8 */ jal osStartThread
|
||||
/* 005328 80004728 24842790 */ addiu $a0, %lo(D_80162790) # addiu $a0, $a0, 0x2790
|
||||
/* 00532C 8000472C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005330 80004730 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 005334 80004734 03E00008 */ jr $ra
|
||||
/* 005338 80004738 00000000 */ nop
|
||||
|
||||
/* 00533C 8000473C 00000000 */ nop
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
glabel create_debug_thread
|
||||
/* 0052B8 800046B8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0052BC 800046BC AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0052C0 800046C0 3C048016 */ lui $a0, %hi(D_80162D40) # $a0, 0x8016
|
||||
/* 0052C4 800046C4 3C058016 */ lui $a1, %hi(D_80162D58) # $a1, 0x8016
|
||||
/* 0052C8 800046C8 24A52D58 */ addiu $a1, %lo(D_80162D58) # addiu $a1, $a1, 0x2d58
|
||||
/* 0052CC 800046CC 24842D40 */ addiu $a0, %lo(D_80162D40) # addiu $a0, $a0, 0x2d40
|
||||
/* 0052D0 800046D0 0C033358 */ jal osCreateMesgQueue
|
||||
/* 0052D4 800046D4 24060001 */ li $a2, 1
|
||||
/* 0052D8 800046D8 3C0E8016 */ lui $t6, %hi(D_80162D40) # $t6, 0x8016
|
||||
/* 0052DC 800046DC 25CE2D40 */ addiu $t6, %lo(D_80162D40) # addiu $t6, $t6, 0x2d40
|
||||
/* 0052E0 800046E0 3C048016 */ lui $a0, %hi(D_80162790) # $a0, 0x8016
|
||||
/* 0052E4 800046E4 3C068000 */ lui $a2, %hi(thread9_crash_screen) # $a2, 0x8000
|
||||
/* 0052E8 800046E8 240F007F */ li $t7, 127
|
||||
/* 0052EC 800046EC AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* 0052F0 800046F0 24C64530 */ addiu $a2, %lo(thread9_crash_screen) # addiu $a2, $a2, 0x4530
|
||||
/* 0052F4 800046F4 24842790 */ addiu $a0, %lo(D_80162790) # addiu $a0, $a0, 0x2790
|
||||
/* 0052F8 800046F8 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0052FC 800046FC 24050009 */ li $a1, 9
|
||||
/* 005300 80004700 0C032FDC */ jal osCreateThread
|
||||
/* 005304 80004704 00003825 */ move $a3, $zero
|
||||
/* 005308 80004708 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 00530C 8000470C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 005310 80004710 03E00008 */ jr $ra
|
||||
/* 005314 80004714 00000000 */ nop
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
glabel func_800046AC
|
||||
/* 0052AC 800046AC 3C018016 */ lui $at, %hi(pFramebuffer) # 0x8016
|
||||
/* 0052B0 800046B0 03E00008 */ jr $ra
|
||||
/* 0052B4 800046B4 AC242D5C */ sw $a0, %lo(pFramebuffer)($at) # 0x2d5c($at)
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
glabel get_faulted_thread
|
||||
/* 0050C4 800044C4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0050C8 800044C8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0050CC 800044CC 0C03384C */ jal __osGetCurrFaultedThread
|
||||
/* 0050D0 800044D0 00000000 */ nop
|
||||
/* 0050D4 800044D4 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 0050D8 800044D8 2404FFFF */ li $a0, -1
|
||||
/* 0050DC 800044DC 00401825 */ move $v1, $v0
|
||||
/* 0050E0 800044E0 108E0010 */ beq $a0, $t6, .L80004524
|
||||
/* 0050E4 800044E4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0050E8 800044E8 8C420004 */ lw $v0, 4($v0)
|
||||
.L800044EC:
|
||||
/* 0050EC 800044EC 18400009 */ blez $v0, .L80004514
|
||||
/* 0050F0 800044F0 28410080 */ slti $at, $v0, 0x80
|
||||
/* 0050F4 800044F4 50200008 */ beql $at, $zero, .L80004518
|
||||
/* 0050F8 800044F8 8C63000C */ lw $v1, 0xc($v1)
|
||||
/* 0050FC 800044FC 946F0012 */ lhu $t7, 0x12($v1)
|
||||
/* 005100 80004500 31F80003 */ andi $t8, $t7, 3
|
||||
/* 005104 80004504 53000004 */ beql $t8, $zero, .L80004518
|
||||
/* 005108 80004508 8C63000C */ lw $v1, 0xc($v1)
|
||||
/* 00510C 8000450C 10000006 */ b .L80004528
|
||||
/* 005110 80004510 00601025 */ move $v0, $v1
|
||||
.L80004514:
|
||||
/* 005114 80004514 8C63000C */ lw $v1, 0xc($v1)
|
||||
.L80004518:
|
||||
/* 005118 80004518 8C620004 */ lw $v0, 4($v1)
|
||||
/* 00511C 8000451C 1482FFF3 */ bne $a0, $v0, .L800044EC
|
||||
/* 005120 80004520 00000000 */ nop
|
||||
.L80004524:
|
||||
/* 005124 80004524 00001025 */ move $v0, $zero
|
||||
.L80004528:
|
||||
/* 005128 80004528 03E00008 */ jr $ra
|
||||
/* 00512C 8000452C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
glabel start_debug_thread
|
||||
/* 005318 80004718 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 00531C 8000471C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 005320 80004720 3C048016 */ lui $a0, %hi(D_80162790) # $a0, 0x8016
|
||||
/* 005324 80004724 0C0330D8 */ jal osStartThread
|
||||
/* 005328 80004728 24842790 */ addiu $a0, %lo(D_80162790) # addiu $a0, $a0, 0x2790
|
||||
/* 00532C 8000472C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005330 80004730 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 005334 80004734 03E00008 */ jr $ra
|
||||
/* 005338 80004738 00000000 */ nop
|
||||
|
|
@ -6,11 +6,11 @@
|
|||
# 128480-12AAE0 [2660]
|
||||
|
||||
# D_8028461C
|
||||
glabel D_80284E40
|
||||
.word 0x00FF4080
|
||||
.word 0x008040FF
|
||||
.word 0x0040FF40
|
||||
.word 0x00FFFF40
|
||||
#glabel D_80284E40
|
||||
#.word 0x00FF4080
|
||||
#.word 0x008040FF
|
||||
#.word 0x0040FF40
|
||||
#.word 0x00FFFF40
|
||||
|
||||
glabel D_80284E50
|
||||
.word 0x007F2040
|
||||
|
|
|
|||
2
import
2
import
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
python3 tools/decomp-permuter/import.py $1 $2 $3
|
||||
python3 tools/decomp-permuter/import.py $1 $2 $3 $4 $5
|
||||
|
||||
|
|
|
|||
|
|
@ -65,6 +65,86 @@ struct UnkStruct_800DC5EC {
|
|||
s32 pad2;
|
||||
};
|
||||
|
||||
struct UnkStruct_80280658 {
|
||||
s32 unk0;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s8 unk8;
|
||||
s8 unk9;
|
||||
s16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
struct UnkStruct_80280658_2 *unk28;
|
||||
s32 unk2C;
|
||||
s32 unk30;
|
||||
f32 unk34;
|
||||
f32 unk38;
|
||||
s32 unk3C;
|
||||
s32 unk40;
|
||||
s32 unk44;
|
||||
s32 unk48;
|
||||
};
|
||||
|
||||
struct UnkStruct_80280658_2 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s8 unk8;
|
||||
s8 unk9;
|
||||
s8 unkA;
|
||||
f32 unkC;
|
||||
};
|
||||
|
||||
struct UnkStruct_8028088C {
|
||||
s32 unk0;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s8 unk8;
|
||||
s8 unk9;
|
||||
s16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
struct UnkStruct_80280658_2 *unk28;
|
||||
s16 unk2C;
|
||||
s16 unk2E;
|
||||
s16 unk30;
|
||||
s16 unk32;
|
||||
s16 unk34;
|
||||
s16 unk36;
|
||||
s32 unk38;
|
||||
s32 unk3C;
|
||||
};
|
||||
|
||||
// Camera path struct? Or something like that. For GP race won scene?
|
||||
struct UnkStruct_80287500 {
|
||||
Vec3f unk0; // xyz coordinates?
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14; // rotation?
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
f32 unk28;
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
f32 unk34;
|
||||
s32 unk38;
|
||||
};
|
||||
|
||||
struct UnkStruct_800DDB40 {
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
|
|
|
|||
2
mk64.ld
2
mk64.ld
|
|
@ -268,7 +268,6 @@ SECTIONS
|
|||
|
||||
BUILD_DIR/src/profiler.o(.bss);
|
||||
BUILD_DIR/src/crash_screen.o(.bss);
|
||||
BUILD_DIR/asm/bss_800040C0.o(.bss);
|
||||
BUILD_DIR/asm/bss_80004740.o(.bss);
|
||||
BUILD_DIR/src/staff_ghosts.o(.bss);
|
||||
BUILD_DIR/asm/bss_80005FD0.o(.bss);
|
||||
|
|
@ -359,6 +358,7 @@ SECTIONS
|
|||
BUILD_DIR/src/code_80281780.o(.text);
|
||||
BUILD_DIR/src/code_80281C40.o(.text);
|
||||
BUILD_DIR/src/code_80281FA0.o(.text);
|
||||
BUILD_DIR/src/code_80280650.o(.data);
|
||||
BUILD_DIR/data/data_credits_128480.o(.data);
|
||||
}
|
||||
END_SEG(code_80280000)
|
||||
|
|
|
|||
|
|
@ -11221,7 +11221,7 @@ extern s32 D_8018D4BC;
|
|||
extern s32 D_8018D4C0;
|
||||
extern s32 *gDisplayListHead;
|
||||
|
||||
void func_8006BB34(void *arg0, s32 arg1, s16 arg2, s16 arg3) {
|
||||
void func_8006BB34(struct UnkStruct_8028088C arg0*, s32 arg1, s16 arg2, s16 arg3) {
|
||||
? sp108;
|
||||
f32 sp104;
|
||||
f32 sp100;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,20 @@
|
|||
#include <ultra64.h>
|
||||
#include <macros.h>
|
||||
#include <types.h>
|
||||
#include <common_structs.h>
|
||||
#include "main.h"
|
||||
|
||||
extern struct UnkStruct_80280658 *D_802874F8;
|
||||
extern Gfx *gDisplayListHead;
|
||||
extern struct GfxPool *gGfxPool;
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80280650(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280650.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80280658(void *arg0) {
|
||||
void *temp_v0;
|
||||
void func_80280658(struct UnkStruct_80280658 *arg0) {
|
||||
struct UnkStruct_80280658_2 *temp_v0 = arg0->unk28;
|
||||
|
||||
temp_v0 = arg0->unk28;
|
||||
arg0->unk10 = temp_v0->unk2;
|
||||
arg0->unk14 = temp_v0->unk4;
|
||||
arg0->unk18 = temp_v0->unk6;
|
||||
|
|
@ -24,60 +23,35 @@ void func_80280658(void *arg0) {
|
|||
arg0->unkE = temp_v0->unkA << 8;
|
||||
arg0->unk4 = temp_v0->unk0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280658.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern void *D_802874F8;
|
||||
struct UnkStruct_80280658 *func_802806C8(void) {
|
||||
//struct UnkStruct_80280658 *sp1C;
|
||||
//s32 temp_v0;
|
||||
s32 pad[2];
|
||||
struct UnkStruct_80280658 *phi_a0 = D_802874F8;
|
||||
s32 i;
|
||||
|
||||
void *func_802806C8(void) {
|
||||
void *sp1C;
|
||||
s32 temp_v0;
|
||||
void *phi_a0;
|
||||
s32 phi_v0;
|
||||
for (i = 0; i < 0xC8 ; i++) {
|
||||
|
||||
phi_a0 = D_802874F8;
|
||||
phi_v0 = 0;
|
||||
loop_1:
|
||||
temp_v0 = phi_v0 + 1;
|
||||
phi_v0 = temp_v0;
|
||||
if ((*phi_a0 & 1) == 0) {
|
||||
sp1C = phi_a0;
|
||||
bzero(phi_a0, 0x4C);
|
||||
sp1C->unk0 = 1;
|
||||
sp1C->unk24 = 1.0f;
|
||||
return sp1C;
|
||||
if ((phi_a0->unk0 & 1) == 0) {
|
||||
bzero(phi_a0, 0x4C);
|
||||
phi_a0->unk0 = 1;
|
||||
phi_a0->unk24 = 1.0f;
|
||||
return phi_a0;
|
||||
}
|
||||
|
||||
phi_a0++;
|
||||
}
|
||||
phi_a0 += 0x4C;
|
||||
if (temp_v0 == 0xC8) {
|
||||
return NULL;
|
||||
}
|
||||
goto loop_1;
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_802806C8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80280658(void *); // extern
|
||||
void *func_802806C8(); // extern
|
||||
struct UnkStruct_80280658 *func_80280734(struct UnkStruct_80280658 *arg0) {
|
||||
struct UnkStruct_80280658 *temp_v0 = func_802806C8();
|
||||
|
||||
void *func_80280734(s32 arg0) {
|
||||
void *sp1C;
|
||||
void *temp_v0;
|
||||
|
||||
temp_v0 = func_802806C8();
|
||||
sp1C = temp_v0;
|
||||
temp_v0->unk28 = arg0;
|
||||
func_80280658(temp_v0);
|
||||
return temp_v0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280734.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
|
|
@ -92,23 +66,25 @@ u16 func_8028076C(void) {
|
|||
u16 temp_v0;
|
||||
u16 phi_v0;
|
||||
|
||||
temp_v0 = D_80284E60;
|
||||
phi_v0 = temp_v0;
|
||||
if (temp_v0 == 0x560A) {
|
||||
//temp_v0 = D_80284E60;
|
||||
phi_v0 = D_80284E60;
|
||||
|
||||
if (D_80284E60 == 0x560A) {
|
||||
D_80284E60 = 0;
|
||||
phi_v0 = 0 & 0xFFFF;
|
||||
}
|
||||
|
||||
temp_t8 = (phi_v0 << 8) ^ phi_v0;
|
||||
temp_a1 = temp_t8 & 0xFF;
|
||||
temp_t4 = (temp_a1 << 8) + ((temp_t8 & 0xFF00) >> 8);
|
||||
temp_t5 = ((temp_a1 * 2) ^ temp_t4) & 0xFFFF;
|
||||
D_80284E60 = temp_t4;
|
||||
if ((temp_t5 & 1) == 0) {
|
||||
temp_v0_2 = ((temp_t5 >> 1) ^ 0xFF80) & 0xFFFF;
|
||||
if (temp_v0_2 == 0xAA55) {
|
||||
D_80284E60 = ((temp_t5 >> 1) ^ 0xFF80) & 0xFFFF;
|
||||
if (D_80284E60 == 0xAA55) {
|
||||
D_80284E60 = 0;
|
||||
} else {
|
||||
D_80284E60 = temp_v0_2 ^ 0x1FF4;
|
||||
D_80284E60 = D_80284E60 ^ 0x1FF4;
|
||||
}
|
||||
} else {
|
||||
D_80284E60 = (temp_t5 >> 1) ^ 0xFF80 ^ 0x8180;
|
||||
|
|
@ -119,55 +95,40 @@ u16 func_8028076C(void) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028076C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
u32 func_8028076C(); // extern
|
||||
u16 func_8028076C();
|
||||
|
||||
f32 func_8028080C(void) {
|
||||
return func_8028076C() / 65536.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028080C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
f32 func_8028080C(); // extern
|
||||
f32 func_8028080C();
|
||||
|
||||
f32 func_80280850(f32 arg0) {
|
||||
return (func_8028080C() * arg0) - (arg0 * 0.5f);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280850.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80280884(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280884.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
#ifdef NON_MATCHING
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_8006BB34(void *, ?, s16, s16); // extern
|
||||
f32 sins(u16); // extern
|
||||
void func_8006BB34(struct UnkStruct_8028088C*, s32, s16, s16); // extern
|
||||
f32 sins(u16);
|
||||
extern f32 D_80286B70;
|
||||
extern s16 D_802874CA;
|
||||
|
||||
void func_8028088C(void *arg0) {
|
||||
void func_8028088C(struct UnkStruct_8028088C *arg0) {
|
||||
f32 temp_f0;
|
||||
s32 temp_at;
|
||||
s32 temp_t3;
|
||||
|
||||
func_8006BB34(arg0 + 0x10, 0x3F800000, arg0->unk2E, arg0->unk2C);
|
||||
arg0->unk14 = arg0->unk14 + D_80286B70;
|
||||
func_8006BB34(arg0+1, 0x3F800000, arg0->unk2E, arg0->unk2C);
|
||||
arg0->unk14 += D_80286B70;
|
||||
temp_f0 = sins(arg0->unk30);
|
||||
temp_t3 = arg0->unk3C + 1;
|
||||
temp_at = temp_t3 < 0x321;
|
||||
arg0->unk30 = arg0->unk30 + arg0->unk32;
|
||||
arg0->unk30 += arg0->unk32;
|
||||
arg0->unk3C = temp_t3;
|
||||
arg0->unk2E = temp_f0 * arg0->unk34;
|
||||
if (temp_at == 0) {
|
||||
|
|
@ -181,82 +142,73 @@ void func_8028088C(void *arg0) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028088C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void *func_80280734(? *); // extern
|
||||
f32 func_80280850(f32); // extern
|
||||
extern ? D_80284E40;
|
||||
extern ? D_80284E7C;
|
||||
s32 D_80284E40[] = {
|
||||
0x00FF4080, 0x008040FF, 0x0040FF40, 0x00FFFF40
|
||||
};
|
||||
|
||||
extern struct UnkStruct_80280658 *D_80284E7C;
|
||||
extern f32 D_80286B74;
|
||||
extern f32 D_80286B78;
|
||||
extern f32 D_80286B7C;
|
||||
|
||||
void func_8028093C(void *arg0) {
|
||||
void func_8028093C(struct UnkStruct_80280658 *arg0) {
|
||||
struct UnkStruct_80280658 *temp_v0;
|
||||
f32 temp_f0;
|
||||
void *temp_v0;
|
||||
|
||||
if (arg0->unk44 < 0x1E) {
|
||||
arg0->unk14 = arg0->unk14 + 2.5f;
|
||||
arg0->unk10 = arg0->unk10 + func_80280850(D_80286B74);
|
||||
arg0->unk18 = arg0->unk18 + func_80280850(D_80286B78);
|
||||
return;
|
||||
}
|
||||
if (arg0->unk2C == 4) {
|
||||
arg0->unk14 += 2.5f;
|
||||
arg0->unk10 += func_80280850(D_80286B74);
|
||||
arg0->unk18 += func_80280850(D_80286B78);
|
||||
} else if (arg0->unk2C == 4) {
|
||||
temp_v0 = func_80280734(&D_80284E7C);
|
||||
temp_f0 = D_80286B7C;
|
||||
temp_v0->unk10 = arg0->unk10;
|
||||
temp_v0->unk14 = arg0->unk14;
|
||||
temp_v0->unk18 = arg0->unk18;
|
||||
temp_v0->unk30 = D_80284E40[arg0->unk48];
|
||||
temp_v0->unk3C = 0xFF;
|
||||
temp_v0->unk40 = -0x11;
|
||||
temp_v0->unk44 = 0x64;
|
||||
temp_v0->unk34 = temp_f0;
|
||||
temp_v0->unk38 = temp_f0;
|
||||
temp_v0->unk30 = *(&D_80284E40 + (arg0->unk48 * 4));
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028093C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80021E10(f32, f32 *, s32, s32); // extern
|
||||
? func_80022180(f32, void *, f32 *); // extern
|
||||
void func_80021E10(f32, f32 *, s32, s32); // extern
|
||||
void func_80022180(f32, struct GfxPool*, f32*); // extern
|
||||
extern s16 D_80164AF0;
|
||||
extern ? D_80287500;
|
||||
extern void *gDisplayListHead;
|
||||
extern struct UnkStruct_80287500 *D_80287500;
|
||||
=
|
||||
|
||||
void func_80280A28(s32 arg0, s32 arg1, f32 arg2) {
|
||||
f32 sp48;
|
||||
f32 sp44;
|
||||
f32 sp40;
|
||||
f32 sp38;
|
||||
f32 sp34;
|
||||
f32 sp30;
|
||||
f32 sp28;
|
||||
f32 sp24;
|
||||
f32 sp20;
|
||||
f32 temp_f12;
|
||||
void *temp_v1;
|
||||
|
||||
temp_f12 = arg2;
|
||||
arg2 = temp_f12;
|
||||
func_80021E10(temp_f12, &sp20, arg0, arg1);
|
||||
sp20 = D_80287500.unk0 * arg2;
|
||||
sp24 = D_80287500.unk10 * arg2;
|
||||
sp28 = D_80287500.unk20 * arg2;
|
||||
sp30 = D_80287500.unk4 * arg2;
|
||||
sp34 = D_80287500.unk14 * arg2;
|
||||
sp38 = D_80287500.unk24 * arg2;
|
||||
sp40 = D_80287500.unk8 * arg2;
|
||||
sp44 = D_80287500.unk18 * arg2;
|
||||
sp48 = D_80287500.unk28 * arg2;
|
||||
func_80022180(arg2, gGfxPool + (D_80164AF0 << 6) + 0xFAC0, &sp20);
|
||||
temp_v1 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->unk0 = 0x1020040;
|
||||
temp_v1->unk4 = (gGfxPool + (D_80164AF0 << 6) + 0xFAC0) & 0x1FFFFFFF;
|
||||
f32 sp20[14];
|
||||
//f32 temp_f12;
|
||||
Gfx *temp_v1;
|
||||
|
||||
//temp_f12 = arg2;
|
||||
//arg2 = temp_f12;
|
||||
func_80021E10(arg2, &sp20, arg0, arg1);
|
||||
sp20[0] = D_80287500->unk0[0] * arg2;
|
||||
sp20[1] = D_80287500->unk10 * arg2;
|
||||
sp20[2] = D_80287500->unk20 * arg2;
|
||||
sp20[3] = D_80287500->unk0[1] * arg2;
|
||||
sp20[4] = D_80287500->unk14 * arg2;
|
||||
sp20[5] = D_80287500->unk24 * arg2;
|
||||
sp20[6] = D_80287500->unk0[2] * arg2;
|
||||
sp20[7] = D_80287500->unk18 * arg2;
|
||||
sp20[8] = D_80287500->unk28 * arg2;
|
||||
func_80022180(arg2, &gGfxPool->buffer[D_80164AF0] + 0xFAC0, &sp20);
|
||||
|
||||
gSPMatrix(gDisplayListHead, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[D_80164AF0 << 6] + 0xFAC0), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
|
||||
//temp_v1 = gDisplayListHead;
|
||||
//gDisplayListHead = temp_v1 + 8;
|
||||
//temp_v1->words.w0 = 0x01020040;
|
||||
//temp_v1->words.w1 = VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[D_80164AF0 << 6] + 0xFAC0);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280A28.s")
|
||||
|
|
@ -264,41 +216,53 @@ GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280A28.s")
|
|||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_8004B35C(s16, s16, s16, s16); // extern
|
||||
? func_80280A28(?, f32 *, s16 *, ?); // extern
|
||||
extern ? D_0D008DB8;
|
||||
extern ? D_0D008E48;
|
||||
//? func_8004B35C(s16, s16, s16, s16); // extern
|
||||
//? func_80280A28(?, f32 *, s16 *, ?); // extern
|
||||
extern u8 D_0D008DB8;
|
||||
extern u8 D_0D008E48;
|
||||
extern s16 D_80164AF0;
|
||||
extern s32 D_8018D48C;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_80280B50(void *arg0, ? arg1, s32 arg2, s16 arg3) {
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
s16 sp48;
|
||||
s16 sp46;
|
||||
s16 sp44;
|
||||
struct UnkStruct80280B50 {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
};
|
||||
extern Camera *camera1;
|
||||
|
||||
void func_80280B50(struct UnkStruct80280B50 *arg0, s32 arg1, s32 arg2, s16 arg3) {
|
||||
f32 sp54 = arg0->unk8;
|
||||
f32 sp50 = arg0->unk4;
|
||||
f32 sp4C = arg0->unk0;
|
||||
s16 sp48 = 0;
|
||||
s32 sp46 = camera1->unk26;
|
||||
s16 sp44 = 0;
|
||||
void *sp1C;
|
||||
s16 *temp_a1;
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
void *temp_v0_6;
|
||||
void *temp_v0_7;
|
||||
void *temp_v0_8;
|
||||
void *temp_v0_9;
|
||||
//s16 *temp_a1 = &sp44;
|
||||
|
||||
sp4C = arg0->unk0;
|
||||
temp_a1 = &sp44;
|
||||
sp50 = arg0->unk4;
|
||||
sp44 = 0;
|
||||
sp54 = arg0->unk8;
|
||||
sp48 = 0;
|
||||
sp46 = camera1->unk26;
|
||||
func_80280A28(arg1, &sp4C, temp_a1, arg1);
|
||||
//sp4C = arg0->unk0;
|
||||
//temp_a1 = &sp44;
|
||||
//sp50 = arg0->unk4;
|
||||
//sp44 = 0;
|
||||
//sp54 = arg0->unk8;
|
||||
//sp48 = 0;
|
||||
//sp46 = camera1->unk26;
|
||||
func_80280A28(arg1, &sp4C, &sp44, arg1);
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_0D008DB8);
|
||||
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_8018D48C);
|
||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPLoadSync(gDisplayListHead++);
|
||||
gDPLoadBlock(gDisplayListHead++, 1, 0, 0, 4082, 0);
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
gDPSetTile(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_8b, 4, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x7C0, 0x7C0);
|
||||
|
||||
func_8004B35C((arg2 >> 0x10) & 0xFF, (arg2 >> 8) & 0xFF, arg2 & 0xFF, arg3);
|
||||
|
||||
gSPDisplayList(gDisplayListHead, D_0D008E48);
|
||||
D_80164AF0++;
|
||||
/*
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk0 = 0x6000000;
|
||||
|
|
@ -328,16 +292,22 @@ void func_80280B50(void *arg0, ? arg1, s32 arg2, s16 arg3) {
|
|||
temp_v0_7->unk4 = 0;
|
||||
temp_v0_7->unk0 = 0xF5680800;
|
||||
temp_v0_8 = gDisplayListHead;
|
||||
|
||||
|
||||
gDisplayListHead = temp_v0_8 + 8;
|
||||
sp1C = temp_v0_8;
|
||||
temp_v0_8->unk4 = 0x7C07C;
|
||||
temp_v0_8->unk0 = 0xF2000000;
|
||||
|
||||
|
||||
func_8004B35C((arg2 >> 0x10) & 0xFF, (arg2 >> 8) & 0xFF, arg2 & 0xFF, arg3);
|
||||
|
||||
|
||||
temp_v0_9 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_9 + 8;
|
||||
temp_v0_9->unk0 = 0x6000000;
|
||||
temp_v0_9->unk4 = &D_0D008E48;
|
||||
D_80164AF0 = D_80164AF0 + 1;
|
||||
*/;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280B50.s")
|
||||
|
|
@ -410,63 +380,35 @@ block_12:
|
|||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280D1C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80280FA0(s32 arg0) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280FA0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80280FA8(s32 arg0) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280FA8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80280734(? *); // extern
|
||||
extern ? D_80284E88;
|
||||
struct UnkStruct_80280658 *func_80280734(struct UnkStruct_80280658*);
|
||||
extern s32 D_80284E88;
|
||||
extern s32 D_802874E0;
|
||||
extern s32 D_802874F8;
|
||||
|
||||
void func_80280FB0(void) {
|
||||
s32 temp_v0;
|
||||
|
||||
D_802874E0 = 0;
|
||||
temp_v0 = func_802A7B70(0x3B60);
|
||||
D_802874F8 = temp_v0;
|
||||
bzero(temp_v0, 0x3B60);
|
||||
|
||||
D_802874F8 = func_802A7B70(0x3B60);
|
||||
bzero(D_802874F8, 0x3B60);
|
||||
func_80280734(&D_80284E88);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280FB0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s8 D_802874F4;
|
||||
|
||||
void func_80280FFC(void) {
|
||||
D_802874F4 = 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280FFC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_8028100C(s32 arg0, ? arg1, ? arg2) {
|
||||
void func_8028100C(s32 arg0, s32 arg1, s32 arg2) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028100C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
|
|
@ -638,78 +580,34 @@ loop_2:
|
|||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281438.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s32 D_802874D4;
|
||||
extern s32 gDisplayListHead;
|
||||
|
||||
void func_8028150C(void) {
|
||||
D_802874D4 = gDisplayListHead;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028150C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80281520(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281520.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80281528(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281528.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80281530(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281530.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80281538(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281538.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80281540(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281540.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_800097E0(); // extern
|
||||
? func_8001C14C(); // extern
|
||||
? func_80022744(); // extern
|
||||
? func_80028F70(); // extern
|
||||
? func_80059AC8(); // extern
|
||||
? func_8005A070(); // extern
|
||||
? func_80281540(); // extern
|
||||
? func_80281610(); // extern
|
||||
? func_80281D00(); // extern
|
||||
extern s16 D_80150112;
|
||||
extern s8 D_802874F4;
|
||||
extern s32 D_802874FC;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_80281548(void) {
|
||||
void *temp_v0;
|
||||
|
|
@ -729,15 +627,6 @@ void func_80281548(void) {
|
|||
}
|
||||
func_80281D00();
|
||||
func_80281540();
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk4 = 0;
|
||||
temp_v0->unk0 = 0xE9000000;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk4 = 0;
|
||||
temp_v0_2->unk0 = 0xB8000000;
|
||||
gDPFullSync(gDisplayListHead++);
|
||||
gSPEndDisplayList(gDisplayListHead++);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281548.s")
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ extern s32 D_80287554;
|
|||
extern f32 D_801647A4;
|
||||
extern f32 D_80150130;
|
||||
|
||||
extern s32 D_8015F728;
|
||||
extern s32 gPrevLoadedAddress;
|
||||
extern s32 D_8015F734;
|
||||
|
||||
extern s32 D_8015F730;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ void crash_screen_draw_info(uint_ptr arg0, void *arg1); // static
|
|||
void crash_screen_draw_square(uint_ptr arg0); // static
|
||||
void create_debug_thread(); // static
|
||||
void func_800040C0(s32 arg0, s32 arg1, s32 arg2, u32 arg3); // static
|
||||
void func_800046AC(s32 arg0); // static
|
||||
void crash_screen_set_framebuffer(s32 arg0); // static
|
||||
void *get_faulted_thread(); // static
|
||||
void start_debug_thread(); // static
|
||||
void thread9_crash_screen(s32 arg0); // static
|
||||
|
|
@ -31,6 +31,23 @@ extern s32 D_80162D60;
|
|||
extern void *D_80162D64;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
OSThread D_80162790;
|
||||
ALIGNED8 u8 gDebugThreadStack[0x400];
|
||||
OSMesgQueue D_80162D40;
|
||||
OSMesg D_80162D58;
|
||||
uintptr_t pFramebuffer;
|
||||
s32 D_80162D60;
|
||||
void *D_80162D64;
|
||||
|
||||
extern void osSetEventMesg(OSEvent, OSMesgQueue *, OSMesg);
|
||||
extern s32 osRecvMesg(OSMesgQueue *, OSMesg *, s32);
|
||||
extern void read_controllers();
|
||||
|
||||
extern struct Controller *D_800DC4BC;
|
||||
|
||||
|
||||
u32 D_800DC670 = 0;
|
||||
|
||||
u8 crashScreenFont[][8] = {
|
||||
|
|
@ -284,58 +301,69 @@ loop_3:
|
|||
GLOBAL_ASM("asm/non_matchings/crash_screen/crash_screen_draw_info.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
void *__osGetCurrFaultedThread(); /* extern */
|
||||
OSThread *get_faulted_thread(void) {
|
||||
OSThread *thread;
|
||||
|
||||
void *get_faulted_thread(void) {
|
||||
s32 temp_v0_2;
|
||||
void *temp_v0;
|
||||
void *temp_v1;
|
||||
s32 phi_v0;
|
||||
void *phi_v1;
|
||||
|
||||
temp_v0 = __osGetCurrFaultedThread();
|
||||
phi_v1 = temp_v0;
|
||||
if (temp_v0->unk4 != -1) {
|
||||
phi_v0 = temp_v0->unk4;
|
||||
loop_2:
|
||||
if ((phi_v0 > 0) && (phi_v0 < 0x80) && ((phi_v1->unk12 & 3) != 0)) {
|
||||
return phi_v1;
|
||||
thread = __osGetCurrFaultedThread();
|
||||
while (thread->priority != -1) {
|
||||
if (thread->priority > OS_PRIORITY_IDLE && thread->priority <= OS_PRIORITY_APPMAX
|
||||
&& (thread->flags & 3) != 0) {
|
||||
return thread;
|
||||
}
|
||||
temp_v1 = phi_v1->unkC;
|
||||
temp_v0_2 = temp_v1->unk4;
|
||||
phi_v0 = temp_v0_2;
|
||||
phi_v1 = temp_v1;
|
||||
if (temp_v0_2 == -1) {
|
||||
goto block_7;
|
||||
}
|
||||
goto loop_2;
|
||||
thread = thread->tlnext;
|
||||
}
|
||||
block_7:
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/crash_screen/get_faulted_thread.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
? crash_screen_draw_info(s32, s32); /* extern */
|
||||
? crash_screen_draw_square(s32); /* extern */
|
||||
s32 get_faulted_thread(); /* extern */
|
||||
? osRecvMesg(? *, ? *, ?); /* extern */
|
||||
? osSetEventMesg(?, ? *, ?); /* extern */
|
||||
? read_controllers(); /* extern */
|
||||
extern void *D_800DC4BC;
|
||||
extern s32 D_800DC670;
|
||||
extern ? D_800DC6FC;
|
||||
extern ? D_80162D40;
|
||||
extern s32 D_80162D60;
|
||||
extern s32 D_80162D64;
|
||||
extern s32 pFramebuffer;
|
||||
|
||||
void thread9_crash_screen(s32 arg0) {
|
||||
//OSThread *get_faulted_thread();
|
||||
void crash_screen_draw_square(s32, void*);
|
||||
void crash_screen_draw_info(s32, void*);
|
||||
|
||||
void thread9_crash_screen(UNUSED s32 arg0) {
|
||||
OSMesg mesg;
|
||||
OSThread *thread;
|
||||
//s32 pad[2];
|
||||
u16 temp_v0_2;
|
||||
|
||||
osSetEventMesg(OS_EVENT_FAULT, &D_80162D40, (OSMesg) 16);
|
||||
osSetEventMesg(OS_EVENT_CPU_BREAK, &D_80162D40, (OSMesg) 16);
|
||||
D_80162D60 = 0;
|
||||
loop_1:
|
||||
do {
|
||||
do {
|
||||
osRecvMesg(&D_80162D40, &mesg, 1);
|
||||
thread = get_faulted_thread();
|
||||
} while (thread == NULL);
|
||||
|
||||
if (D_800DC670 == 0) {
|
||||
crash_screen_draw_square(pFramebuffer, D_80162D64);
|
||||
do {
|
||||
//temp_v0_2 = D_800DC4BC->buttonPressed;
|
||||
//loop_4:
|
||||
do {
|
||||
read_controllers();
|
||||
}
|
||||
while (temp_v0_2 == 0);
|
||||
//if (temp_v0_2 == 0) {
|
||||
//goto loop_4;
|
||||
//}
|
||||
//temp_v1 = D_80162D60;
|
||||
//} while (thread == NULL);
|
||||
if (temp_v0_2 == D_800DC6FC[D_80162D60]) {
|
||||
D_80162D60++;
|
||||
} else {
|
||||
D_80162D60 = 0;
|
||||
}
|
||||
} while (D_800DC6FC[D_80162D60] != 0xFFFF);
|
||||
crash_screen_draw_info(pFramebuffer, D_80162D64);
|
||||
}
|
||||
} while (D_800DC670 >= 5);
|
||||
D_800DC670++;
|
||||
goto loop_1;
|
||||
/*
|
||||
? sp44;
|
||||
s32 temp_v0;
|
||||
s32 temp_v1;
|
||||
|
|
@ -374,47 +402,23 @@ loop_4:
|
|||
}
|
||||
D_800DC670 += 1;
|
||||
goto loop_1;
|
||||
*/
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/crash_screen/thread9_crash_screen.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
extern s32 pFramebuffer;
|
||||
|
||||
void func_800046AC(s32 arg0) {
|
||||
void crash_screen_set_framebuffer(s32 arg0) {
|
||||
pFramebuffer = arg0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/crash_screen/func_800046AC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
? osCreateMesgQueue(? *, ? *, ?); /* extern */
|
||||
? osCreateThread(? *, ?, ? *, ?, ? *, s32); /* extern */
|
||||
extern ? D_80162790;
|
||||
extern ? D_80162D40;
|
||||
extern ? D_80162D58;
|
||||
extern ? thread9_crash_screen;
|
||||
extern void thread9_crash_screen();
|
||||
|
||||
void create_debug_thread(void) {
|
||||
osCreateMesgQueue(&D_80162D40, &D_80162D58, 1);
|
||||
osCreateThread(&D_80162790, 9, &thread9_crash_screen, 0, &D_80162D40, 0x7F);
|
||||
osCreateThread((OSThread *) &D_80162790, 9, (void *)thread9_crash_screen, 0, &D_80162D40, 0x7F);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/crash_screen/create_debug_thread.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
? osStartThread(? *); /* extern */
|
||||
extern ? D_80162790;
|
||||
|
||||
void start_debug_thread(void) {
|
||||
osStartThread(&D_80162790);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/crash_screen/start_debug_thread.s")
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -493,7 +493,7 @@ void display_and_vsync(void) {
|
|||
osViSwapBuffer((void *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[sRenderedFramebuffer]));
|
||||
profiler_log_thread5_time(4);
|
||||
osRecvMesg(&D_8014EF70, &gMainReceivedMesg, 1);
|
||||
func_800046AC(gPhysicalFramebuffers[sRenderedFramebuffer]);
|
||||
crash_screen_set_framebuffer(gPhysicalFramebuffers[sRenderedFramebuffer]);
|
||||
if (++sRenderedFramebuffer == 3) {
|
||||
sRenderedFramebuffer = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1577,10 +1577,10 @@ GLOBAL_ASM("asm/non_matchings/math_util/func_802B7830.s")
|
|||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
u32 func_802B7830(); /* extern */
|
||||
//s16 func_802B7830(); /* extern */
|
||||
|
||||
f32 func_802B79B8(void) {
|
||||
return func_802B7830();
|
||||
f32 func_802B79B8(f32 arg0) {
|
||||
return func_802B7830(arg0, 0.0f);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/math_util/func_802B79B8.s")
|
||||
|
|
@ -1660,7 +1660,7 @@ GLOBAL_ASM("asm/non_matchings/math_util/func_802B7B50.s")
|
|||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
//This function did not have a glabel in the original assembly, as such it may
|
||||
//be unused/unnamed
|
||||
? func_802B79B8(?); /* extern */
|
||||
//? func_802B79B8(?); /* extern */
|
||||
|
||||
void func_802B7C18(void) {
|
||||
func_802B79B8(0x3F800000);
|
||||
|
|
|
|||
Loading…
Reference in New Issue