mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-08-18 22:07:43 -04:00
782ed71f61
Mostly relocating rodata from data/* files to the appropriate asm/nonmatching/* files, although there is some plain data relocating to be found in here too. Big change to note is the addition of the code_802AAA70.c file, split from memory.c. Based on some padding in the ro/data for memory it seems clear that a split is needed, although it is not clear that exact spot chosen for the split is correct. Still, it gets the file padding for the ro/data and text segments correct so it can't be too wrong. Also included is an update to the asm_processor tool to support the .hword directive. I made a PR to the main repo of that project with an identical change and it was accepted. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
276 lines
11 KiB
ArmAsm
276 lines
11 KiB
ArmAsm
.section .late_rodata
|
|
|
|
glabel D_802B9E00
|
|
.float 1859.0
|
|
|
|
glabel D_802B9E04
|
|
.float 1549.0
|
|
|
|
glabel D_802B9E08
|
|
.float -1102.0
|
|
|
|
glabel D_802B9E0C
|
|
.float -1402.0
|
|
|
|
glabel D_802B9E10
|
|
.float 2405.0
|
|
|
|
glabel D_802B9E14
|
|
.float 2233.0
|
|
|
|
glabel D_802B9E18
|
|
.float 0.8
|
|
|
|
glabel D_802B9E1C
|
|
.float -475.0
|
|
|
|
glabel D_802B9E20
|
|
.float -33.9
|
|
|
|
glabel D_802B9E24
|
|
.float -838.0
|
|
|
|
glabel D_802B9E28
|
|
.float -475.0
|
|
|
|
glabel D_802B9E2C
|
|
.float -475.0
|
|
|
|
glabel D_802B9E30
|
|
.float -993.0
|
|
|
|
glabel D_802B9E34
|
|
.float -33.9
|
|
|
|
glabel D_802B9E38
|
|
.float -475.0
|
|
|
|
glabel D_802B9E3C
|
|
.float -33.9
|
|
|
|
glabel D_802B9E40
|
|
.float -475.0
|
|
|
|
glabel D_802B9E44
|
|
.float -33.9
|
|
|
|
.section .text
|
|
|
|
glabel func_802AAB4C
|
|
/* 11415C 802AAB4C 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
|
|
/* 114160 802AAB50 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
|
|
/* 114164 802AAB54 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 114168 802AAB58 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 11416C 802AAB5C 24010002 */ li $at, 2
|
|
/* 114170 802AAB60 00802825 */ move $a1, $a0
|
|
/* 114174 802AAB64 C4800014 */ lwc1 $f0, 0x14($a0)
|
|
/* 114178 802AAB68 1041000A */ beq $v0, $at, .L802AAB94
|
|
/* 11417C 802AAB6C C482001C */ lwc1 $f2, 0x1c($a0)
|
|
/* 114180 802AAB70 24010006 */ li $at, 6
|
|
/* 114184 802AAB74 1041002F */ beq $v0, $at, .L802AAC34
|
|
/* 114188 802AAB78 2401000C */ li $at, 12
|
|
/* 11418C 802AAB7C 10410054 */ beq $v0, $at, .L802AACD0
|
|
/* 114190 802AAB80 24010012 */ li $at, 18
|
|
/* 114194 802AAB84 50410061 */ beql $v0, $at, .L802AAD0C
|
|
/* 114198 802AAB88 94A4011A */ lhu $a0, 0x11a($a1)
|
|
/* 11419C 802AAB8C 100000AA */ b .L802AAE38
|
|
/* 1141A0 802AAB90 3C018016 */ lui $at, %hi(D_8015F8E4)
|
|
.L802AAB94:
|
|
/* 1141A4 802AAB94 3C01802C */ lui $at, %hi(D_802B9E00) # $at, 0x802c
|
|
/* 1141A8 802AAB98 C4249E00 */ lwc1 $f4, %lo(D_802B9E00)($at)
|
|
/* 1141AC 802AAB9C 3C01802C */ lui $at, %hi(D_802B9E04)
|
|
/* 1141B0 802AABA0 4600203C */ c.lt.s $f4, $f0
|
|
/* 1141B4 802AABA4 00000000 */ nop
|
|
/* 1141B8 802AABA8 45000004 */ bc1f .L802AABBC
|
|
/* 1141BC 802AABAC 00000000 */ nop
|
|
/* 1141C0 802AABB0 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
|
|
/* 1141C4 802AABB4 100000A1 */ b .L802AAE3C
|
|
/* 1141C8 802AABB8 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
.L802AABBC:
|
|
/* 1141CC 802AABBC C4269E04 */ lwc1 $f6, %lo(D_802B9E04)($at)
|
|
/* 1141D0 802AABC0 3C01802C */ lui $at, %hi(D_802B9E08)
|
|
/* 1141D4 802AABC4 4606003C */ c.lt.s $f0, $f6
|
|
/* 1141D8 802AABC8 00000000 */ nop
|
|
/* 1141DC 802AABCC 45000004 */ bc1f .L802AABE0
|
|
/* 1141E0 802AABD0 00000000 */ nop
|
|
/* 1141E4 802AABD4 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
|
|
/* 1141E8 802AABD8 10000098 */ b .L802AAE3C
|
|
/* 1141EC 802AABDC C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
.L802AABE0:
|
|
/* 1141F0 802AABE0 C4289E08 */ lwc1 $f8, %lo(D_802B9E08)($at)
|
|
/* 1141F4 802AABE4 3C01802C */ lui $at, %hi(D_802B9E0C)
|
|
/* 1141F8 802AABE8 4602403C */ c.lt.s $f8, $f2
|
|
/* 1141FC 802AABEC 00000000 */ nop
|
|
/* 114200 802AABF0 45000004 */ bc1f .L802AAC04
|
|
/* 114204 802AABF4 00000000 */ nop
|
|
/* 114208 802AABF8 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
|
|
/* 11420C 802AABFC 1000008F */ b .L802AAE3C
|
|
/* 114210 802AAC00 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
.L802AAC04:
|
|
/* 114214 802AAC04 C42A9E0C */ lwc1 $f10, %lo(D_802B9E0C)($at)
|
|
/* 114218 802AAC08 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
|
/* 11421C 802AAC0C 460A103C */ c.lt.s $f2, $f10
|
|
/* 114220 802AAC10 00000000 */ nop
|
|
/* 114224 802AAC14 45020005 */ bc1fl .L802AAC2C
|
|
/* 114228 802AAC18 44810000 */ mtc1 $at, $f0
|
|
/* 11422C 802AAC1C 3C018016 */ lui $at, %hi(D_8015F8E4)
|
|
/* 114230 802AAC20 10000086 */ b .L802AAE3C
|
|
/* 114234 802AAC24 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
/* 114238 802AAC28 44810000 */ mtc1 $at, $f0
|
|
.L802AAC2C:
|
|
/* 11423C 802AAC2C 10000084 */ b .L802AAE40
|
|
/* 114240 802AAC30 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L802AAC34:
|
|
/* 114244 802AAC34 3C01436F */ li $at, 0x436F0000 # 239.000000
|
|
/* 114248 802AAC38 44818000 */ mtc1 $at, $f16
|
|
/* 11424C 802AAC3C 3C014286 */ li $at, 0x42860000 # 67.000000
|
|
/* 114250 802AAC40 4600803C */ c.lt.s $f16, $f0
|
|
/* 114254 802AAC44 00000000 */ nop
|
|
/* 114258 802AAC48 45020005 */ bc1fl .L802AAC60
|
|
/* 11425C 802AAC4C 44819000 */ mtc1 $at, $f18
|
|
/* 114260 802AAC50 3C018016 */ lui $at, %hi(D_8015F8E4)
|
|
/* 114264 802AAC54 10000079 */ b .L802AAE3C
|
|
/* 114268 802AAC58 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
/* 11426C 802AAC5C 44819000 */ mtc1 $at, $f18
|
|
.L802AAC60:
|
|
/* 114270 802AAC60 3C01802C */ lui $at, %hi(D_802B9E10)
|
|
/* 114274 802AAC64 4612003C */ c.lt.s $f0, $f18
|
|
/* 114278 802AAC68 00000000 */ nop
|
|
/* 11427C 802AAC6C 45000004 */ bc1f .L802AAC80
|
|
/* 114280 802AAC70 00000000 */ nop
|
|
/* 114284 802AAC74 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
|
|
/* 114288 802AAC78 10000070 */ b .L802AAE3C
|
|
/* 11428C 802AAC7C C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
.L802AAC80:
|
|
/* 114290 802AAC80 C4249E10 */ lwc1 $f4, %lo(D_802B9E10)($at)
|
|
/* 114294 802AAC84 3C01802C */ lui $at, %hi(D_802B9E14)
|
|
/* 114298 802AAC88 4602203C */ c.lt.s $f4, $f2
|
|
/* 11429C 802AAC8C 00000000 */ nop
|
|
/* 1142A0 802AAC90 45000004 */ bc1f .L802AACA4
|
|
/* 1142A4 802AAC94 00000000 */ nop
|
|
/* 1142A8 802AAC98 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
|
|
/* 1142AC 802AAC9C 10000067 */ b .L802AAE3C
|
|
/* 1142B0 802AACA0 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
.L802AACA4:
|
|
/* 1142B4 802AACA4 C4269E14 */ lwc1 $f6, %lo(D_802B9E14)($at)
|
|
/* 1142B8 802AACA8 3C01802C */ lui $at, %hi(D_802B9E18)
|
|
/* 1142BC 802AACAC 4606103C */ c.lt.s $f2, $f6
|
|
/* 1142C0 802AACB0 00000000 */ nop
|
|
/* 1142C4 802AACB4 45000004 */ bc1f .L802AACC8
|
|
/* 1142C8 802AACB8 00000000 */ nop
|
|
/* 1142CC 802AACBC 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
|
|
/* 1142D0 802AACC0 1000005E */ b .L802AAE3C
|
|
/* 1142D4 802AACC4 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
.L802AACC8:
|
|
/* 1142D8 802AACC8 1000005C */ b .L802AAE3C
|
|
/* 1142DC 802AACCC C4209E18 */ lwc1 $f0, %lo(D_802B9E18)($at)
|
|
.L802AACD0:
|
|
/* 1142E0 802AACD0 0C0AAF44 */ jal func_802ABD10
|
|
/* 1142E4 802AACD4 94A4011A */ lhu $a0, 0x11a($a1)
|
|
/* 1142E8 802AACD8 304E00FF */ andi $t6, $v0, 0xff
|
|
/* 1142EC 802AACDC 24010005 */ li $at, 5
|
|
/* 1142F0 802AACE0 15C10006 */ bne $t6, $at, .L802AACFC
|
|
/* 1142F4 802AACE4 3C0F8016 */ lui $t7, %hi(D_8015F6EE) # $t7, 0x8016
|
|
/* 1142F8 802AACE8 85EFF6EE */ lh $t7, %lo(D_8015F6EE)($t7)
|
|
/* 1142FC 802AACEC 25F8FFF6 */ addiu $t8, $t7, -0xa
|
|
/* 114300 802AACF0 44984000 */ mtc1 $t8, $f8
|
|
/* 114304 802AACF4 10000051 */ b .L802AAE3C
|
|
/* 114308 802AACF8 46804020 */ cvt.s.w $f0, $f8
|
|
.L802AACFC:
|
|
/* 11430C 802AACFC 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
|
|
/* 114310 802AAD00 1000004E */ b .L802AAE3C
|
|
/* 114314 802AAD04 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
/* 114318 802AAD08 94A4011A */ lhu $a0, 0x11a($a1)
|
|
.L802AAD0C:
|
|
/* 11431C 802AAD0C E7A20018 */ swc1 $f2, 0x18($sp)
|
|
/* 114320 802AAD10 E7A0001C */ swc1 $f0, 0x1c($sp)
|
|
/* 114324 802AAD14 0C0AAF50 */ jal func_802ABD40
|
|
/* 114328 802AAD18 AFA50020 */ sw $a1, 0x20($sp)
|
|
/* 11432C 802AAD1C 304300FF */ andi $v1, $v0, 0xff
|
|
/* 114330 802AAD20 240100FF */ li $at, 255
|
|
/* 114334 802AAD24 8FA50020 */ lw $a1, 0x20($sp)
|
|
/* 114338 802AAD28 C7A0001C */ lwc1 $f0, 0x1c($sp)
|
|
/* 11433C 802AAD2C 1461003A */ bne $v1, $at, .L802AAE18
|
|
/* 114340 802AAD30 C7A20018 */ lwc1 $f2, 0x18($sp)
|
|
/* 114344 802AAD34 94A4011A */ lhu $a0, 0x11a($a1)
|
|
/* 114348 802AAD38 E7A20018 */ swc1 $f2, 0x18($sp)
|
|
/* 11434C 802AAD3C 0C0AAF44 */ jal func_802ABD10
|
|
/* 114350 802AAD40 E7A0001C */ swc1 $f0, 0x1c($sp)
|
|
/* 114354 802AAD44 305900FF */ andi $t9, $v0, 0xff
|
|
/* 114358 802AAD48 2401000F */ li $at, 15
|
|
/* 11435C 802AAD4C C7A0001C */ lwc1 $f0, 0x1c($sp)
|
|
/* 114360 802AAD50 17210004 */ bne $t9, $at, .L802AAD64
|
|
/* 114364 802AAD54 C7A20018 */ lwc1 $f2, 0x18($sp)
|
|
/* 114368 802AAD58 3C01802C */ lui $at, %hi(D_802B9E1C) # $at, 0x802c
|
|
/* 11436C 802AAD5C 10000037 */ b .L802AAE3C
|
|
/* 114370 802AAD60 C4209E1C */ lwc1 $f0, %lo(D_802B9E1C)($at)
|
|
.L802AAD64:
|
|
/* 114374 802AAD64 3C01C3EF */ li $at, 0xC3EF0000 # -478.000000
|
|
/* 114378 802AAD68 44815000 */ mtc1 $at, $f10
|
|
/* 11437C 802AAD6C 3C01802C */ lui $at, %hi(D_802B9E24)
|
|
/* 114380 802AAD70 4600503C */ c.lt.s $f10, $f0
|
|
/* 114384 802AAD74 00000000 */ nop
|
|
/* 114388 802AAD78 45000004 */ bc1f .L802AAD8C
|
|
/* 11438C 802AAD7C 00000000 */ nop
|
|
/* 114390 802AAD80 3C01802C */ lui $at, %hi(D_802B9E20) # $at, 0x802c
|
|
/* 114394 802AAD84 1000002D */ b .L802AAE3C
|
|
/* 114398 802AAD88 C4209E20 */ lwc1 $f0, %lo(D_802B9E20)($at)
|
|
.L802AAD8C:
|
|
/* 11439C 802AAD8C C4309E24 */ lwc1 $f16, %lo(D_802B9E24)($at)
|
|
/* 1143A0 802AAD90 3C01C3DA */ li $at, 0xC3DA0000 # -436.000000
|
|
/* 1143A4 802AAD94 4610003C */ c.lt.s $f0, $f16
|
|
/* 1143A8 802AAD98 00000000 */ nop
|
|
/* 1143AC 802AAD9C 45020005 */ bc1fl .L802AADB4
|
|
/* 1143B0 802AADA0 44819000 */ mtc1 $at, $f18
|
|
/* 1143B4 802AADA4 3C01802C */ lui $at, %hi(D_802B9E28)
|
|
/* 1143B8 802AADA8 10000024 */ b .L802AAE3C
|
|
/* 1143BC 802AADAC C4209E28 */ lwc1 $f0, %lo(D_802B9E28)($at)
|
|
/* 1143C0 802AADB0 44819000 */ mtc1 $at, $f18
|
|
.L802AADB4:
|
|
/* 1143C4 802AADB4 3C01802C */ lui $at, %hi(D_802B9E30)
|
|
/* 1143C8 802AADB8 4602903C */ c.lt.s $f18, $f2
|
|
/* 1143CC 802AADBC 00000000 */ nop
|
|
/* 1143D0 802AADC0 45000004 */ bc1f .L802AADD4
|
|
/* 1143D4 802AADC4 00000000 */ nop
|
|
/* 1143D8 802AADC8 3C01802C */ lui $at, %hi(D_802B9E2C) # $at, 0x802c
|
|
/* 1143DC 802AADCC 1000001B */ b .L802AAE3C
|
|
/* 1143E0 802AADD0 C4209E2C */ lwc1 $f0, %lo(D_802B9E2C)($at)
|
|
.L802AADD4:
|
|
/* 1143E4 802AADD4 C4249E30 */ lwc1 $f4, %lo(D_802B9E30)($at)
|
|
/* 1143E8 802AADD8 3C01802C */ lui $at, %hi(D_802B9E34) # $at, 0x802c
|
|
/* 1143EC 802AADDC 4604103C */ c.lt.s $f2, $f4
|
|
/* 1143F0 802AADE0 00000000 */ nop
|
|
/* 1143F4 802AADE4 45020004 */ bc1fl .L802AADF8
|
|
/* 1143F8 802AADE8 4600103C */ c.lt.s $f2, $f0
|
|
/* 1143FC 802AADEC 10000013 */ b .L802AAE3C
|
|
/* 114400 802AADF0 C4209E34 */ lwc1 $f0, %lo(D_802B9E34)($at)
|
|
/* 114404 802AADF4 4600103C */ c.lt.s $f2, $f0
|
|
.L802AADF8:
|
|
/* 114408 802AADF8 3C01802C */ lui $at, %hi(D_802B9E3C)
|
|
/* 11440C 802AADFC 45000004 */ bc1f .L802AAE10
|
|
/* 114410 802AAE00 00000000 */ nop
|
|
/* 114414 802AAE04 3C01802C */ lui $at, %hi(D_802B9E38) # $at, 0x802c
|
|
/* 114418 802AAE08 1000000C */ b .L802AAE3C
|
|
/* 11441C 802AAE0C C4209E38 */ lwc1 $f0, %lo(D_802B9E38)($at)
|
|
.L802AAE10:
|
|
/* 114420 802AAE10 1000000A */ b .L802AAE3C
|
|
/* 114424 802AAE14 C4209E3C */ lwc1 $f0, %lo(D_802B9E3C)($at)
|
|
.L802AAE18:
|
|
/* 114428 802AAE18 28610014 */ slti $at, $v1, 0x14
|
|
/* 11442C 802AAE1C 14200003 */ bnez $at, .L802AAE2C
|
|
/* 114430 802AAE20 3C01802C */ lui $at, %hi(D_802B9E40) # $at, 0x802c
|
|
/* 114434 802AAE24 10000005 */ b .L802AAE3C
|
|
/* 114438 802AAE28 C4209E40 */ lwc1 $f0, %lo(D_802B9E40)($at)
|
|
.L802AAE2C:
|
|
/* 11443C 802AAE2C 3C01802C */ lui $at, %hi(D_802B9E44) # $at, 0x802c
|
|
/* 114440 802AAE30 10000002 */ b .L802AAE3C
|
|
/* 114444 802AAE34 C4209E44 */ lwc1 $f0, %lo(D_802B9E44)($at)
|
|
.L802AAE38:
|
|
/* 114448 802AAE38 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
|
|
.L802AAE3C:
|
|
/* 11444C 802AAE3C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L802AAE40:
|
|
/* 114450 802AAE40 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 114454 802AAE44 03E00008 */ jr $ra
|
|
/* 114458 802AAE48 00000000 */ nop
|