mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Added glabels with early returns between glabel upper/lower loading
This commit is contained in:
@@ -11,13 +11,13 @@ glabel func_8001BB18
|
||||
/* 01C734 8001BB34 04800003 */ bltz $a0, .L8001BB44
|
||||
/* 01C738 8001BB38 0082082A */ slt $at, $a0, $v0
|
||||
/* 01C73C 8001BB3C 14200003 */ bnez $at, .L8001BB4C
|
||||
/* 01C740 8001BB40 3C0E8012 */ lui $t6, 0x8012
|
||||
/* 01C740 8001BB40 3C0E8012 */ lui $t6, %hi(D_8011AEEC) # $t6, 0x8012
|
||||
.L8001BB44:
|
||||
/* 01C744 8001BB44 03E00008 */ jr $ra
|
||||
/* 01C748 8001BB48 00001025 */ move $v0, $zero
|
||||
|
||||
.L8001BB4C:
|
||||
/* 01C74C 8001BB4C 8DCEAEEC */ lw $t6, -0x5114($t6)
|
||||
/* 01C74C 8001BB4C 8DCEAEEC */ lw $t6, %lo(D_8011AEEC)($t6)
|
||||
/* 01C750 8001BB50 00047880 */ sll $t7, $a0, 2
|
||||
/* 01C754 8001BB54 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 01C758 8001BB58 8F020000 */ lw $v0, ($t8)
|
||||
|
||||
@@ -343,13 +343,13 @@ glabel func_8006A6B0
|
||||
/* 06B7B0 8006ABB0 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
|
||||
/* 06B7B4 8006ABB4 04810003 */ bgez $a0, .L8006ABC4
|
||||
/* 06B7B8 8006ABB8 3C0E8012 */ lui $t6, 0x8012
|
||||
/* 06B7B8 8006ABB8 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012
|
||||
/* 06B7BC 8006ABBC 03E00008 */ jr $ra
|
||||
/* 06B7C0 8006ABC0 24020E10 */ li $v0, 3600
|
||||
|
||||
.L8006ABC4:
|
||||
/* 06B7C4 8006ABC4 8DCE1170 */ lw $t6, 0x1170($t6)
|
||||
/* 06B7C8 8006ABC8 3C0F8012 */ lui $t7, 0x8012
|
||||
/* 06B7C4 8006ABC4 8DCE1170 */ lw $t6, %lo(D_80121170)($t6)
|
||||
/* 06B7C8 8006ABC8 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012
|
||||
/* 06B7CC 8006ABCC 008E082A */ slt $at, $a0, $t6
|
||||
/* 06B7D0 8006ABD0 14200003 */ bnez $at, .L8006ABE0
|
||||
/* 06B7D4 8006ABD4 0004C080 */ sll $t8, $a0, 2
|
||||
@@ -357,7 +357,7 @@ glabel func_8006A6B0
|
||||
/* 06B7DC 8006ABDC 24020E10 */ li $v0, 3600
|
||||
|
||||
.L8006ABE0:
|
||||
/* 06B7E0 8006ABE0 8DEF117C */ lw $t7, 0x117c($t7)
|
||||
/* 06B7E0 8006ABE0 8DEF117C */ lw $t7, %lo(D_8012117C)($t7)
|
||||
/* 06B7E4 8006ABE4 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 06B7E8 8006ABE8 0018C040 */ sll $t8, $t8, 1
|
||||
/* 06B7EC 8006ABEC 01F8C821 */ addu $t9, $t7, $t8
|
||||
|
||||
@@ -6,7 +6,7 @@ glabel func_8007B374
|
||||
/* 07BF80 8007B380 04800006 */ bltz $a0, .L8007B39C
|
||||
/* 07BF84 8007B384 3C0E8012 */ lui $t6, %hi(D_80126330) # $t6, 0x8012
|
||||
/* 07BF88 8007B388 8DCE6330 */ lw $t6, %lo(D_80126330)($t6)
|
||||
/* 07BF8C 8007B38C 3C0F8012 */ lui $t7, 0x8012
|
||||
/* 07BF8C 8007B38C 3C0F8012 */ lui $t7, %hi(D_80126328) # $t7, 0x8012
|
||||
/* 07BF90 8007B390 008E082A */ slt $at, $a0, $t6
|
||||
/* 07BF94 8007B394 14200003 */ bnez $at, .L8007B3A4
|
||||
/* 07BF98 8007B398 00000000 */ nop
|
||||
@@ -15,7 +15,7 @@ glabel func_8007B374
|
||||
/* 07BFA0 8007B3A0 00001025 */ move $v0, $zero
|
||||
|
||||
.L8007B3A4:
|
||||
/* 07BFA4 8007B3A4 8DEF6328 */ lw $t7, 0x6328($t7)
|
||||
/* 07BFA4 8007B3A4 8DEF6328 */ lw $t7, %lo(D_80126328)($t7)
|
||||
/* 07BFA8 8007B3A8 0004C8C0 */ sll $t9, $a0, 3
|
||||
/* 07BFAC 8007B3AC 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 07BFB0 8007B3B0 8D030004 */ lw $v1, 4($t0)
|
||||
|
||||
@@ -282,7 +282,7 @@ glabel func_8007C12C
|
||||
/* 07D12C 8007C52C 04800006 */ bltz $a0, .L8007C548
|
||||
/* 07D130 8007C530 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012
|
||||
/* 07D134 8007C534 8DCE6358 */ lw $t6, %lo(D_80126358)($t6)
|
||||
/* 07D138 8007C538 3C0F8012 */ lui $t7, 0x8012
|
||||
/* 07D138 8007C538 3C0F8012 */ lui $t7, %hi(D_8012634C) # $t7, 0x8012
|
||||
/* 07D13C 8007C53C 008E082A */ slt $at, $a0, $t6
|
||||
/* 07D140 8007C540 14200003 */ bnez $at, .L8007C550
|
||||
/* 07D144 8007C544 00000000 */ nop
|
||||
@@ -291,7 +291,7 @@ glabel func_8007C12C
|
||||
/* 07D14C 8007C54C 00001025 */ move $v0, $zero
|
||||
|
||||
.L8007C550:
|
||||
/* 07D150 8007C550 8DEF634C */ lw $t7, 0x634c($t7)
|
||||
/* 07D150 8007C550 8DEF634C */ lw $t7, %lo(D_8012634C)($t7)
|
||||
/* 07D154 8007C554 0004C8C0 */ sll $t9, $a0, 3
|
||||
/* 07D158 8007C558 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 07D15C 8007C55C 8D030004 */ lw $v1, 4($t0)
|
||||
|
||||
@@ -203,7 +203,7 @@ glabel func_8007C57C
|
||||
/* 07D460 8007C860 04800006 */ bltz $a0, .L8007C87C
|
||||
/* 07D464 8007C864 3C0E8012 */ lui $t6, %hi(D_80126330) # $t6, 0x8012
|
||||
/* 07D468 8007C868 8DCE6330 */ lw $t6, %lo(D_80126330)($t6)
|
||||
/* 07D46C 8007C86C 3C0F8012 */ lui $t7, 0x8012
|
||||
/* 07D46C 8007C86C 3C0F8012 */ lui $t7, %hi(D_80126328) # $t7, 0x8012
|
||||
/* 07D470 8007C870 008E082A */ slt $at, $a0, $t6
|
||||
/* 07D474 8007C874 14200003 */ bnez $at, .L8007C884
|
||||
/* 07D478 8007C878 00000000 */ nop
|
||||
@@ -212,7 +212,7 @@ glabel func_8007C57C
|
||||
/* 07D480 8007C880 2402FFFF */ li $v0, -1
|
||||
|
||||
.L8007C884:
|
||||
/* 07D484 8007C884 8DEF6328 */ lw $t7, 0x6328($t7)
|
||||
/* 07D484 8007C884 8DEF6328 */ lw $t7, %lo(D_80126328)($t7)
|
||||
/* 07D488 8007C888 0004C8C0 */ sll $t9, $a0, 3
|
||||
/* 07D48C 8007C88C 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 07D490 8007C890 8D020000 */ lw $v0, ($t0)
|
||||
@@ -223,7 +223,7 @@ glabel func_8007C57C
|
||||
/* 07D4A0 8007C8A0 04800006 */ bltz $a0, .L8007C8BC
|
||||
/* 07D4A4 8007C8A4 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012
|
||||
/* 07D4A8 8007C8A8 8DCE6358 */ lw $t6, %lo(D_80126358)($t6)
|
||||
/* 07D4AC 8007C8AC 3C0F8012 */ lui $t7, 0x8012
|
||||
/* 07D4AC 8007C8AC 3C0F8012 */ lui $t7, %hi(D_8012634C) # $t7, 0x8012
|
||||
/* 07D4B0 8007C8B0 008E082A */ slt $at, $a0, $t6
|
||||
/* 07D4B4 8007C8B4 14200003 */ bnez $at, .L8007C8C4
|
||||
/* 07D4B8 8007C8B8 00000000 */ nop
|
||||
@@ -232,7 +232,7 @@ glabel func_8007C57C
|
||||
/* 07D4C0 8007C8C0 2402FFFF */ li $v0, -1
|
||||
|
||||
.L8007C8C4:
|
||||
/* 07D4C4 8007C8C4 8DEF634C */ lw $t7, 0x634c($t7)
|
||||
/* 07D4C4 8007C8C4 8DEF634C */ lw $t7, %lo(D_8012634C)($t7)
|
||||
/* 07D4C8 8007C8C8 0004C8C0 */ sll $t9, $a0, 3
|
||||
/* 07D4CC 8007C8CC 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 07D4D0 8007C8D0 8D020000 */ lw $v0, ($t0)
|
||||
|
||||
@@ -403,7 +403,7 @@ glabel func_800B3E64
|
||||
/* 0B5090 800B4490 3C0E800E */ lui $t6, %hi(D_800E2CF0) # $t6, 0x800e
|
||||
/* 0B5094 800B4494 0083082A */ slt $at, $a0, $v1
|
||||
/* 0B5098 800B4498 10200007 */ beqz $at, .L800B44B8
|
||||
/* 0B509C 800B449C 3C19800E */ lui $t9, 0x800e
|
||||
/* 0B509C 800B449C 3C19800E */ lui $t9, %hi(D_800E2CF0) # $t9, 0x800e
|
||||
/* 0B50A0 800B44A0 8DCE2CF0 */ lw $t6, %lo(D_800E2CF0)($t6)
|
||||
/* 0B50A4 800B44A4 00047880 */ sll $t7, $a0, 2
|
||||
/* 0B50A8 800B44A8 01CFC021 */ addu $t8, $t6, $t7
|
||||
@@ -412,7 +412,7 @@ glabel func_800B3E64
|
||||
/* 0B50B4 800B44B4 00000000 */ nop
|
||||
|
||||
.L800B44B8:
|
||||
/* 0B50B8 800B44B8 8F392CF0 */ lw $t9, 0x2cf0($t9)
|
||||
/* 0B50B8 800B44B8 8F392CF0 */ lw $t9, %lo(D_800E2CF0)($t9)
|
||||
/* 0B50BC 800B44BC 00034080 */ sll $t0, $v1, 2
|
||||
/* 0B50C0 800B44C0 03284821 */ addu $t1, $t9, $t0
|
||||
/* 0B50C4 800B44C4 8D22FFFC */ lw $v0, -4($t1)
|
||||
@@ -472,7 +472,7 @@ glabel func_800B3E64
|
||||
/* 0B5180 800B4580 3C0E800E */ lui $t6, %hi(D_800E2CFC) # $t6, 0x800e
|
||||
/* 0B5184 800B4584 0083082A */ slt $at, $a0, $v1
|
||||
/* 0B5188 800B4588 10200007 */ beqz $at, .L800B45A8
|
||||
/* 0B518C 800B458C 3C19800E */ lui $t9, 0x800e
|
||||
/* 0B518C 800B458C 3C19800E */ lui $t9, %hi(D_800E2CFC) # $t9, 0x800e
|
||||
/* 0B5190 800B4590 8DCE2CFC */ lw $t6, %lo(D_800E2CFC)($t6)
|
||||
/* 0B5194 800B4594 00047880 */ sll $t7, $a0, 2
|
||||
/* 0B5198 800B4598 01CFC021 */ addu $t8, $t6, $t7
|
||||
@@ -481,7 +481,7 @@ glabel func_800B3E64
|
||||
/* 0B51A4 800B45A4 00000000 */ nop
|
||||
|
||||
.L800B45A8:
|
||||
/* 0B51A8 800B45A8 8F392CFC */ lw $t9, 0x2cfc($t9)
|
||||
/* 0B51A8 800B45A8 8F392CFC */ lw $t9, %lo(D_800E2CFC)($t9)
|
||||
/* 0B51AC 800B45AC 00034080 */ sll $t0, $v1, 2
|
||||
/* 0B51B0 800B45B0 03284821 */ addu $t1, $t9, $t0
|
||||
/* 0B51B4 800B45B4 8D22FFFC */ lw $v0, -4($t1)
|
||||
|
||||
@@ -30,6 +30,8 @@ glabel D_800E97F0
|
||||
glabel D_800E97F8
|
||||
.word 0x3E6110B4
|
||||
.word 0x611A6263
|
||||
|
||||
glabel D_800E9800
|
||||
.word 0x00000000
|
||||
.word 0x00000000
|
||||
.word 0x00000000
|
||||
@@ -56,6 +58,8 @@ glabel D_800E9840
|
||||
glabel D_800E9848
|
||||
.word 0x3E6110B4
|
||||
.word 0x611A6263
|
||||
|
||||
glabel D_800E9850
|
||||
.word 0x00000000
|
||||
.word 0x00000000
|
||||
.word 0x00000000
|
||||
|
||||
@@ -87,15 +87,15 @@ glabel cosf
|
||||
|
||||
/* 0D57F0 800D4BF0 460A5032 */ c.eq.s $f10, $f10
|
||||
.L800D4BF4:
|
||||
/* 0D57F4 800D4BF4 3C01800F */ lui $at, %hi(D_800E98C0) #$at, 0x800f
|
||||
/* 0D57F4 800D4BF4 3C01800F */ lui $at, %hi(D_800E9800) # $at, 0x800f
|
||||
/* 0D57F8 800D4BF8 45010004 */ bc1t .L800D4C0C
|
||||
/* 0D57FC 800D4BFC 00000000 */ nop
|
||||
/* 0D5800 800D4C00 3C01800F */ lui $at, 0x800f
|
||||
/* 0D5800 800D4C00 3C01800F */ lui $at, %hi(D_800E98C0) # $at, 0x800f
|
||||
/* 0D5804 800D4C04 03E00008 */ jr $ra
|
||||
/* 0D5808 800D4C08 C42098C0 */ lwc1 $f0, %lo(D_800E98C0)($at)
|
||||
|
||||
.L800D4C0C:
|
||||
/* 0D580C 800D4C0C C4209800 */ lwc1 $f0, -0x6800($at)
|
||||
/* 0D580C 800D4C0C C4209800 */ lwc1 $f0, %lo(D_800E9800)($at)
|
||||
/* 0D5810 800D4C10 03E00008 */ jr $ra
|
||||
/* 0D5814 800D4C14 00000000 */ nop
|
||||
|
||||
|
||||
@@ -69,10 +69,10 @@ glabel sinf
|
||||
/* 0D5918 800D4D18 00000000 */ nop
|
||||
/* 0D591C 800D4D1C 44828000 */ mtc1 $v0, $f16
|
||||
.L800D4D20:
|
||||
/* 0D5920 800D4D20 3C01800F */ lui $at, %hi(D_800E9840) #$at, 0x800f
|
||||
/* 0D5920 800D4D20 3C01800F */ lui $at, %hi(D_800E9840) # $at, 0x800f
|
||||
/* 0D5924 800D4D24 D4329840 */ ldc1 $f18, %lo(D_800E9840)($at)
|
||||
/* 0D5928 800D4D28 46808021 */ cvt.d.w $f0, $f16
|
||||
/* 0D592C 800D4D2C 3C01800F */ lui $at, %hi(D_800E9848) #$at, 0x800f
|
||||
/* 0D592C 800D4D2C 3C01800F */ lui $at, %hi(D_800E9848) # $at, 0x800f
|
||||
/* 0D5930 800D4D30 D4269848 */ ldc1 $f6, %lo(D_800E9848)($at)
|
||||
/* 0D5934 800D4D34 3C03800F */ lui $v1, %hi(D_800E9810) # $v1, 0x800f
|
||||
/* 0D5938 800D4D38 24639810 */ addiu $v1, %lo(D_800E9810) # addiu $v1, $v1, -0x67f0
|
||||
@@ -112,15 +112,15 @@ glabel sinf
|
||||
|
||||
.L800D4DB8:
|
||||
/* 0D59B8 800D4DB8 46042032 */ c.eq.s $f4, $f4
|
||||
/* 0D59BC 800D4DBC 3C01800F */ lui $at, %hi(D_800E98C0) #$at, 0x800f
|
||||
/* 0D59BC 800D4DBC 3C01800F */ lui $at, %hi(D_800E9850) # $at, 0x800f
|
||||
/* 0D59C0 800D4DC0 45010004 */ bc1t .L800D4DD4
|
||||
/* 0D59C4 800D4DC4 00000000 */ nop
|
||||
/* 0D59C8 800D4DC8 3C01800F */ lui $at, 0x800f
|
||||
/* 0D59C8 800D4DC8 3C01800F */ lui $at, %hi(D_800E98C0) # $at, 0x800f
|
||||
/* 0D59CC 800D4DCC 03E00008 */ jr $ra
|
||||
/* 0D59D0 800D4DD0 C42098C0 */ lwc1 $f0, %lo(D_800E98C0)($at)
|
||||
|
||||
.L800D4DD4:
|
||||
/* 0D59D4 800D4DD4 C4209850 */ lwc1 $f0, -0x67b0($at)
|
||||
/* 0D59D4 800D4DD4 C4209850 */ lwc1 $f0, %lo(D_800E9850)($at)
|
||||
/* 0D59D8 800D4DD8 03E00008 */ jr $ra
|
||||
/* 0D59DC 800D4DDC 00000000 */ nop
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import re
|
||||
|
||||
from file_util import FileUtil
|
||||
|
||||
LINE_START_REGEX = r'\n(/\* ([0-9A-F]{6}) [0-9A-F]{8} [0-9A-F]{8} \*/\s+|\.L80[0-9A-F]{6}:)'
|
||||
LINE_START_REGEX = r'\n(/\* ([0-9A-F]{6}) [0-9A-F]{8} [0-9A-F]{8} \*/\s+|\.L80[0-9A-F]{6}:|\n)'
|
||||
REG_REGEX = r'(\$(at|v[0-1]|a[0-3]|t[0-9]|s[0-7]|f[0-9]{1,2}|k[0-1]|gp|sp|fp|ra|zero))'
|
||||
GLABEL_UPPER_REGEX = '(' + LINE_START_REGEX + r'lui\s+' + REG_REGEX + r',\s+(0x80[0-9a-f]{2}))'
|
||||
GLABEL_LOWER_REGEX = '(' + LINE_START_REGEX + r'[sl][bhwd](u|c1)?\s+' + REG_REGEX + r',\s+(-?0x[0-9a-f]{4})\(\4\))'
|
||||
@@ -33,7 +33,7 @@ def _find_glabels(asm):
|
||||
glabels.append((glabel, *offsets))
|
||||
# replace upper instruction
|
||||
contents = re.sub(UPPER_INSTR_REGEX_TMPL % offsets[0],
|
||||
r'\1' + '%s, %%hi(%s) #' % (reg, glabel) + r'\2',
|
||||
r'\1' + '%s, %%hi(%s) # ' % (reg, glabel) + r'\2',
|
||||
contents)
|
||||
# replace lower instruction
|
||||
contents = re.sub(LOWER_INSTR_REGEX_TMPL % offsets[1],
|
||||
|
||||
@@ -1816,9 +1816,11 @@ D_800E97C0 = 0x800E97C0;
|
||||
D_800E97E8 = 0x800E97E8;
|
||||
D_800E97F0 = 0x800E97F0;
|
||||
D_800E97F8 = 0x800E97F8;
|
||||
D_800E9800 = 0x800E9800;
|
||||
D_800E9810 = 0x800E9810;
|
||||
D_800E9840 = 0x800E9840;
|
||||
D_800E9848 = 0x800E9848;
|
||||
D_800E9850 = 0x800E9850;
|
||||
D_800E9860 = 0x800E9860;
|
||||
D_800E98A8 = 0x800E98A8;
|
||||
D_800E98AC = 0x800E98AC;
|
||||
|
||||
Reference in New Issue
Block a user