From 1a649b9146fae34c623e8029e8effed973ea4ecb Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Fri, 25 Sep 2020 00:10:54 -0500 Subject: split, decomp, rinse, repeat --- src/code_8048480.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/code_8048480.c (limited to 'src/code_8048480.c') diff --git a/src/code_8048480.c b/src/code_8048480.c new file mode 100644 index 0000000..7033590 --- /dev/null +++ b/src/code_8048480.c @@ -0,0 +1,21 @@ +#include "global.h" + +extern void sub_807D148(u32 r0, u32 r1, u32 r2, u32 r3); +extern void sub_8075FCC(void); +extern void sub_8077AE4(u32 r0, u32 r1, u32 r2); +extern void sub_8072008(u32 r0, u32 r1, u32 r2, u32 r3); + +void sub_8048480(u32 r0, u32 r1) +{ + sub_807D148(r0, r1, 0, 0); +} + +void sub_8048490(void) +{ + sub_8075FCC(); +} + +void sub_804849C(u32 r0, u32 r1) +{ + sub_8077AE4(r0, r1, 1); +} -- cgit v1.2.3 From bad9c1bf1f0260db29a2762f92ea21b3280ca114 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Sun, 25 Oct 2020 22:52:36 -0500 Subject: some more func work --- src/code_8048480.c | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) (limited to 'src/code_8048480.c') diff --git a/src/code_8048480.c b/src/code_8048480.c index 7033590..13415f5 100644 --- a/src/code_8048480.c +++ b/src/code_8048480.c @@ -3,7 +3,11 @@ extern void sub_807D148(u32 r0, u32 r1, u32 r2, u32 r3); extern void sub_8075FCC(void); extern void sub_8077AE4(u32 r0, u32 r1, u32 r2); -extern void sub_8072008(u32 r0, u32 r1, u32 r2, u32 r3); +extern void sub_8072008(u32 r0, u32 r1, u32 r2, u8 r3); +extern void sub_8076D10(void); +extern void sub_80522F4(u32 r0, u32 r1, u32 r2); +extern void sub_807232C(u32 r0, u32 r1, u32 r2); +extern u32 gUnknown_80F89F4; void sub_8048480(u32 r0, u32 r1) { @@ -19,3 +23,41 @@ void sub_804849C(u32 r0, u32 r1) { sub_8077AE4(r0, r1, 1); } + +#ifndef NONMATCHING +NAKED +#endif +void sub_80484A8(u32 r0, u32 r1) +{ +#ifdef NONMATCHING + // TODO missing something on the stack + u32 *temp; + *temp = 1; + sub_8072008(r0, r1, 1, 1); +#else + asm_unified("\tpush {lr}\n" + "\tsub sp, 0x4\n" + "\tmovs r2, 0x1\n" + "\tstr r2, [sp]\n" + "\tmovs r3, 0x1\n" + "\tbl sub_8072008\n" + "\tadd sp, 0x4\n" + "\tpop {r0}\n" + "\tbx r0"); +#endif +} + +void sub_80484BC(void) +{ + sub_8076D10(); +} + +void sub_80484C8(u32 r0, u32 r1) +{ + sub_80522F4(r0, r1, gUnknown_80F89F4); +} + +void sub_80484DC(u32 r0, u32 r1) +{ + sub_807232C(r0, r1, 1); +} -- cgit v1.2.3 From 4dee2a71d4085a15fc2b01371b060e08e2745970 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Mon, 2 Nov 2020 10:47:57 -0600 Subject: fix nonmatching.. needed a volatile --- src/code_8048480.c | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'src/code_8048480.c') diff --git a/src/code_8048480.c b/src/code_8048480.c index 13415f5..aac957a 100644 --- a/src/code_8048480.c +++ b/src/code_8048480.c @@ -24,27 +24,11 @@ void sub_804849C(u32 r0, u32 r1) sub_8077AE4(r0, r1, 1); } -#ifndef NONMATCHING -NAKED -#endif void sub_80484A8(u32 r0, u32 r1) { -#ifdef NONMATCHING - // TODO missing something on the stack - u32 *temp; - *temp = 1; + volatile u32 temp; + temp = 1; sub_8072008(r0, r1, 1, 1); -#else - asm_unified("\tpush {lr}\n" - "\tsub sp, 0x4\n" - "\tmovs r2, 0x1\n" - "\tstr r2, [sp]\n" - "\tmovs r3, 0x1\n" - "\tbl sub_8072008\n" - "\tadd sp, 0x4\n" - "\tpop {r0}\n" - "\tbx r0"); -#endif } void sub_80484BC(void) -- cgit v1.2.3