mirror of https://github.com/n64decomp/mk64.git
98 lines
5.1 KiB
ArmAsm
98 lines
5.1 KiB
ArmAsm
# 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"
|
|
|
|
/* 041900 80040D00 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 041904 80040D04 44811000 */ mtc1 $at, $f2
|
|
/* 041908 80040D08 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
|
/* 04190C 80040D0C 3C01800E */ lui $at, %hi(D_800E43A8) # $at, 0x800e
|
|
/* 041910 80040D10 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
|
|
/* 041914 80040D14 A42043A8 */ sh $zero, %lo(D_800E43A8)($at)
|
|
/* 041918 80040D18 8C620000 */ lw $v0, ($v1)
|
|
/* 04191C 80040D1C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 041920 80040D20 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 041924 80040D24 244E0008 */ addiu $t6, $v0, 8
|
|
/* 041928 80040D28 AC6E0000 */ sw $t6, ($v1)
|
|
/* 04192C 80040D2C 3C0FFCFF */ lui $t7, (0xFCFFFFFF >> 16) # lui $t7, 0xfcff
|
|
/* 041930 80040D30 3C18FFFE */ lui $t8, (0xFFFE793C >> 16) # lui $t8, 0xfffe
|
|
/* 041934 80040D34 3718793C */ ori $t8, (0xFFFE793C & 0xFFFF) # ori $t8, $t8, 0x793c
|
|
/* 041938 80040D38 35EFFFFF */ ori $t7, (0xFCFFFFFF & 0xFFFF) # ori $t7, $t7, 0xffff
|
|
/* 04193C 80040D3C AC4F0000 */ sw $t7, ($v0)
|
|
/* 041940 80040D40 AC580004 */ sw $t8, 4($v0)
|
|
/* 041944 80040D44 8C620000 */ lw $v0, ($v1)
|
|
/* 041948 80040D48 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900
|
|
/* 04194C 80040D4C 3C0C0055 */ lui $t4, (0x00552078 >> 16) # lui $t4, 0x55
|
|
/* 041950 80040D50 24590008 */ addiu $t9, $v0, 8
|
|
/* 041954 80040D54 AC790000 */ sw $t9, ($v1)
|
|
/* 041958 80040D58 358C2078 */ ori $t4, (0x00552078 & 0xFFFF) # ori $t4, $t4, 0x2078
|
|
/* 04195C 80040D5C 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d
|
|
/* 041960 80040D60 AC4B0000 */ sw $t3, ($v0)
|
|
/* 041964 80040D64 AC4C0004 */ sw $t4, 4($v0)
|
|
/* 041968 80040D68 8C620000 */ lw $v0, ($v1)
|
|
/* 04196C 80040D6C 44800000 */ mtc1 $zero, $f0
|
|
/* 041970 80040D70 3C0F0002 */ lui $t7, 2
|
|
/* 041974 80040D74 244D0008 */ addiu $t5, $v0, 8
|
|
/* 041978 80040D78 AC6D0000 */ sw $t5, ($v1)
|
|
/* 04197C 80040D7C 3C0EB600 */ lui $t6, 0xb600
|
|
/* 041980 80040D80 3C014370 */ li $at, 0x43700000 # 240.000000
|
|
/* 041984 80040D84 44812000 */ mtc1 $at, $f4
|
|
/* 041988 80040D88 AC4E0000 */ sw $t6, ($v0)
|
|
/* 04198C 80040D8C AC4F0004 */ sw $t7, 4($v0)
|
|
/* 041990 80040D90 3C01BF80 */ li $at, 0xBF800000 # -1.000000
|
|
/* 041994 80040D94 44813000 */ mtc1 $at, $f6
|
|
/* 041998 80040D98 3C048015 */ lui $a0, %hi(gGfxPool) # $a0, 0x8015
|
|
/* 04199C 80040D9C 44050000 */ mfc1 $a1, $f0
|
|
/* 0419A0 80040DA0 44070000 */ mfc1 $a3, $f0
|
|
/* 0419A4 80040DA4 8C84EF40 */ lw $a0, %lo(gGfxPool)($a0)
|
|
/* 0419A8 80040DA8 3C0643A0 */ li $a2, 0x43A00000 # 320.000000
|
|
/* 0419AC 80040DAC E7A2001C */ swc1 $f2, 0x1c($sp)
|
|
/* 0419B0 80040DB0 E7A20018 */ swc1 $f2, 0x18($sp)
|
|
/* 0419B4 80040DB4 E7A40010 */ swc1 $f4, 0x10($sp)
|
|
/* 0419B8 80040DB8 0C0338A9 */ jal guFrustum
|
|
/* 0419BC 80040DBC E7A60014 */ swc1 $f6, 0x14($sp)
|
|
/* 0419C0 80040DC0 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
|
/* 0419C4 80040DC4 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
|
|
/* 0419C8 80040DC8 8C620000 */ lw $v0, ($v1)
|
|
/* 0419CC 80040DCC 3C19B400 */ lui $t9, 0xb400
|
|
/* 0419D0 80040DD0 340BFFFF */ li $t3, 65535
|
|
/* 0419D4 80040DD4 24580008 */ addiu $t8, $v0, 8
|
|
/* 0419D8 80040DD8 AC780000 */ sw $t8, ($v1)
|
|
/* 0419DC 80040DDC AC4B0004 */ sw $t3, 4($v0)
|
|
/* 0419E0 80040DE0 AC590000 */ sw $t9, ($v0)
|
|
/* 0419E4 80040DE4 8C620000 */ lw $v0, ($v1)
|
|
/* 0419E8 80040DE8 3C0D0103 */ lui $t5, (0x01030040 >> 16) # lui $t5, 0x103
|
|
/* 0419EC 80040DEC 35AD0040 */ ori $t5, (0x01030040 & 0xFFFF) # ori $t5, $t5, 0x40
|
|
/* 0419F0 80040DF0 244C0008 */ addiu $t4, $v0, 8
|
|
/* 0419F4 80040DF4 AC6C0000 */ sw $t4, ($v1)
|
|
/* 0419F8 80040DF8 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015
|
|
/* 0419FC 80040DFC AC4D0000 */ sw $t5, ($v0)
|
|
/* 041A00 80040E00 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6)
|
|
/* 041A04 80040E04 3C071FFF */ lui $a3, (0x1FFFFFFF >> 16) # lui $a3, 0x1fff
|
|
/* 041A08 80040E08 34E7FFFF */ ori $a3, (0x1FFFFFFF & 0xFFFF) # ori $a3, $a3, 0xffff
|
|
/* 041A0C 80040E0C 01C77824 */ and $t7, $t6, $a3
|
|
/* 041A10 80040E10 AC4F0004 */ sw $t7, 4($v0)
|
|
/* 041A14 80040E14 8C620000 */ lw $v0, ($v1)
|
|
/* 041A18 80040E18 3C0B0D01 */ lui $t3, %hi(D_0D008E98) # $t3, 0xd01
|
|
/* 041A1C 80040E1C 256B8E98 */ addiu $t3, %lo(D_0D008E98) # addiu $t3, $t3, -0x7168
|
|
/* 041A20 80040E20 24580008 */ addiu $t8, $v0, 8
|
|
/* 041A24 80040E24 AC780000 */ sw $t8, ($v1)
|
|
/* 041A28 80040E28 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102
|
|
/* 041A2C 80040E2C 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40
|
|
/* 041A30 80040E30 01676024 */ and $t4, $t3, $a3
|
|
/* 041A34 80040E34 AC4C0004 */ sw $t4, 4($v0)
|
|
/* 041A38 80040E38 AC590000 */ sw $t9, ($v0)
|
|
/* 041A3C 80040E3C 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 041A40 80040E40 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 041A44 80040E44 03E00008 */ jr $ra
|
|
/* 041A48 80040E48 00000000 */ nop
|
|
|
|
/* 041A4C 80040E4C 00000000 */ nop
|