# Mario Kart 64 (U) disassembly and split file # generated by n64split v0.4a - N64 ROM splitter # assembler directives .set noat # allow manual use of $at .set noreorder # don't insert nops after branches .set gp=64 .include "macros.inc" .section .text, "ax" glabel func_80040030 /* 040C30 80040030 8C980008 */ lw $t8, 8($a0) /* 040C34 80040034 8C99000C */ lw $t9, 0xc($a0) /* 040C38 80040038 20840010 */ addi $a0, $a0, 0x10 /* 040C3C 8004003C 00003025 */ move $a2, $zero /* 040C40 80040040 0305C020 */ add $t8, $t8, $a1 /* 040C44 80040044 0324C820 */ add $t9, $t9, $a0 .L80040048: /* 040C48 80040048 54C00006 */ bnel $a2, $zero, .L80040064 /* 040C4C 8004004C 0100482A */ slt $t1, $t0, $zero /* 040C50 80040050 84880000 */ lh $t0, ($a0) /* 040C54 80040054 24060010 */ li $a2, 16 /* 040C58 80040058 20840002 */ addi $a0, $a0, 2 /* 040C5C 8004005C 00C84004 */ sllv $t0, $t0, $a2 /* 040C60 80040060 0100482A */ slt $t1, $t0, $zero .L80040064: /* 040C64 80040064 51200007 */ beql $t1, $zero, .L80040084 /* 040C68 80040068 948A0000 */ lhu $t2, ($a0) /* 040C6C 8004006C 832A0000 */ lb $t2, ($t9) /* 040C70 80040070 23390001 */ addi $t9, $t9, 1 /* 040C74 80040074 20A50001 */ addi $a1, $a1, 1 /* 040C78 80040078 1000000D */ b .L800400B0 /* 040C7C 8004007C A0AAFFFF */ sb $t2, -1($a1) /* 040C80 80040080 948A0000 */ lhu $t2, ($a0) .L80040084: /* 040C84 80040084 20840002 */ addi $a0, $a0, 2 /* 040C88 80040088 000A5B02 */ srl $t3, $t2, 0xc /* 040C8C 8004008C 314A0FFF */ andi $t2, $t2, 0xfff /* 040C90 80040090 00AA4822 */ sub $t1, $a1, $t2 /* 040C94 80040094 216B0003 */ addi $t3, $t3, 3 .L80040098: /* 040C98 80040098 812AFFFF */ lb $t2, -1($t1) /* 040C9C 8004009C 216BFFFF */ addi $t3, $t3, -1 /* 040CA0 800400A0 21290001 */ addi $t1, $t1, 1 /* 040CA4 800400A4 20A50001 */ addi $a1, $a1, 1 /* 040CA8 800400A8 1560FFFB */ bnez $t3, .L80040098 /* 040CAC 800400AC A0AAFFFF */ sb $t2, -1($a1) .L800400B0: /* 040CB0 800400B0 00B8082A */ slt $at, $a1, $t8 /* 040CB4 800400B4 00084040 */ sll $t0, $t0, 1 /* 040CB8 800400B8 1420FFE3 */ bnez $at, .L80040048 /* 040CBC 800400BC 20C6FFFF */ addi $a2, $a2, -1 /* 040CC0 800400C0 03E00008 */ jr $ra /* 040CC4 800400C4 00000000 */ nop /* 040CC8 800400C8 00000000 */ nop /* 040CCC 800400CC 00000000 */ nop