diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-11-14 17:44:04 -0600 |
---|---|---|
committer | Seth Barberee <seth.barberee@gmail.com> | 2020-11-14 17:44:04 -0600 |
commit | 3b75b10bbbc99fbbba573142a3f027c3c0492593 (patch) | |
tree | a1fef25e1f8be1e59d07a3fcd9d490175384497e /src/code_809D148.c | |
parent | 9237db777e49204e8f09ec6607caefedb469da05 (diff) |
more decomping and some data dumping
Diffstat (limited to 'src/code_809D148.c')
-rw-r--r-- | src/code_809D148.c | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/src/code_809D148.c b/src/code_809D148.c index 965ca12..5d3c908 100644 --- a/src/code_809D148.c +++ b/src/code_809D148.c @@ -18,6 +18,9 @@ struct unkStruct_20399E8 u32 unk30; u32 unk34; u32 unk38; + u32 unk3C; + u32 unk40; + u8 unk44; }; struct unkStruct_809D158 @@ -264,14 +267,31 @@ u32 sub_809D234(void) } // TODO regswap but matches otherwise -//u8 sub_809D248(struct unkStruct_809D158 *r0) -//{ -// u32 temp; -// u32 temp1; -// -// temp = gUnknown_20399E8.unk3C; -// temp1 = gUnknown_20399E8.unk40; -// r0->unk0 = temp; -// r0->unk4 = temp1; -// return gUnknown_20399E8.unk44; -//} +// Loads struct into R1... should be R3 +#ifndef NONMATCHING +NAKED +#endif +u8 sub_809D248(struct unkStruct_809D158 *r0) +{ +#ifdef NONMATCHING + u32 temp; + u32 temp1; + + temp = gUnknown_20399E8.unk3C; + temp1 = gUnknown_20399E8.unk40; + r0->unk0 = temp; + r0->unk4 = temp1; + return gUnknown_20399E8.unk44; +#else + asm_unified("\tldr r3, _0809D258\n" + "\tldr r1, [r3, 0x3C]\n" + "\tldr r2, [r3, 0x40]\n" + "\tstr r1, [r0]\n" + "\tstr r2, [r0, 0x4]\n" + "\tadds r3, 0x44\n" + "\tldrb r0, [r3]\n" + "\tbx lr\n" + "\t.align 2, 0\n" +"_0809D258: .4byte gUnknown_20399E8"); +#endif +} |