From 3684ba5da478a6811eeaa5bd3287550efce742c8 Mon Sep 17 00:00:00 2001 From: Ryan Myers Date: Tue, 21 Sep 2021 20:22:29 -0400 Subject: [PATCH] Decompile alCopy --- lib/asm/non_matchings/unknown_0D43F0/alCopy.s | 37 ------------------- lib/src/alCopy.c | 11 +++++- 2 files changed, 10 insertions(+), 38 deletions(-) delete mode 100644 lib/asm/non_matchings/unknown_0D43F0/alCopy.s diff --git a/lib/asm/non_matchings/unknown_0D43F0/alCopy.s b/lib/asm/non_matchings/unknown_0D43F0/alCopy.s deleted file mode 100644 index 17bcae43..00000000 --- a/lib/asm/non_matchings/unknown_0D43F0/alCopy.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel alCopy -/* 0D4420 800D3820 00801025 */ move $v0, $a0 -/* 0D4424 800D3824 00A01825 */ move $v1, $a1 -/* 0D4428 800D3828 18C00018 */ blez $a2, .L800D388C -/* 0D442C 800D382C 00003825 */ move $a3, $zero -/* 0D4430 800D3830 30C50003 */ andi $a1, $a2, 3 -/* 0D4434 800D3834 10A00009 */ beqz $a1, .L800D385C -/* 0D4438 800D3838 00A02025 */ move $a0, $a1 -.L800D383C: -/* 0D443C 800D383C 904E0000 */ lbu $t6, ($v0) -/* 0D4440 800D3840 24E70001 */ addiu $a3, $a3, 1 -/* 0D4444 800D3844 24630001 */ addiu $v1, $v1, 1 -/* 0D4448 800D3848 24420001 */ addiu $v0, $v0, 1 -/* 0D444C 800D384C 1487FFFB */ bne $a0, $a3, .L800D383C -/* 0D4450 800D3850 A06EFFFF */ sb $t6, -1($v1) -/* 0D4454 800D3854 10E6000D */ beq $a3, $a2, .L800D388C -/* 0D4458 800D3858 00000000 */ nop -.L800D385C: -/* 0D445C 800D385C 904F0000 */ lbu $t7, ($v0) -/* 0D4460 800D3860 24E70004 */ addiu $a3, $a3, 4 -/* 0D4464 800D3864 24630004 */ addiu $v1, $v1, 4 -/* 0D4468 800D3868 A06FFFFC */ sb $t7, -4($v1) -/* 0D446C 800D386C 90580001 */ lbu $t8, 1($v0) -/* 0D4470 800D3870 24420004 */ addiu $v0, $v0, 4 -/* 0D4474 800D3874 A078FFFD */ sb $t8, -3($v1) -/* 0D4478 800D3878 9059FFFE */ lbu $t9, -2($v0) -/* 0D447C 800D387C A079FFFE */ sb $t9, -2($v1) -/* 0D4480 800D3880 9048FFFF */ lbu $t0, -1($v0) -/* 0D4484 800D3884 14E6FFF5 */ bne $a3, $a2, .L800D385C -/* 0D4488 800D3888 A068FFFF */ sb $t0, -1($v1) -.L800D388C: -/* 0D448C 800D388C 03E00008 */ jr $ra -/* 0D4490 800D3890 00000000 */ nop - -/* 0D4494 800D3894 00000000 */ nop -/* 0D4498 800D3898 00000000 */ nop -/* 0D449C 800D389C 00000000 */ nop diff --git a/lib/src/alCopy.c b/lib/src/alCopy.c index b68d0ebc..9134fa85 100644 --- a/lib/src/alCopy.c +++ b/lib/src/alCopy.c @@ -4,6 +4,15 @@ #include "types.h" #include "macros.h" +//TODO: This probably belongs somewhere else s32 D_800E48A0[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D43F0/alCopy.s") \ No newline at end of file +void alCopy(void *src, void *dest, s32 len) { + s32 i; + u8 *s = (u8 *)src; + u8 *d = (u8 *)dest; + + for (i = 0; i < len; i++) { + *d++ = *s++; + } +}