Splat upgrade (#705)

* Upgrade to splat 0.35.1 and spimdisasm 1.36.0

* Upgrade to splat 0.35.2 and spimdisasm 1.36.1 and do the submodule updates required for that as well.
This commit is contained in:
Ryan Myers
2025-09-09 11:31:59 -04:00
committed by GitHub
parent 1d089fad9f
commit aacc45612e
16 changed files with 278 additions and 184 deletions
+119 -35
View File
@@ -1,52 +1,136 @@
# common macros
# This file is used by modern gas.
# Defines the expected assembly macros
# Assembly Macros
# Evaluate this file only once in case it's included more than once
.ifndef _MACRO_INC_GUARD
.internal _MACRO_INC_GUARD
.set _MACRO_INC_GUARD, 1
.set K0BASE, 0x80000000
.set K1BASE, 0xA0000000
.set K2BASE, 0xC0000000
.macro glabel label
.global \label
# A function symbol.
.macro glabel label, visibility=global
.\visibility \label
.type \label, @function
\label:
.ent \label
.endm
# The end of a function symbol.
.macro endlabel label
.size \label, . - \label
.end \label
.endm
# An alternative entry to a function.
.macro alabel label, visibility=global
.\visibility \label
.type \label, @function
\label:
.aent \label
.endm
# A label referenced by an error handler table.
.macro ehlabel label, visibility=global
.\visibility \label
\label:
.endm
.macro dlabel label
.global \label
# A label referenced by a jumptable.
.macro jlabel label, visibility=global
.\visibility \label
\label:
.endm
# A data symbol.
.macro dlabel label, visibility=global
.\visibility \label
.type \label, @object
\label:
.endm
.macro jlabel label
.global \label
\label:
# End of a data symbol.
.macro enddlabel label
.size \label, . - \label
.endm
.macro .word32 x
.word \x
# Label to signal the symbol haven't been matched yet.
.macro nonmatching label, size=1
.global \label\().NON_MATCHING
.type \label\().NON_MATCHING, @object
.size \label\().NON_MATCHING, \size
\label\().NON_MATCHING:
.endm
.macro BANK_INDEX bank, index
.half \bank
.half \index
.endm
# COP0 register aliases
.macro move a, b
addu \a, \b, $zero
.endm
.set Index, $0
.set Random, $1
.set EntryLo0, $2
.set EntryLo1, $3
.set Context, $4
.set PageMask, $5
.set Wired, $6
.set Reserved07, $7
.set BadVaddr, $8
.set Count, $9
.set EntryHi, $10
.set Compare, $11
.set Status, $12
.set Cause, $13
.set EPC, $14
.set PRevID, $15
.set Config, $16
.set LLAddr, $17
.set WatchLo, $18
.set WatchHi, $19
.set XContext, $20
.set Reserved21, $21
.set Reserved22, $22
.set Reserved23, $23
.set Reserved24, $24
.set Reserved25, $25
.set PErr, $26
.set CacheErr, $27
.set TagLo, $28
.set TagHi, $29
.set ErrorEPC, $30
.set Reserved31, $31
.macro leaf label
.global \label
.type \label, @function
\label:
.ent \label
.endm
# Float register aliases
# Used for alternative entries for Sin functions
.macro altleaf label
.global \label
.type \label, @function
\label:
.aent \label
.endm
.set $fv0, $f0
.set $fv0f, $f1
.set $fv1, $f2
.set $fv1f, $f3
.set $ft0, $f4
.set $ft0f, $f5
.set $ft1, $f6
.set $ft1f, $f7
.set $ft2, $f8
.set $ft2f, $f9
.set $ft3, $f10
.set $ft3f, $f11
.set $fa0, $f12
.set $fa0f, $f13
.set $fa1, $f14
.set $fa1f, $f15
.set $ft4, $f16
.set $ft4f, $f17
.set $ft5, $f18
.set $ft5f, $f19
.set $fs0, $f20
.set $fs0f, $f21
.set $fs1, $f22
.set $fs1f, $f23
.set $fs2, $f24
.set $fs2f, $f25
.set $fs3, $f26
.set $fs3f, $f27
.set $fs4, $f28
.set $fs4f, $f29
.set $fs5, $f30
.set $fs5f, $f31
.endif
+2 -2
View File
@@ -1,5 +1,5 @@
splat64[mips]==0.34.1
spimdisasm==1.35.0
splat64[mips]==0.35.2
spimdisasm==1.36.1
pycparser>=2.22
colorama>=0.4.6
watchdog>=6.0.0
+6 -6
View File
@@ -22,7 +22,7 @@ dlabel D_800E5F70
/* Generated by spimdisasm 1.30.2 */
leaf generate_collision_candidates
glabel generate_collision_candidates
/* 31D30 80031130 27BDFF90 */ addiu $sp, $sp, -0x70
/* 31D34 80031134 3C080001 */ lui $t0, (0x186A0 >> 16)
/* 31D38 80031138 3C09FFFE */ lui $t1, (0xFFFE7960 >> 16)
@@ -286,9 +286,9 @@ leaf generate_collision_candidates
/* 320D0 800314D0 00001025 */ or $v0, $zero, $zero
/* 320D4 800314D4 03E00008 */ jr $ra
/* 320D8 800314D8 27BD0070 */ addiu $sp, $sp, 0x70
.end generate_collision_candidates
endlabel generate_collision_candidates
leaf compute_grid_overlap_mask
glabel compute_grid_overlap_mask
/* 320DC 800314DC 10800046 */ beqz $a0, .L800315F8
/* 320E0 800314E0 00001025 */ or $v0, $zero, $zero
/* 320E4 800314E4 84880000 */ lh $t0, 0x0($a0)
@@ -377,9 +377,9 @@ leaf compute_grid_overlap_mask
.L800315F8:
/* 321F8 800315F8 03E00008 */ jr $ra
/* 321FC 800315FC 00000000 */ nop
.end compute_grid_overlap_mask
endlabel compute_grid_overlap_mask
leaf resolve_collisions
glabel resolve_collisions
/* 32200 80031600 24080001 */ addiu $t0, $zero, 0x1
/* 32204 80031604 A3A80001 */ sb $t0, 0x1($sp)
/* 32208 80031608 3C088012 */ lui $t0, %hi(gNumCollisionCandidates)
@@ -750,4 +750,4 @@ leaf resolve_collisions
.L80031B4C:
/* 3274C 80031B4C 03E00008 */ jr $ra
/* 32750 80031B50 83A20000 */ lb $v0, 0x0($sp)
.end resolve_collisions
endlabel resolve_collisions
+2 -2
View File
@@ -14,7 +14,7 @@ dlabel entrypointThreadStack
.section .text, "ax"
leaf entrypoint
glabel entrypoint
lui $t0, %hi(__BSS_SECTION_START)
lui $t1, %hi(__BSS_SECTION_SIZE)
addiu $t0, $t0, %lo(__BSS_SECTION_START)
@@ -36,4 +36,4 @@ nop
nop
nop
nop
.end entrypoint
endlabel entrypoint
+10 -10
View File
@@ -29,7 +29,7 @@ dlabel gzip_mask_bits
/* Generated by spimdisasm 1.30.0 */
leaf gzip_inflate_block
glabel gzip_inflate_block
/* C74C0 800C68C0 3C0B8013 */ lui $t3, %hi(gzip_num_bits)
/* C74C4 800C68C4 8D6BAAD4 */ lw $t3, %lo(gzip_num_bits)($t3)
/* C74C8 800C68C8 3C018013 */ lui $at, %hi(gHuftTablePos)
@@ -102,9 +102,9 @@ leaf gzip_inflate_block
/* C75B8 800C69B8 8FB00018 */ lw $s0, 0x18($sp)
/* C75BC 800C69BC 03E00008 */ jr $ra
/* C75C0 800C69C0 27BD0020 */ addiu $sp, $sp, 0x20
.end gzip_inflate_block
endlabel gzip_inflate_block
leaf gzip_inflate_dynamic
glabel gzip_inflate_dynamic
/* C75C4 800C69C4 27BDFAC0 */ addiu $sp, $sp, -0x540
/* C75C8 800C69C8 AFB30028 */ sw $s3, 0x28($sp)
/* C75CC 800C69CC 3C138013 */ lui $s3, %hi(gzip_num_bits)
@@ -394,9 +394,9 @@ leaf gzip_inflate_dynamic
/* C79D0 800C6DD0 8FB0001C */ lw $s0, 0x1C($sp)
/* C79D4 800C6DD4 03E00008 */ jr $ra
/* C79D8 800C6DD8 27BD0540 */ addiu $sp, $sp, 0x540
.end gzip_inflate_dynamic
endlabel gzip_inflate_dynamic
leaf gzip_inflate_fixed
glabel gzip_inflate_fixed
/* C79DC 800C6DDC 27BDFAD0 */ addiu $sp, $sp, -0x530
/* C79E0 800C6DE0 AFBF001C */ sw $ra, 0x1C($sp)
/* C79E4 800C6DE4 23AB0044 */ addi $t3, $sp, 0x44 /* handwritten instruction */
@@ -487,9 +487,9 @@ leaf gzip_inflate_fixed
/* C7B28 800C6F28 27BD0530 */ addiu $sp, $sp, 0x530
/* C7B2C 800C6F2C 03E00008 */ jr $ra
/* C7B30 800C6F30 00000000 */ nop
.end gzip_inflate_fixed
endlabel gzip_inflate_fixed
leaf gzip_inflate_stored
glabel gzip_inflate_stored
/* C7B34 800C6F34 3C0D8013 */ lui $t5, %hi(gzip_num_bits)
/* C7B38 800C6F38 8DADAAD4 */ lw $t5, %lo(gzip_num_bits)($t5)
/* C7B3C 800C6F3C 3C0C8013 */ lui $t4, %hi(gzip_bit_buffer)
@@ -564,9 +564,9 @@ leaf gzip_inflate_stored
/* C7C34 800C7034 3C018013 */ lui $at, %hi(gzip_num_bits)
/* C7C38 800C7038 03E00008 */ jr $ra
/* C7C3C 800C703C AC2DAAD4 */ sw $t5, %lo(gzip_num_bits)($at)
.end gzip_inflate_stored
endlabel gzip_inflate_stored
leaf gzip_inflate_codes
glabel gzip_inflate_codes
/* C7C40 800C7040 27BDFFF0 */ addiu $sp, $sp, -0x10
/* C7C44 800C7044 3C0B800F */ lui $t3, %hi(gzip_mask_bits)
/* C7C48 800C7048 AFB20008 */ sw $s2, 0x8($sp)
@@ -778,4 +778,4 @@ leaf gzip_inflate_codes
/* C7F28 800C7328 8FB00000 */ lw $s0, 0x0($sp)
/* C7F2C 800C732C 03E00008 */ jr $ra
/* C7F30 800C7330 27BD0010 */ addiu $sp, $sp, 0x10
.end gzip_inflate_codes
endlabel gzip_inflate_codes
+24 -24
View File
@@ -25,7 +25,7 @@ dlabel D_800E9558
/* TODO: Is there a non-insane way to fix this hack that doesn't involve the user compiling */
/* a library themselves? */
leaf __umoddi3
glabel __umoddi3
sw $a0, ($sp)
sw $a1, 4($sp)
sw $a2, 8($sp)
@@ -42,9 +42,9 @@ leaf __umoddi3
dsra32 $v1, $v1, 0
jr $ra
dsra32 $v0, $v0, 0
.end __umoddi3
endlabel __umoddi3
leaf __udivdi3
glabel __udivdi3
sw $a0, ($sp)
sw $a1, 4($sp)
sw $a2, 8($sp)
@@ -61,9 +61,9 @@ leaf __udivdi3
dsra32 $v1, $v1, 0
jr $ra
dsra32 $v0, $v0, 0
.end __udivdi3
endlabel __udivdi3
leaf __moddi3
glabel __moddi3
sw $a0, ($sp)
sw $a1, 4($sp)
sw $a2, 8($sp)
@@ -80,9 +80,9 @@ leaf __moddi3
dsra32 $v1, $v1, 0
jr $ra
dsra32 $v0, $v0, 0
.end __moddi3
endlabel __moddi3
leaf __divdi3
glabel __divdi3
sw $a0, ($sp)
sw $a1, 4($sp)
sw $a2, 8($sp)
@@ -108,9 +108,9 @@ leaf __divdi3
dsra32 $v1, $v1, 0
jr $ra
dsra32 $v0, $v0, 0
.end __divdi3
endlabel __divdi3
leaf __d_to_ll
glabel __d_to_ll
/* 0CA730 800C9B30 46206109 */ trunc.l.d $f4, $f12
/* 0CA734 800C9B34 44222000 */ dmfc1 $v0, $f4
/* 0CA738 800C9B38 00000000 */ nop
@@ -118,9 +118,9 @@ leaf __d_to_ll
/* 0CA740 800C9B40 0003183F */ dsra32 $v1, $v1, 0
/* 0CA744 800C9B44 03E00008 */ jr $ra
/* 0CA748 800C9B48 0002103F */ dsra32 $v0, $v0, 0
.end __d_to_ll
endlabel __d_to_ll
leaf __f_to_ll
glabel __f_to_ll
/* 0CA74C 800C9B4C 46006109 */ trunc.l.s $f4, $f12
/* 0CA750 800C9B50 44222000 */ dmfc1 $v0, $f4
/* 0CA754 800C9B54 00000000 */ nop
@@ -128,9 +128,9 @@ leaf __f_to_ll
/* 0CA75C 800C9B5C 0003183F */ dsra32 $v1, $v1, 0
/* 0CA760 800C9B60 03E00008 */ jr $ra
/* 0CA764 800C9B64 0002103F */ dsra32 $v0, $v0, 0
.end __f_to_ll
endlabel __f_to_ll
leaf __d_to_ull
glabel __d_to_ull
/* 0CA768 800C9B68 444EF800 */ cfc1 $t6, $31
/* 0CA76C 800C9B6C 24020001 */ li $v0, 1
/* 0CA770 800C9B70 44C2F800 */ ctc1 $v0, $31
@@ -174,9 +174,9 @@ leaf __d_to_ull
/* 0CA7FC 800C9BFC 0003183F */ dsra32 $v1, $v1, 0
/* 0CA800 800C9C00 03E00008 */ jr $ra
/* 0CA804 800C9C04 0002103F */ dsra32 $v0, $v0, 0
.end __d_to_ull
endlabel __d_to_ull
leaf __f_to_ull
glabel __f_to_ull
/* 0CA808 800C9C08 444EF800 */ cfc1 $t6, $31
/* 0CA80C 800C9C0C 24020001 */ li $v0, 1
/* 0CA810 800C9C10 44C2F800 */ ctc1 $v0, $31
@@ -219,27 +219,27 @@ leaf __f_to_ull
/* 0CA898 800C9C98 0003183F */ dsra32 $v1, $v1, 0
/* 0CA89C 800C9C9C 03E00008 */ jr $ra
/* 0CA8A0 800C9CA0 0002103F */ dsra32 $v0, $v0, 0
.end __f_to_ull
endlabel __f_to_ull
leaf __ll_to_d
glabel __ll_to_d
/* 0CA8A4 800C9CA4 AFA40000 */ sw $a0, ($sp)
/* 0CA8A8 800C9CA8 AFA50004 */ sw $a1, 4($sp)
/* 0CA8AC 800C9CAC DFAE0000 */ ld $t6, ($sp)
/* 0CA8B0 800C9CB0 44AE2000 */ dmtc1 $t6, $f4
/* 0CA8B4 800C9CB4 03E00008 */ jr $ra
/* 0CA8B8 800C9CB8 46A02021 */ cvt.d.l $f0, $f4
.end __ll_to_d
endlabel __ll_to_d
leaf __ll_to_f
glabel __ll_to_f
/* 0CA8BC 800C9CBC AFA40000 */ sw $a0, ($sp)
/* 0CA8C0 800C9CC0 AFA50004 */ sw $a1, 4($sp)
/* 0CA8C4 800C9CC4 DFAE0000 */ ld $t6, ($sp)
/* 0CA8C8 800C9CC8 44AE2000 */ dmtc1 $t6, $f4
/* 0CA8CC 800C9CCC 03E00008 */ jr $ra
/* 0CA8D0 800C9CD0 46A02020 */ cvt.s.l $f0, $f4
.end __ll_to_f
endlabel __ll_to_f
leaf __ull_to_d
glabel __ull_to_d
/* 0CA8D4 800C9CD4 AFA40000 */ sw $a0, ($sp)
/* 0CA8D8 800C9CD8 AFA50004 */ sw $a1, 4($sp)
/* 0CA8DC 800C9CDC DFAE0000 */ ld $t6, ($sp)
@@ -254,9 +254,9 @@ leaf __ull_to_d
.L800C9D00:
/* 0CA900 800C9D00 03E00008 */ jr $ra
/* 0CA904 800C9D04 00000000 */ nop
.end __ull_to_d
endlabel __ull_to_d
leaf __ull_to_f
glabel __ull_to_f
/* 0CA908 800C9D08 AFA40000 */ sw $a0, ($sp)
/* 0CA90C 800C9D0C AFA50004 */ sw $a1, 4($sp)
/* 0CA910 800C9D10 DFAE0000 */ ld $t6, ($sp)
@@ -270,6 +270,6 @@ leaf __ull_to_f
.L800C9D30:
/* 0CA930 800C9D30 03E00008 */ jr $ra
/* 0CA934 800C9D34 00000000 */ nop
.end __ull_to_f
endlabel __ull_to_f
.endif
+92 -92
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -9,7 +9,7 @@
/* Generated by spimdisasm 1.30.0 */
leaf obj_animate
glabel obj_animate
/* 62930 80061D30 27BDFFF8 */ addiu $sp, $sp, -0x8
/* 62934 80061D34 AFB10004 */ sw $s1, 0x4($sp)
/* 62938 80061D38 AFB00000 */ sw $s0, 0x0($sp)
@@ -380,4 +380,4 @@ leaf obj_animate
/* 62E80 80062280 8FB10004 */ lw $s1, 0x4($sp)
/* 62E84 80062284 03E00008 */ jr $ra
/* 62E88 80062288 27BD0008 */ addiu $sp, $sp, 0x8
.end obj_animate
endlabel obj_animate
+4 -4
View File
@@ -9,7 +9,7 @@
/* Generated by spimdisasm 1.30.0 */
leaf obj_shade_fast
glabel obj_shade_fast
/* 251F0 800245F0 8CA70054 */ lw $a3, 0x54($a1)
/* 251F4 800245F4 10E00051 */ beqz $a3, .L8002473C
/* 251F8 800245F8 00000000 */ nop
@@ -102,9 +102,9 @@ leaf obj_shade_fast
.L8002473C:
/* 2533C 8002473C 03E00008 */ jr $ra
/* 25340 80024740 00000000 */ nop
.end obj_shade_fast
endlabel obj_shade_fast
leaf calc_dynamic_lighting_for_object_2
glabel calc_dynamic_lighting_for_object_2
/* 25344 80024744 27BDFF80 */ addiu $sp, $sp, -0x80
/* 25348 80024748 AFB00080 */ sw $s0, 0x80($sp)
/* 2534C 8002474C AFBF0078 */ sw $ra, 0x78($sp)
@@ -279,4 +279,4 @@ leaf calc_dynamic_lighting_for_object_2
/* 255D0 800249D0 03E00008 */ jr $ra
/* 255D4 800249D4 27BD0080 */ addiu $sp, $sp, 0x80
/* 255D8 800249D8 00000000 */ nop
.end calc_dynamic_lighting_for_object_2
endlabel calc_dynamic_lighting_for_object_2
+3 -1
View File
@@ -20,7 +20,9 @@ options:
asm_function_macro: glabel
asm_jtbl_label_macro: jlabel
asm_data_macro: dlabel
asm_emit_size_directive: True
asm_function_alt_macro: alabel
asm_end_label: endlabel
asm_emit_size_directive: False
section_order: [".text", ".data", ".rodata", ".bss"]
migrate_rodata_to_functions: True
hasm_in_src_path: True
+3 -1
View File
@@ -20,7 +20,9 @@ options:
asm_function_macro: glabel
asm_jtbl_label_macro: jlabel
asm_data_macro: dlabel
asm_emit_size_directive: True
asm_function_alt_macro: alabel
asm_end_label: endlabel
asm_emit_size_directive: False
section_order: [".text", ".data", ".rodata", ".bss"]
migrate_rodata_to_functions: True
hasm_in_src_path: True
+3 -1
View File
@@ -20,7 +20,9 @@ options:
asm_function_macro: glabel
asm_jtbl_label_macro: jlabel
asm_data_macro: dlabel
asm_emit_size_directive: True
asm_function_alt_macro: alabel
asm_end_label: endlabel
asm_emit_size_directive: False
section_order: [".text", ".data", ".rodata", ".bss"]
migrate_rodata_to_functions: True
hasm_in_src_path: True
+3 -1
View File
@@ -20,7 +20,9 @@ options:
asm_function_macro: glabel
asm_jtbl_label_macro: jlabel
asm_data_macro: dlabel
asm_emit_size_directive: True
asm_function_alt_macro: alabel
asm_end_label: endlabel
asm_emit_size_directive: False
section_order: [".text", ".data", ".rodata", ".bss"]
migrate_rodata_to_functions: True
hasm_in_src_path: True
+3 -1
View File
@@ -20,7 +20,9 @@ options:
asm_function_macro: glabel
asm_jtbl_label_macro: jlabel
asm_data_macro: dlabel
asm_emit_size_directive: True
asm_function_alt_macro: alabel
asm_end_label: endlabel
asm_emit_size_directive: False
section_order: [".text", ".data", ".rodata", ".bss"]
migrate_rodata_to_functions: True
hasm_in_src_path: True