Merge pull request #266 from nonmatch/patch-7

Match sub_0801D898
This commit is contained in:
notyourav 2022-01-09 20:47:37 -08:00 committed by GitHub
commit 027cada70b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 43 deletions

View File

@ -1,39 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r4, r1, #0
adds r6, r2, #0
movs r0, #0x80
lsls r0, r0, #8
ands r0, r3
movs r1, #0x20
mov ip, r1
cmp r0, #0
beq _0801D8B2
movs r0, #0x40
mov ip, r0
_0801D8B2:
ldr r0, _0801D8D8 @ =0x00007FFF
ands r3, r0
ldr r1, _0801D8DC @ =0x040000D4
movs r2, #0x80
lsls r2, r2, #0x18
orrs r2, r6
lsls r7, r6, #1
mov r0, ip
lsls r6, r0, #1
_0801D8C4:
str r4, [r1]
str r5, [r1, #4]
str r2, [r1, #8]
ldr r0, [r1, #8]
adds r4, r4, r7
adds r5, r5, r6
subs r3, #1
cmp r3, #0
bne _0801D8C4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D8D8: .4byte 0x00007FFF
_0801D8DC: .4byte 0x040000D4
.syntax divided

View File

@ -309,7 +309,7 @@ void LoadGfxGroup(u32 group) {
}
// regalloc
NONMATCH("asm/non_matching/common/sub_0801D898.inc", void sub_0801D898(void* dest, void* src, u32 word, u32 size)) {
void sub_0801D898(void* dest, void* src, u32 word, u32 size) {
u32 v6;
u32 i;
@ -318,13 +318,12 @@ NONMATCH("asm/non_matching/common/sub_0801D898.inc", void sub_0801D898(void* des
else
v6 = 0x20;
i = size & ~0x8000;
size &= (short)~0x8000;
do {
DmaSet(3, src, dest, word | 0x80000000) src += word * 2;
dest += v6 * 2;
} while (--i);
} while (--size);
}
END_NONMATCH
ASM_FUNC("asm/non_matching/common/zMalloc.inc", void* zMalloc(u32 size));