From 894d0e66f4d84e38d3caa8a6d961317a4e194cc0 Mon Sep 17 00:00:00 2001 From: tehzz Date: Thu, 5 Jan 2023 20:52:29 -0500 Subject: [PATCH] use splat nonmatching asm files --- src/nonmatchings/intro_loader/func_80002430.s | 81 ------------------- src/nonmatchings/intro_loader/func_80002680.s | 62 -------------- src/nonmatchings/intro_loader/func_80002960.s | 58 ------------- utils/split_asm.py | 7 +- 4 files changed, 3 insertions(+), 205 deletions(-) delete mode 100644 src/nonmatchings/intro_loader/func_80002430.s delete mode 100644 src/nonmatchings/intro_loader/func_80002680.s delete mode 100644 src/nonmatchings/intro_loader/func_80002960.s diff --git a/src/nonmatchings/intro_loader/func_80002430.s b/src/nonmatchings/intro_loader/func_80002430.s deleted file mode 100644 index aa46605..0000000 --- a/src/nonmatchings/intro_loader/func_80002430.s +++ /dev/null @@ -1,81 +0,0 @@ -.section .text -glabel func_80002430 -/* 3030 80002430 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 3034 80002434 AFB10018 */ sw $s1, 0x18($sp) -/* 3038 80002438 3C11800A */ lui $s1, %hi(D_800A6070) -/* 303C 8000243C 26316070 */ addiu $s1, $s1, %lo(D_800A6070) -/* 3040 80002440 8E220028 */ lw $v0, 0x28($s1) -/* 3044 80002444 2483FFF0 */ addiu $v1, $a0, -0x10 -/* 3048 80002448 AFB30020 */ sw $s3, 0x20($sp) -/* 304C 8000244C AFB2001C */ sw $s2, 0x1C($sp) -/* 3050 80002450 0062082B */ sltu $at, $v1, $v0 -/* 3054 80002454 00A09825 */ or $s3, $a1, $zero -/* 3058 80002458 AFBF0024 */ sw $ra, 0x24($sp) -/* 305C 8000245C AFB00014 */ sw $s0, 0x14($sp) -/* 3060 80002460 10200016 */ beqz $at, .L800024BC -/* 3064 80002464 00609025 */ or $s2, $v1, $zero -/* 3068 80002468 8C4E0000 */ lw $t6, 0x0($v0) -.L8000246C: -/* 306C 8000246C 12600007 */ beqz $s3, .L8000248C -/* 3070 80002470 AE2E0028 */ sw $t6, 0x28($s1) -/* 3074 80002474 8DC30008 */ lw $v1, 0x8($t6) -/* 3078 80002478 25C40010 */ addiu $a0, $t6, 0x10 -/* 307C 8000247C 50600004 */ beql $v1, $zero, .L80002490 -/* 3080 80002480 8E220028 */ lw $v0, 0x28($s1) -/* 3084 80002484 0060F809 */ jalr $v1 -/* 3088 80002488 8DC5000C */ lw $a1, 0xC($t6) -.L8000248C: -/* 308C 8000248C 8E220028 */ lw $v0, 0x28($s1) -.L80002490: -/* 3090 80002490 8E2F001C */ lw $t7, 0x1C($s1) -/* 3094 80002494 8C580004 */ lw $t8, 0x4($v0) -/* 3098 80002498 01F8C821 */ addu $t9, $t7, $t8 -/* 309C 8000249C 03224023 */ subu $t0, $t9, $v0 -/* 30A0 800024A0 AE28001C */ sw $t0, 0x1C($s1) -/* 30A4 800024A4 AC400004 */ sw $zero, 0x4($v0) -/* 30A8 800024A8 8E220028 */ lw $v0, 0x28($s1) -/* 30AC 800024AC 5642FFEF */ bnel $s2, $v0, .L8000246C -/* 30B0 800024B0 8C4E0000 */ lw $t6, 0x0($v0) -/* 30B4 800024B4 1000001C */ b .L80002528 -/* 30B8 800024B8 00000000 */ nop -.L800024BC: -/* 30BC 800024BC 8E30002C */ lw $s0, 0x2C($s1) -/* 30C0 800024C0 0070082B */ sltu $at, $v1, $s0 -/* 30C4 800024C4 14200018 */ bnez $at, .L80002528 -/* 30C8 800024C8 0070082B */ sltu $at, $v1, $s0 -/* 30CC 800024CC 14200016 */ bnez $at, .L80002528 -/* 30D0 800024D0 00000000 */ nop -.L800024D4: -/* 30D4 800024D4 52600009 */ beql $s3, $zero, .L800024FC -/* 30D8 800024D8 8E090004 */ lw $t1, 0x4($s0) -/* 30DC 800024DC 8E020008 */ lw $v0, 0x8($s0) -/* 30E0 800024E0 26040010 */ addiu $a0, $s0, 0x10 -/* 30E4 800024E4 50400005 */ beql $v0, $zero, .L800024FC -/* 30E8 800024E8 8E090004 */ lw $t1, 0x4($s0) -/* 30EC 800024EC 0040F809 */ jalr $v0 -/* 30F0 800024F0 8E05000C */ lw $a1, 0xC($s0) -/* 30F4 800024F4 8E30002C */ lw $s0, 0x2C($s1) -/* 30F8 800024F8 8E090004 */ lw $t1, 0x4($s0) -.L800024FC: -/* 30FC 800024FC 8E2A001C */ lw $t2, 0x1C($s1) -/* 3100 80002500 AE29002C */ sw $t1, 0x2C($s1) -/* 3104 80002504 8D2C0000 */ lw $t4, 0x0($t1) -/* 3108 80002508 01495821 */ addu $t3, $t2, $t1 -/* 310C 8000250C 016C6823 */ subu $t5, $t3, $t4 -/* 3110 80002510 AE2D001C */ sw $t5, 0x1C($s1) -/* 3114 80002514 AD200000 */ sw $zero, 0x0($t1) -/* 3118 80002518 8E30002C */ lw $s0, 0x2C($s1) -/* 311C 8000251C 0250082B */ sltu $at, $s2, $s0 -/* 3120 80002520 1020FFEC */ beqz $at, .L800024D4 -/* 3124 80002524 00000000 */ nop -.L80002528: -/* 3128 80002528 0C0009D9 */ jal func_80002764 -/* 312C 8000252C 00000000 */ nop -/* 3130 80002530 8FBF0024 */ lw $ra, 0x24($sp) -/* 3134 80002534 8FB00014 */ lw $s0, 0x14($sp) -/* 3138 80002538 8FB10018 */ lw $s1, 0x18($sp) -/* 313C 8000253C 8FB2001C */ lw $s2, 0x1C($sp) -/* 3140 80002540 8FB30020 */ lw $s3, 0x20($sp) -/* 3144 80002544 03E00008 */ jr $ra -/* 3148 80002548 27BD0028 */ addiu $sp, $sp, 0x28 - diff --git a/src/nonmatchings/intro_loader/func_80002680.s b/src/nonmatchings/intro_loader/func_80002680.s deleted file mode 100644 index 122209b..0000000 --- a/src/nonmatchings/intro_loader/func_80002680.s +++ /dev/null @@ -1,62 +0,0 @@ -.section .text -glabel func_80002680 -/* 3280 80002680 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 3284 80002684 AFA40030 */ sw $a0, 0x30($sp) -/* 3288 80002688 AFBF0014 */ sw $ra, 0x14($sp) -/* 328C 8000268C 00A03825 */ or $a3, $a1, $zero -/* 3290 80002690 3C04800A */ lui $a0, %hi(D_800A6074) -/* 3294 80002694 AFA00028 */ sw $zero, 0x28($sp) -/* 3298 80002698 24846074 */ addiu $a0, $a0, %lo(D_800A6074) -/* 329C 8000269C AFA70034 */ sw $a3, 0x34($sp) -/* 32A0 800026A0 00002825 */ or $a1, $zero, $zero -/* 32A4 800026A4 0C015AB4 */ jal osRecvMesg -/* 32A8 800026A8 24060001 */ addiu $a2, $zero, 0x1 -/* 32AC 800026AC 8FA60030 */ lw $a2, 0x30($sp) -/* 32B0 800026B0 3C05800A */ lui $a1, %hi(D_800A6070) -/* 32B4 800026B4 24A56070 */ addiu $a1, $a1, %lo(D_800A6070) -/* 32B8 800026B8 24C3FFF0 */ addiu $v1, $a2, -0x10 -/* 32BC 800026BC 8C640004 */ lw $a0, 0x4($v1) -/* 32C0 800026C0 8CAE0028 */ lw $t6, 0x28($a1) -/* 32C4 800026C4 8FA70034 */ lw $a3, 0x34($sp) -/* 32C8 800026C8 00861023 */ subu $v0, $a0, $a2 -/* 32CC 800026CC 15C4001B */ bne $t6, $a0, .L8000273C -/* 32D0 800026D0 24E7000F */ addiu $a3, $a3, 0xF -/* 32D4 800026D4 2401FFF0 */ addiu $at, $zero, -0x10 -/* 32D8 800026D8 00E13824 */ and $a3, $a3, $at -/* 32DC 800026DC 0047082B */ sltu $at, $v0, $a3 -/* 32E0 800026E0 50200007 */ beql $at, $zero, .L80002700 -/* 32E4 800026E4 8C79000C */ lw $t9, 0xC($v1) -/* 32E8 800026E8 8CAF001C */ lw $t7, 0x1C($a1) -/* 32EC 800026EC 00E2C023 */ subu $t8, $a3, $v0 -/* 32F0 800026F0 01F8082B */ sltu $at, $t7, $t8 -/* 32F4 800026F4 14200011 */ bnez $at, .L8000273C -/* 32F8 800026F8 00000000 */ nop -/* 32FC 800026FC 8C79000C */ lw $t9, 0xC($v1) -.L80002700: -/* 3300 80002700 00C02025 */ or $a0, $a2, $zero -/* 3304 80002704 00002825 */ or $a1, $zero, $zero -/* 3308 80002708 AFB90020 */ sw $t9, 0x20($sp) -/* 330C 8000270C 8C680008 */ lw $t0, 0x8($v1) -/* 3310 80002710 AFA70034 */ sw $a3, 0x34($sp) -/* 3314 80002714 0C00090C */ jal func_80002430 -/* 3318 80002718 AFA8001C */ sw $t0, 0x1C($sp) -/* 331C 8000271C 8FA40034 */ lw $a0, 0x34($sp) -/* 3320 80002720 0C0008E0 */ jal func_80002380 -/* 3324 80002724 00002825 */ or $a1, $zero, $zero -/* 3328 80002728 AFA20028 */ sw $v0, 0x28($sp) -/* 332C 8000272C 00402025 */ or $a0, $v0, $zero -/* 3330 80002730 8FA50020 */ lw $a1, 0x20($sp) -/* 3334 80002734 0C000A85 */ jal func_80002A14 -/* 3338 80002738 8FA6001C */ lw $a2, 0x1C($sp) -.L8000273C: -/* 333C 8000273C 3C04800A */ lui $a0, %hi(D_800A6074) -/* 3340 80002740 24846074 */ addiu $a0, $a0, %lo(D_800A6074) -/* 3344 80002744 00002825 */ or $a1, $zero, $zero -/* 3348 80002748 0C015A30 */ jal osSendMesg -/* 334C 8000274C 00003025 */ or $a2, $zero, $zero -/* 3350 80002750 8FBF0014 */ lw $ra, 0x14($sp) -/* 3354 80002754 8FA20028 */ lw $v0, 0x28($sp) -/* 3358 80002758 27BD0030 */ addiu $sp, $sp, 0x30 -/* 335C 8000275C 03E00008 */ jr $ra -/* 3360 80002760 00000000 */ nop - diff --git a/src/nonmatchings/intro_loader/func_80002960.s b/src/nonmatchings/intro_loader/func_80002960.s deleted file mode 100644 index 320a647..0000000 --- a/src/nonmatchings/intro_loader/func_80002960.s +++ /dev/null @@ -1,58 +0,0 @@ -.section .text -glabel func_80002960 -/* 3560 80002960 3C07800A */ lui $a3, %hi(D_800A6070) -/* 3564 80002964 24E76070 */ addiu $a3, $a3, %lo(D_800A6070) -/* 3568 80002968 8CEE0028 */ lw $t6, 0x28($a3) -/* 356C 8000296C 00A03025 */ or $a2, $a1, $zero -/* 3570 80002970 8DC20000 */ lw $v0, 0x0($t6) -/* 3574 80002974 10400010 */ beqz $v0, .L800029B8 -/* 3578 80002978 24430010 */ addiu $v1, $v0, 0x10 -.L8000297C: -/* 357C 8000297C 0083082B */ sltu $at, $a0, $v1 -/* 3580 80002980 1420000A */ bnez $at, .L800029AC -/* 3584 80002984 8C450004 */ lw $a1, 0x4($v0) -/* 3588 80002988 0085082B */ sltu $at, $a0, $a1 -/* 358C 8000298C 50200008 */ beql $at, $zero, .L800029B0 -/* 3590 80002990 8C420000 */ lw $v0, 0x0($v0) -/* 3594 80002994 10C00003 */ beqz $a2, .L800029A4 -/* 3598 80002998 00000000 */ nop -/* 359C 8000299C 8C4F000C */ lw $t7, 0xC($v0) -/* 35A0 800029A0 ACCF0000 */ sw $t7, 0x0($a2) -.L800029A4: -/* 35A4 800029A4 03E00008 */ jr $ra -/* 35A8 800029A8 00601025 */ or $v0, $v1, $zero -.L800029AC: -/* 35AC 800029AC 8C420000 */ lw $v0, 0x0($v0) -.L800029B0: -/* 35B0 800029B0 5440FFF2 */ bnel $v0, $zero, .L8000297C -/* 35B4 800029B4 24430010 */ addiu $v1, $v0, 0x10 -.L800029B8: -/* 35B8 800029B8 8CE2002C */ lw $v0, 0x2C($a3) -/* 35BC 800029BC 8C450004 */ lw $a1, 0x4($v0) -/* 35C0 800029C0 10A00011 */ beqz $a1, .L80002A08 -/* 35C4 800029C4 24430010 */ addiu $v1, $v0, 0x10 -.L800029C8: -/* 35C8 800029C8 0083082B */ sltu $at, $a0, $v1 -/* 35CC 800029CC 1420000A */ bnez $at, .L800029F8 -/* 35D0 800029D0 00A03825 */ or $a3, $a1, $zero -/* 35D4 800029D4 0087082B */ sltu $at, $a0, $a3 -/* 35D8 800029D8 50200008 */ beql $at, $zero, .L800029FC -/* 35DC 800029DC 00A01025 */ or $v0, $a1, $zero -/* 35E0 800029E0 10C00003 */ beqz $a2, .L800029F0 -/* 35E4 800029E4 00000000 */ nop -/* 35E8 800029E8 8C58000C */ lw $t8, 0xC($v0) -/* 35EC 800029EC ACD80000 */ sw $t8, 0x0($a2) -.L800029F0: -/* 35F0 800029F0 03E00008 */ jr $ra -/* 35F4 800029F4 00601025 */ or $v0, $v1, $zero -.L800029F8: -/* 35F8 800029F8 00A01025 */ or $v0, $a1, $zero -.L800029FC: -/* 35FC 800029FC 8CA50004 */ lw $a1, 0x4($a1) -/* 3600 80002A00 54A0FFF1 */ bnel $a1, $zero, .L800029C8 -/* 3604 80002A04 24430010 */ addiu $v1, $v0, 0x10 -.L80002A08: -/* 3608 80002A08 00001025 */ or $v0, $zero, $zero -/* 360C 80002A0C 03E00008 */ jr $ra -/* 3610 80002A10 00000000 */ nop - diff --git a/utils/split_asm.py b/utils/split_asm.py index 965c6f4..7283e59 100755 --- a/utils/split_asm.py +++ b/utils/split_asm.py @@ -8,7 +8,7 @@ import sys from pathlib import Path if len(sys.argv) != 4: - print(f"Usage: {sys.argv[0]} ") + print(f"Usage: {sys.argv[0]} ") exit() def fail(msg): @@ -74,11 +74,10 @@ def write_split_files(nm_dir, c_out, routines): def main(): s_in = Path(sys.argv[1]) - s_out_base = Path(sys.argv[2]) - c_out_dir = Path(sys.argv[3]) + c_out_dir = Path(sys.argv[2]) input_filename = s_in.stem - s_out_dir = s_out_base / Path(*c_out_dir.parts[1:]) / input_filename + s_out_dir = Path('asm/nonmatchings') / Path(*c_out_dir.parts[2:]) / input_filename c_out_file = c_out_dir / s_in.with_suffix('.c').name s_out_dir.relative_to