mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-08 00:55:53 -05:00
Nonmatch sub_8007334 and match nullsub_154
This commit is contained in:
76
asm/text.s
76
asm/text.s
@@ -5,82 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8007334
|
||||
sub_8007334:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
ldr r0, _080073AC
|
||||
adds r3, r1, r0
|
||||
ldr r5, [r3, 0x14]
|
||||
movs r0, 0x2
|
||||
ldrsh r6, [r3, r0]
|
||||
movs r2, 0
|
||||
movs r1, 0x6
|
||||
ldrsh r0, [r3, r1]
|
||||
cmp r2, r0
|
||||
bge _080073A0
|
||||
ldr r7, _080073B0
|
||||
mov r9, r7
|
||||
_0800735A:
|
||||
movs r0, 0
|
||||
ldrsh r1, [r3, r0]
|
||||
movs r4, 0
|
||||
movs r7, 0x4
|
||||
ldrsh r0, [r3, r7]
|
||||
adds r7, r6, 0x1
|
||||
adds r2, 0x1
|
||||
mov r12, r2
|
||||
cmp r4, r0
|
||||
bge _08007394
|
||||
movs r0, 0xFC
|
||||
lsls r0, 8
|
||||
mov r8, r0
|
||||
lsls r1, 1
|
||||
lsls r0, r6, 6
|
||||
add r0, r9
|
||||
adds r2, r1, r0
|
||||
_0800737C:
|
||||
ldrh r0, [r2]
|
||||
mov r1, r8
|
||||
ands r1, r0
|
||||
orrs r1, r5
|
||||
strh r1, [r2]
|
||||
adds r2, 0x2
|
||||
adds r5, 0x1
|
||||
adds r4, 0x1
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r3, r1]
|
||||
cmp r4, r0
|
||||
blt _0800737C
|
||||
_08007394:
|
||||
adds r6, r7, 0
|
||||
mov r2, r12
|
||||
movs r7, 0x6
|
||||
ldrsh r0, [r3, r7]
|
||||
cmp r2, r0
|
||||
blt _0800735A
|
||||
_080073A0:
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080073AC: .4byte gUnknown_2027370
|
||||
_080073B0: .4byte gUnknown_202B038
|
||||
thumb_func_end sub_8007334
|
||||
|
||||
thumb_func_start nullsub_154
|
||||
nullsub_154:
|
||||
bx lr
|
||||
thumb_func_end nullsub_154
|
||||
|
||||
thumb_func_start sub_80073B8
|
||||
sub_80073B8:
|
||||
lsls r1, r0, 3
|
||||
|
||||
106
src/text2.c
106
src/text2.c
@@ -1164,4 +1164,108 @@ void sub_8006E94(struct UnkTextStruct1 *a0, s32 a1, u32 a2, const u8 *a3, u16 *a
|
||||
"_0800732C: .4byte 0x0000f27a\n"
|
||||
"_08007330: .4byte 0x0000f6d8");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
#endif // NONMATCHING
|
||||
|
||||
#ifdef NONMATCHING // https://decomp.me/scratch/zVTOf
|
||||
void sub_8007334(s32 a0)
|
||||
{
|
||||
s32 r1;
|
||||
s32 r2;
|
||||
struct UnkTextStruct1 *r3;
|
||||
s32 r4;
|
||||
u32 r5;
|
||||
s32 r6;
|
||||
s16 typeCheater;
|
||||
|
||||
r3 = &gUnknown_2027370[a0];
|
||||
r5 = r3->unk14;
|
||||
r6 = r3->unk2;
|
||||
for (r2 = 0; r2 < r3->unk6; r6++, r2++) {
|
||||
typeCheater = r3->unk0;
|
||||
r1 = typeCheater;
|
||||
for (r4 = 0; r4 < r3->unk4; r4++) {
|
||||
typeCheater = r1;
|
||||
gUnknown_202B038[0][r6][typeCheater + r4] &= 0xFC00;
|
||||
gUnknown_202B038[0][r6][typeCheater + r4] |= r5++;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_8007334(s32 a0)
|
||||
{
|
||||
asm_unified(
|
||||
"\tpush {r4-r7,lr}\n"
|
||||
"\tmov r7, r9\n"
|
||||
"\tmov r6, r8\n"
|
||||
"\tpush {r6,r7}\n"
|
||||
"\tlsls r1, r0, 3\n"
|
||||
"\tadds r1, r0\n"
|
||||
"\tlsls r1, 3\n"
|
||||
"\tldr r0, _080073AC\n"
|
||||
"\tadds r3, r1, r0\n"
|
||||
"\tldr r5, [r3, 0x14]\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tldrsh r6, [r3, r0]\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r1, 0x6\n"
|
||||
"\tldrsh r0, [r3, r1]\n"
|
||||
"\tcmp r2, r0\n"
|
||||
"\tbge _080073A0\n"
|
||||
"\tldr r7, _080073B0\n"
|
||||
"\tmov r9, r7\n"
|
||||
"_0800735A:\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tldrsh r1, [r3, r0]\n"
|
||||
"\tmovs r4, 0\n"
|
||||
"\tmovs r7, 0x4\n"
|
||||
"\tldrsh r0, [r3, r7]\n"
|
||||
"\tadds r7, r6, 0x1\n"
|
||||
"\tadds r2, 0x1\n"
|
||||
"\tmov r12, r2\n"
|
||||
"\tcmp r4, r0\n"
|
||||
"\tbge _08007394\n"
|
||||
"\tmovs r0, 0xFC\n"
|
||||
"\tlsls r0, 8\n"
|
||||
"\tmov r8, r0\n"
|
||||
"\tlsls r1, 1\n"
|
||||
"\tlsls r0, r6, 6\n"
|
||||
"\tadd r0, r9\n"
|
||||
"\tadds r2, r1, r0\n"
|
||||
"_0800737C:\n"
|
||||
"\tldrh r0, [r2]\n"
|
||||
"\tmov r1, r8\n"
|
||||
"\tands r1, r0\n"
|
||||
"\torrs r1, r5\n"
|
||||
"\tstrh r1, [r2]\n"
|
||||
"\tadds r2, 0x2\n"
|
||||
"\tadds r5, 0x1\n"
|
||||
"\tadds r4, 0x1\n"
|
||||
"\tmovs r1, 0x4\n"
|
||||
"\tldrsh r0, [r3, r1]\n"
|
||||
"\tcmp r4, r0\n"
|
||||
"\tblt _0800737C\n"
|
||||
"_08007394:\n"
|
||||
"\tadds r6, r7, 0\n"
|
||||
"\tmov r2, r12\n"
|
||||
"\tmovs r7, 0x6\n"
|
||||
"\tldrsh r0, [r3, r7]\n"
|
||||
"\tcmp r2, r0\n"
|
||||
"\tblt _0800735A\n"
|
||||
"_080073A0:\n"
|
||||
"\tpop {r3,r4}\n"
|
||||
"\tmov r8, r3\n"
|
||||
"\tmov r9, r4\n"
|
||||
"\tpop {r4-r7}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_080073AC: .4byte gUnknown_2027370\n"
|
||||
"_080073B0: .4byte gUnknown_202B038");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
|
||||
// Unused?
|
||||
void nullsub_154(void)
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user