diff options
Diffstat (limited to 'arm9/lib/src/MI_memory.c')
-rw-r--r-- | arm9/lib/src/MI_memory.c | 339 |
1 files changed, 0 insertions, 339 deletions
diff --git a/arm9/lib/src/MI_memory.c b/arm9/lib/src/MI_memory.c deleted file mode 100644 index a97ff167..00000000 --- a/arm9/lib/src/MI_memory.c +++ /dev/null @@ -1,339 +0,0 @@ -#include "MI_memory.h" -#include "function_target.h" - -ARM_FUNC asm void MIi_CpuClear16(register u16 data, register void *destp, register u32 size) -{ - mov r3, #0 - -_020CE1CC: - cmp r3, r2 - strlth r0, [r1, r3] - addlt r3, r3, #2 - blt _020CE1CC - - bx lr -} - -ARM_FUNC asm void MIi_CpuCopy16(register const void *srcp, register void *destp, register u32 size) -{ - mov r12, #0 - -_020CE1CC: - cmp r12, r2 - ldrlth r3, [r0, r12] - strlth r3, [r1, r12] - addlt r12, r12, #2 - blt _020CE1CC - - bx lr -} - -ARM_FUNC asm void MIi_CpuClear32(register u32 data, register void *destp, register u32 size) -{ - add r12, r1, r2 - -_020CE200: - cmp r1, r12 - stmltia r1!, {r0} - blt _020CE200 - bx lr -} - -ARM_FUNC asm void MIi_CpuCopy32(register const void *srcp, register void *destp, register u32 size) -{ - add r12, r1, r2 - -_020CE214: - cmp r1, r12 - ldmltia r0!, {r2} - stmltia r1!, {r2} - blt _020CE214 - bx lr -} - -ARM_FUNC asm void MIi_CpuSend32(register const void *srcp, volatile void *destp, u32 size) -{ - add r12, r0, r2 - -_020CE22C: - cmp r0, r12 - ldmltia r0!, {r2} - strlt r2, [r1] - blt _020CE22C - - bx lr -} - -ARM_FUNC asm void MIi_CpuClearFast(register u32 data, register void *destp, register u32 size) -{ - stmfd sp!, {r4-r9} - - add r9, r1, r2 - mov r12, r2, lsr #5 - add r12, r1, r12, lsl #5 - - mov r2, r0 - mov r3, r2 - mov r4, r2 - mov r5, r2 - mov r6, r2 - mov r7, r2 - mov r8, r2 - -_020CE26C: - cmp r1, r12 - stmltia r1!, {r0, r2-r8} - blt _020CE26C -_020CE278: - cmp r1, r9 - stmltia r1!, {r0} - blt _020CE278 - - ldmfd sp!, {r4-r9} - bx lr -} - -ARM_FUNC asm void MIi_CpuCopyFast(register const void *srcp, register void *destp, register u32 size) -{ - stmfd sp!, {r4-r10} - - add r10, r1, r2 - mov r12, r2, lsr #5 - add r12, r1, r12, lsl #5 - -_020CE29C: - cmp r1, r12 - ldmltia r0!, {r2-r9} - stmltia r1!, {r2-r9} - blt _020CE29C -_020CE2AC: - cmp r1, r10 - ldmltia r0!, {r2} - stmltia r1!, {r2} - blt _020CE2AC - - ldmfd sp!, {r4-r10} - bx lr -} - -ARM_FUNC asm void MI_Copy32B(register const void *pSrc, register void *pDest) -{ - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3} - stmia r1!, {r2, r3} - - bx lr -} - -ARM_FUNC asm void MI_Copy36B(register const void *pSrc, register void *pDest) -{ - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - - bx lr -} - -ARM_FUNC asm void MI_Copy48B(register const void *pSrc, register void *pDest) -{ - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - - bx lr -} - -ARM_FUNC asm void MI_Copy64B(register const void *pSrc, register void *pDest) -{ - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0!, {r2, r3, r12} - stmia r1!, {r2, r3, r12} - ldmia r0, {r0, r2, r3, r12} - stmia r1!, {r0, r2, r3, r12} - - bx lr -} - -ARM_FUNC asm void MI_CpuFill8(register void *dstp, register u8 data, register u32 size) -{ - cmp r2, #0 - bxeq lr - - tst r0, #1 - beq _020CE378 - ldrh r12, [r0, #-1] - and r12, r12, #0x00ff - orr r3, r12, r1, lsl #8 - strh r3, [r0, #-1] - add r0, r0, #1 - subs r2, r2, #1 - bxeq lr - -_020CE378: - cmp r2, #2 - bcc _020CE3C0 - orr r1, r1, r1, lsl #8 - tst r0, #2 - beq _020CE398 - strh r1, [r0], #2 - subs r2, r2, #2 - bxeq lr - -_020CE398: - orr r1, r1, r1, lsl #16 - bics r3, r2, #3 - beq _020CE3B8 - sub r2, r2, r3 - add r12, r3, r0 - -_020CE3AC: - str r1, [r0], #4 - cmp r0, r12 - bcc _020CE3AC - -_020CE3B8: - tst r2, #2 - strneh r1, [r0], #2 - -_020CE3C0: - tst r2, #1 - bxeq lr - ldrh r3, [r0] - and r3, r3, #0xff00 - and r1, r1, #0x00ff - orr r1, r1, r3 - strh r1, [r0] - bx lr -} - -ARM_FUNC asm void MI_CpuCopy8(register const void *srcp, register void *dstp, register u32 size) -{ - cmp r2, #0 - bxeq lr - - tst r1, #1 - beq _020CE420 - ldrh r12, [r1, #-1] - and r12, r12, #0x00ff - tst r0, #1 - ldrneh r3, [r0, #-1] - movne r3, r3, lsr #8 - ldreqh r3, [r0] - orr r3, r12, r3, lsl #8 - strh r3, [r1, #-1] - add r0, r0, #1 - add r1, r1, #1 - subs r2, r2, #1 - bxeq lr - -_020CE420: - eor r12, r1, r0 - tst r12, #1 - beq _020CE474 - - bic r0, r0, #1 - ldrh r12, [r0], #2 - mov r3, r12, lsr #8 - subs r2, r2, #2 - bcc _020CE458 - -_020CE440: - ldrh r12, [r0], #2 - orr r12, r3, r12, lsl #8 - strh r12, [r1], #2 - mov r3, r12, lsr #16 - subs r2, r2, #2 - bcs _020CE440 - -_020CE458: - tst r2, #1 - bxeq lr - ldrh r12, [r1] - and r12, r12, #0xff00 - orr r12, r12, r3 - strh r12, [r1] - bx lr - -_020CE474: - tst r12, #2 - beq _020CE4A0 - - bics r3, r2, #1 - beq _020CE4EC - sub r2, r2, r3 - add r12, r3, r1 - -_020CE48C: - ldrh r3, [r0], #2 - strh r3, [r1], #2 - cmp r1, r12 - bcc _020CE48C - b _020CE4EC - -_020CE4A0: - cmp r2, #2 - bcc _020CE4EC - tst r1, #2 - beq _020CE4C0 - ldrh r3, [r0], #2 - strh r3, [r1], #2 - subs r2, r2, #2 - bxeq lr - -_020CE4C0: - bics r3, r2, #3 - beq _020CE4E0 - sub r2, r2, r3 - add r12, r3, r1 - -_020CE4D0: - ldr r3, [r0], #4 - str r3, [r1], #4 - cmp r1, r12 - bcc _020CE4D0 - -_020CE4E0: - tst r2, #2 - ldrneh r3, [r0], #2 - strneh r3, [r1], #2 - -_020CE4EC: - tst r2, #1 - bxeq lr - ldrh r2, [r1] - ldrh r0, [r0] - and r2, r2, #0xff00 - and r0, r0, #0x00ff - orr r0, r2, r0 - strh r0, [r1] - - bx lr -} - -THUMB_FUNC asm void MI_Zero36B(register void *pDest) -{ - mov r1, #0 - mov r2, #0 - mov r3, #0 - stmia r0!, {r1, r2, r3} - stmia r0!, {r1, r2, r3} - stmia r0!, {r1, r2, r3} - - bx lr -} |