summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-10-21 17:48:40 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-10-21 17:48:40 -0500
commite1f9c17e3569e666d81f9d20fb9d57d4cd614eb0 (patch)
treede9cf09407173cb0530ca52cbf7d186686375f88 /src
parent184d3819ab381c54821b157770d015c0dce8d82a (diff)
further splitting and decomping
Diffstat (limited to 'src')
-rw-r--r--src/code_8040094.c26
-rw-r--r--src/code_8041AD0.c183
-rw-r--r--src/memory.c33
3 files changed, 242 insertions, 0 deletions
diff --git a/src/code_8040094.c b/src/code_8040094.c
new file mode 100644
index 0000000..c384b51
--- /dev/null
+++ b/src/code_8040094.c
@@ -0,0 +1,26 @@
+#include "global.h"
+
+extern u8 *gUnknown_203B418;
+extern u32 gUnknown_203B47C;
+
+extern void sub_803F7BC(void);
+extern void sub_80060EC(void);
+extern void sub_8094FB4(u32);
+extern void sub_800CB20(void);
+extern void sub_800485C(void);
+extern void xxx_call_update_bg_sound_input(void);
+extern void sub_8083F58(void);
+extern void sub_8011860(void);
+
+void sub_8040094(u8 r0)
+{
+ gUnknown_203B418[0x18217] = r0;
+ sub_803F7BC();
+ sub_80060EC();
+ sub_8094FB4(gUnknown_203B47C);
+ sub_800CB20();
+ sub_800485C();
+ xxx_call_update_bg_sound_input();
+ sub_8083F58();
+ sub_8011860();
+}
diff --git a/src/code_8041AD0.c b/src/code_8041AD0.c
new file mode 100644
index 0000000..050f756
--- /dev/null
+++ b/src/code_8041AD0.c
@@ -0,0 +1,183 @@
+#include "global.h"
+
+extern void sub_804151C(u32 r0, u32 r1, u32 r2);
+extern void sub_80421C0(u32 r0, u32 r1);
+extern void sub_806CDD4(u32 r0, u8, u8);
+
+void sub_8041AD0(u32 r0)
+{
+ sub_804151C(r0, 0xA2 << 1, 1);
+}
+
+void sub_8041AE0(u32 r0)
+{
+ sub_804151C(r0, 0x143, 1);
+}
+
+void sub_8041AF4(u32 r0)
+{
+ sub_804151C(r0, 0x25, 1);
+ sub_80421C0(r0, 0x197);
+}
+
+void nullsub_57(void)
+{
+}
+
+void sub_8041B18(u32 r0)
+{
+ sub_804151C(r0, 0x141, 1);
+}
+
+void nullsub_58(void)
+{
+}
+
+void nullsub_59(void)
+{
+}
+
+void sub_8041B34(u32 r0)
+{
+ sub_804151C(r0, 7, 1);
+}
+
+void nullsub_60(void)
+{
+}
+
+void sub_8041B48(u32 r0)
+{
+ sub_804151C(r0, 4, 0);
+}
+
+void nullsub_61(void)
+{
+}
+
+void sub_8041B5C(u32 r0)
+{
+ sub_804151C(r0, 0x171, 1);
+}
+
+void nullsub_62(void)
+{
+}
+
+void sub_8041B74(u32 r0)
+{
+ sub_804151C(r0, 0x171, 0);
+}
+
+void nullsub_63(void)
+{
+}
+
+void nullsub_64(void)
+{
+}
+
+void sub_8041B90(u32 r0)
+{
+ sub_804151C(r0, 0xD6 << 1, 0);
+}
+
+void nullsub_65(void)
+{
+}
+
+void nullsub_66(void)
+{
+}
+
+void sub_8041BA8(u32 r0)
+{
+ sub_804151C(r0, 4, 1);
+}
+
+void nullsub_67(void)
+{
+}
+
+void sub_8041BBC(u32 r0)
+{
+ sub_804151C(r0, 0xD4 << 1, 1);
+}
+
+void nullsub_68(void)
+{
+}
+
+void sub_8041BD0(u32 r0, u8 r1)
+{
+ if(r1 == 0)
+ {
+ return;
+ }
+ sub_80421C0(r0, 0x1a5);
+}
+
+void sub_8041BE8(u32 r0)
+{
+ sub_80421C0(r0, 0xCB << 1);
+}
+
+void sub_8041BF8(u32 r0)
+{
+ sub_806CDD4(r0, 0xA, 8);
+}
+
+void sub_8041C08(u32 r0)
+{
+ sub_804151C(r0, 0x1a7, 1);
+}
+
+void sub_8041C1C(u32 r0)
+{
+ sub_804151C(r0, 0x1a7, 1);
+}
+
+void nullsub_69(void)
+{
+}
+
+void sub_8041C34(u32 r0)
+{
+ sub_804151C(r0, 0x4C, 1);
+}
+
+void nullsub_70(void)
+{
+}
+
+void nullsub_71(void)
+{
+}
+
+void sub_8041C4C(u32 r0, u32 r1)
+{
+ sub_804151C(r0, r1, 1);
+}
+
+void sub_8041C58(u32 r0)
+{
+ sub_804151C(r0, 0x1a9, 1);
+}
+
+void sub_8041C6C(u32 r0)
+{
+ sub_804151C(r0, 0x9D << 1, 1);
+}
+
+void sub_8041C7C(u32 r0)
+{
+ sub_804151C(r0, 0x9D << 1, 1);
+}
+
+void nullsub_72(void)
+{
+}
+
+void nullsub_73(void)
+{
+}
diff --git a/src/memory.c b/src/memory.c
index 05c89a2..3ac8772 100644
--- a/src/memory.c
+++ b/src/memory.c
@@ -143,3 +143,36 @@ void InitSubHeap(struct HeapDescriptor *parentHeap, struct HeapMemoryBlock *bloc
settings.size = aligned_size;
DoInitHeap(parentHeap, &settings, freeList, freeListMax);
}
+
+u8 xxx_memory_attr_related(u32 r0)
+{
+ u32 temp;
+ u32 return_var;
+ if(r0 == 0)
+ {
+ return 0;
+ }
+ if((r0 & 8) != 0)
+ {
+ return 4;
+ }
+
+ temp = r0 & 7;
+ if(temp == 7)
+ {
+ return_var = 1;;
+ }
+ else if(temp == 1)
+ {
+ return_var = 2;
+ }
+ else if(temp == 3)
+ {
+ return_var = 3;
+ }
+ else
+ {
+ return_var = 5;
+ }
+ return return_var;
+}