mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-30 20:11:40 -04:00
8ab4557b39
* Split asm using autodecompiler * Placed libultra bss and linked more C
81 lines
4.1 KiB
ArmAsm
81 lines
4.1 KiB
ArmAsm
glabel func_80297818
|
|
/* 100E28 80297818 3C040D00 */ lui $a0, %hi(D_0D004E38) # $a0, 0xd00
|
|
/* 100E2C 8029781C 24844E38 */ addiu $a0, %lo(D_0D004E38) # addiu $a0, $a0, 0x4e38
|
|
/* 100E30 80297820 00047602 */ srl $t6, $a0, 0x18
|
|
/* 100E34 80297824 000E7880 */ sll $t7, $t6, 2
|
|
/* 100E38 80297828 3C188015 */ lui $t8, %hi(gSegmentTable)
|
|
/* 100E3C 8029782C 030FC021 */ addu $t8, $t8, $t7
|
|
/* 100E40 80297830 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
|
/* 100E44 80297834 8F180258 */ lw $t8, %lo(gSegmentTable)($t8)
|
|
/* 100E48 80297838 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 100E4C 8029783C 0081C824 */ and $t9, $a0, $at
|
|
/* 100E50 80297840 3C02802C */ lui $v0, %hi(D_802BA060) # $v0, 0x802c
|
|
/* 100E54 80297844 3C018000 */ lui $at, 0x8000
|
|
/* 100E58 80297848 03191821 */ addu $v1, $t8, $t9
|
|
/* 100E5C 8029784C 2442A060 */ addiu $v0, %lo(D_802BA060) # addiu $v0, $v0, -0x5fa0
|
|
/* 100E60 80297850 00611821 */ addu $v1, $v1, $at
|
|
/* 100E64 80297854 00002825 */ move $a1, $zero
|
|
/* 100E68 80297858 24060100 */ li $a2, 256
|
|
.L8029785C:
|
|
/* 100E6C 8029785C 84640000 */ lh $a0, ($v1)
|
|
/* 100E70 80297860 24A50004 */ addiu $a1, $a1, 4
|
|
/* 100E74 80297864 24630008 */ addiu $v1, $v1, 8
|
|
/* 100E78 80297868 3088F800 */ andi $t0, $a0, 0xf800
|
|
/* 100E7C 8029786C 00084C00 */ sll $t1, $t0, 0x10
|
|
/* 100E80 80297870 00095403 */ sra $t2, $t1, 0x10
|
|
/* 100E84 80297874 308E07C0 */ andi $t6, $a0, 0x7c0
|
|
/* 100E88 80297878 000E7940 */ sll $t7, $t6, 5
|
|
/* 100E8C 8029787C 000A5943 */ sra $t3, $t2, 5
|
|
/* 100E90 80297880 016FC025 */ or $t8, $t3, $t7
|
|
/* 100E94 80297884 3089003E */ andi $t1, $a0, 0x3e
|
|
/* 100E98 80297888 03095025 */ or $t2, $t8, $t1
|
|
/* 100E9C 8029788C 308E0001 */ andi $t6, $a0, 1
|
|
/* 100EA0 80297890 014E5825 */ or $t3, $t2, $t6
|
|
/* 100EA4 80297894 A44B0000 */ sh $t3, ($v0)
|
|
/* 100EA8 80297898 8464FFFA */ lh $a0, -6($v1)
|
|
/* 100EAC 8029789C 24420008 */ addiu $v0, $v0, 8
|
|
/* 100EB0 802978A0 308FF800 */ andi $t7, $a0, 0xf800
|
|
/* 100EB4 802978A4 000FCC00 */ sll $t9, $t7, 0x10
|
|
/* 100EB8 802978A8 00194403 */ sra $t0, $t9, 0x10
|
|
/* 100EBC 802978AC 308D07C0 */ andi $t5, $a0, 0x7c0
|
|
/* 100EC0 802978B0 000D5140 */ sll $t2, $t5, 5
|
|
/* 100EC4 802978B4 0008C143 */ sra $t8, $t0, 5
|
|
/* 100EC8 802978B8 030A7025 */ or $t6, $t8, $t2
|
|
/* 100ECC 802978BC 3099003E */ andi $t9, $a0, 0x3e
|
|
/* 100ED0 802978C0 01D94025 */ or $t0, $t6, $t9
|
|
/* 100ED4 802978C4 308D0001 */ andi $t5, $a0, 1
|
|
/* 100ED8 802978C8 010DC025 */ or $t8, $t0, $t5
|
|
/* 100EDC 802978CC A458FFFA */ sh $t8, -6($v0)
|
|
/* 100EE0 802978D0 8464FFFC */ lh $a0, -4($v1)
|
|
/* 100EE4 802978D4 308AF800 */ andi $t2, $a0, 0xf800
|
|
/* 100EE8 802978D8 000A5C00 */ sll $t3, $t2, 0x10
|
|
/* 100EEC 802978DC 000B7C03 */ sra $t7, $t3, 0x10
|
|
/* 100EF0 802978E0 308C07C0 */ andi $t4, $a0, 0x7c0
|
|
/* 100EF4 802978E4 000C4140 */ sll $t0, $t4, 5
|
|
/* 100EF8 802978E8 000F7143 */ sra $t6, $t7, 5
|
|
/* 100EFC 802978EC 01C86825 */ or $t5, $t6, $t0
|
|
/* 100F00 802978F0 308B003E */ andi $t3, $a0, 0x3e
|
|
/* 100F04 802978F4 01AB7825 */ or $t7, $t5, $t3
|
|
/* 100F08 802978F8 308C0001 */ andi $t4, $a0, 1
|
|
/* 100F0C 802978FC 01EC7025 */ or $t6, $t7, $t4
|
|
/* 100F10 80297900 A44EFFFC */ sh $t6, -4($v0)
|
|
/* 100F14 80297904 8464FFFE */ lh $a0, -2($v1)
|
|
/* 100F18 80297908 3088F800 */ andi $t0, $a0, 0xf800
|
|
/* 100F1C 8029790C 0008C400 */ sll $t8, $t0, 0x10
|
|
/* 100F20 80297910 00185403 */ sra $t2, $t8, 0x10
|
|
/* 100F24 80297914 308907C0 */ andi $t1, $a0, 0x7c0
|
|
/* 100F28 80297918 00097940 */ sll $t7, $t1, 5
|
|
/* 100F2C 8029791C 000A6943 */ sra $t5, $t2, 5
|
|
/* 100F30 80297920 01AF6025 */ or $t4, $t5, $t7
|
|
/* 100F34 80297924 3098003E */ andi $t8, $a0, 0x3e
|
|
/* 100F38 80297928 01985025 */ or $t2, $t4, $t8
|
|
/* 100F3C 8029792C 30890001 */ andi $t1, $a0, 1
|
|
/* 100F40 80297930 01496825 */ or $t5, $t2, $t1
|
|
/* 100F44 80297934 14A6FFC9 */ bne $a1, $a2, .L8029785C
|
|
/* 100F48 80297938 A44DFFFE */ sh $t5, -2($v0)
|
|
/* 100F4C 8029793C 03E00008 */ jr $ra
|
|
/* 100F50 80297940 00000000 */ nop
|
|
|
|
/* 100F54 80297944 03E00008 */ jr $ra
|
|
/* 100F58 80297948 00000000 */ nop
|