summaryrefslogtreecommitdiff
path: root/src/code_800558C.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-11-10 13:54:27 -0600
committerSeth Barberee <seth.barberee@gmail.com>2020-11-10 13:54:27 -0600
commit0578f4a0623b0e3078f922c37a587d6bbafdbf4d (patch)
treec7e5b9530cf4a43b322042fc030cd23999a4be1e /src/code_800558C.c
parentbfceb5d70946c5335d8023f7ec2d98951d33d475 (diff)
more work on music.c and few more funcs
Diffstat (limited to 'src/code_800558C.c')
-rw-r--r--src/code_800558C.c142
1 files changed, 32 insertions, 110 deletions
diff --git a/src/code_800558C.c b/src/code_800558C.c
index 4cc90e9..13e3255 100644
--- a/src/code_800558C.c
+++ b/src/code_800558C.c
@@ -6,146 +6,68 @@ extern u32 gUnknown_203B47C;
extern u8 gUnknown_2026E38;
extern u32 gUnknown_2026E3C;
extern u16 gUnknown_2026E4E;
-extern u32 gUnknown_2026E50;
-extern u32 gUnknown_2026E54;
+extern bool32 gUnknown_2026E50;
+extern bool32 gUnknown_2026E54;
extern u32 gUnknown_2026E58;
-extern void sub_800CC44(u32 r0, u32 r1);
+extern void sub_800CC44(s32 r0, s32 r1);
// Unused
-#ifndef NONMATCHING
-NAKED
-#endif
void sub_80060A8(void)
{
-#ifdef NONMATCHING
- // TODO ordering of statements is wrong but regs are good so f*** it.
- // My mv/ldr stuff for temp is out of order
- u32 temp;
+
+ bool32 temp;
+ bool32 preload;
+ bool32 preload2;
+
gUnknown_2026E3C = gUnknown_2026E58;
- temp = 0;
- if (gUnknown_2026E54 == 0)
+ preload = gUnknown_2026E54;
+ temp = FALSE;
+ if (!gUnknown_2026E54)
{
- temp = 1;
+ temp = TRUE;
}
gUnknown_2026E54 = temp;
- temp = 0;
-
- if (gUnknown_2026E50 == 0)
+ preload2 = gUnknown_2026E50;
+ temp = FALSE;
+ if (!gUnknown_2026E50)
{
- temp = 1;
+ temp = TRUE;
}
gUnknown_2026E50 = temp;
- gUnknown_2026E38 = 0;
-#else
- asm_unified("\tpush {lr}\n"
- "\tldr r1, _080060D8\n"
- "\tldr r0, _080060DC\n"
- "\tldr r0, [r0]\n"
- "\tstr r0, [r1]\n"
- "\tldr r2, _080060E0\n"
- "\tmovs r1, 0\n"
- "\tldr r0, [r2]\n"
- "\tcmp r0, 0\n"
- "\tbne _080060BE\n"
- "\tmovs r1, 0x1\n"
-"_080060BE:\n"
- "\tstr r1, [r2]\n"
- "\tldr r2, _080060E4\n"
- "\tmovs r1, 0\n"
- "\tldr r0, [r2]\n"
- "\tcmp r0, 0\n"
- "\tbne _080060CC\n"
- "\tmovs r1, 0x1\n"
-"_080060CC:\n"
- "\tstr r1, [r2]\n"
- "\tldr r1, _080060E8\n"
- "\tmovs r0, 0\n"
- "\tstrb r0, [r1]\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
-"_080060D8: .4byte gUnknown_2026E3C\n"
-"_080060DC: .4byte gUnknown_2026E58\n"
-"_080060E0: .4byte gUnknown_2026E54\n"
-"_080060E4: .4byte gUnknown_2026E50\n"
-"_080060E8: .4byte gUnknown_2026E38");
-
-#endif
+ gUnknown_2026E38 = FALSE;
}
-#ifndef NONMATCHING
-NAKED
-#endif
void sub_80060EC(void)
{
-#ifdef NONMATCHING
- // TODO ordering of statements is wrong but regs are good so f*** it.
- u32 temp;
+ bool32 temp;
+ bool32 preload;
+ bool32 preload2;
+
gUnknown_2026E3C = gUnknown_2026E58;
- temp = 0;
- if (gUnknown_2026E54 == 0)
+ preload = gUnknown_2026E54;
+ temp = FALSE;
+
+ if (!gUnknown_2026E54)
{
- temp = 1;
+ temp = TRUE;
}
gUnknown_2026E54 = temp;
- temp = 0;
+
+ preload2 = gUnknown_2026E50;
+ temp = FALSE;
- if (gUnknown_2026E50 == 0)
+ if (!gUnknown_2026E50)
{
- temp = 1;
+ temp = TRUE;
}
gUnknown_2026E50 = temp;
sub_800CC44((gUnknown_2026E4E & (0xF8 << 5)) >> 8, gUnknown_2026E4E & 0x1F);
- gUnknown_2026E38 = 1;
-#else
- asm_unified("\tpush {lr}\n"
- "\tldr r1, _08006130\n"
- "\tldr r0, _08006134\n"
- "\tldr r0, [r0]\n"
- "\tstr r0, [r1]\n"
- "\tldr r2, _08006138\n"
- "\tmovs r1, 0\n"
- "\tldr r0, [r2]\n"
- "\tcmp r0, 0\n"
- "\tbne _08006102\n"
- "\tmovs r1, 0x1\n"
- "_08006102:\n"
- "\tstr r1, [r2]\n"
- "\tldr r2, _0800613C\n"
- "\tmovs r1, 0\n"
- "\tldr r0, [r2]\n"
- "\tcmp r0, 0\n"
- "\tbne _08006110\n"
- "\tmovs r1, 0x1\n"
- "_08006110:\n"
- "\tstr r1, [r2]\n"
- "\tldr r0, _08006140\n"
- "\tldrh r2, [r0]\n"
- "\tmovs r0, 0xF8\n"
- "\tlsls r0, 5\n"
- "\tands r0, r2\n"
- "\tlsrs r0, 8\n"
- "\tmovs r1, 0x1F\n"
- "\tands r1, r2\n"
- "\tbl sub_800CC44\n"
- "\tldr r1, _08006144\n"
- "\tmovs r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_08006130: .4byte gUnknown_2026E3C\n"
- "_08006134: .4byte gUnknown_2026E58\n"
- "_08006138: .4byte gUnknown_2026E54\n"
- "_0800613C: .4byte gUnknown_2026E50\n"
- "_08006140: .4byte gUnknown_2026E4E\n"
- "_08006144: .4byte gUnknown_2026E38");
-#endif
+ gUnknown_2026E38 = TRUE;
}