summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-10-15 17:56:52 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-10-15 17:56:52 -0500
commit4d967dd694f106674982867263dfa5bbc16fe010 (patch)
tree71edcd1531076af68da21682eff73c353886e1b4
parent6c9dd59b5691cd7d5a19c740e8d22779e6a101aa (diff)
decomp some quick funcs
-rw-r--r--asm/code_80118A4.s137
-rw-r--r--src/code_80118A4.c59
-rw-r--r--src/code_80118A4_1.c54
3 files changed, 107 insertions, 143 deletions
diff --git a/asm/code_80118A4.s b/asm/code_80118A4.s
index 309f837..a5f7e3e 100644
--- a/asm/code_80118A4.s
+++ b/asm/code_80118A4.s
@@ -5,93 +5,7 @@
.text
- thumb_func_start sub_80119D4
-sub_80119D4:
- push {r4,lr}
- adds r2, r0, 0
- ldr r4, _080119FC
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _080119F6
- ldr r1, _08011A00
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
- movs r0, 0x4
- strh r0, [r4]
-_080119F6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080119FC: .4byte gUnknown_202DE20
-_08011A00: .4byte gUnknown_80D4144
- thumb_func_end sub_80119D4
-
- thumb_func_start sub_8011A04
-sub_8011A04:
- push {lr}
- ldr r1, _08011A24
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bgt _08011A1E
- movs r0, 0x3
- strh r0, [r1]
- ldr r0, _08011A28
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
-_08011A1E:
- pop {r0}
- bx r0
- .align 2, 0
-_08011A24: .4byte gUnknown_202DE22
-_08011A28: .4byte 0x00000131
- thumb_func_end sub_8011A04
-
- thumb_func_start sub_8011A2C
-sub_8011A2C:
- ldr r1, _08011A34
- str r0, [r1]
- bx lr
- .align 2, 0
-_08011A34: .4byte gUnknown_202DE1C
- thumb_func_end sub_8011A2C
-
- thumb_func_start NDS_DebugInit
-NDS_DebugInit:
- push {lr}
- bl nullsub_26
- bl nullsub_27
- bl nullsub_29
- bl nullsub_30
- bl nullsub_31
- bl nullsub_32
- bl nullsub_28
- ldr r1, _08011A60
- movs r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08011A60: .4byte gUnknown_203B14C
- thumb_func_end NDS_DebugInit
-
- thumb_func_start nullsub_25
-nullsub_25:
- bx lr
- thumb_func_end nullsub_25
-
- thumb_func_start nullsub_26
-nullsub_26:
- bx lr
- thumb_func_end nullsub_26
-
+ @ Unused
thumb_func_start PrintFuncFileLineOrNotEntry
PrintFuncFileLineOrNotEntry:
push {r4,lr}
@@ -143,6 +57,7 @@ PrintFuncFileLine:
_08011AC4: .4byte gUnknown_80D41C4
thumb_func_end PrintFuncFileLine
+ @ Unused
thumb_func_start PrintMessageWithFuncFileLine
PrintMessageWithFuncFileLine:
push {r2,r3}
@@ -172,52 +87,4 @@ PrintMessageWithFuncFileLine:
_08011AFC: .4byte gUnknown_80D41EC
thumb_func_end PrintMessageWithFuncFileLine
- thumb_func_start nullsub_199
-nullsub_199:
- bx lr
- thumb_func_end nullsub_199
-
- thumb_func_start nullsub_27
-nullsub_27:
- bx lr
- thumb_func_end nullsub_27
-
- thumb_func_start sub_8011B08
-sub_8011B08:
- ldr r1, _08011B10
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08011B10: .4byte gUnknown_203B150
- thumb_func_end sub_8011B08
-
- thumb_func_start sub_8011B14
-sub_8011B14:
- ldr r1, _08011B1C
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08011B1C: .4byte gUnknown_203B150
- thumb_func_end sub_8011B14
-
- thumb_func_start sub_8011B20
-sub_8011B20:
- push {lr}
- ldr r1, _08011B38
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08011B2E
- movs r2, 0x1
-_08011B2E:
- strb r2, [r1]
- ldrb r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_08011B38: .4byte gUnknown_203B150
- thumb_func_end sub_8011B20
-
.align 2,0 @ Don't pad with nop
diff --git a/src/code_80118A4.c b/src/code_80118A4.c
index 2ed0e9e..85782d7 100644
--- a/src/code_80118A4.c
+++ b/src/code_80118A4.c
@@ -1,6 +1,7 @@
#include "global.h"
void sub_8011924(void);
+void nullsub_26(void);
extern void sub_800BDFC(u16 r0);
extern void sub_800BE8C(u16 r0, u16 r1);
@@ -14,6 +15,13 @@ extern void sub_800C074(u16 r0, u16 r1);
extern void sub_800C298(u16 r0);
extern u8 sub_800C5D0(u16 r0);
+extern void nullsub_27(void);
+extern void nullsub_29(void);
+extern void nullsub_30(void);
+extern void nullsub_31(void);
+extern void nullsub_32(void);
+extern void nullsub_28(void);
+
struct UnkStructType
{
/* 0x0 */ s16 unk0;
@@ -22,6 +30,9 @@ struct UnkStructType
extern u16 gUnknown_80D4144[];
extern struct UnkStructType gUnknown_202DE20;
+extern struct UnkStructType gUnknown_202DE22;
+extern u32 gUnknown_202DE1C;
+extern u32 gUnknown_203B14C;
void sub_80118A4(void)
{
@@ -138,11 +149,43 @@ u8 sub_80119C0(u16 r0)
return sub_800C5D0(r0);
}
-// TODO pretty close except r4's where should be r2's
-//void sub_80119D4(u32 r0)
-//{
-// if(gUnknown_202DE20.unk0 > 0)
-// return;
-// sub_800C074(gUnknown_80D4144[r0], 0x80 << 1);
-// gUnknown_80D4144[r0] = 0x4;
-//}
+void sub_80119D4(u32 r0)
+{
+ if(gUnknown_202DE20.unk0 > 0)
+ return;
+ sub_800C074(gUnknown_80D4144[r0], 0x80 << 1);
+ gUnknown_202DE20.unk0 = 4;
+}
+
+void sub_8011A04(void)
+{
+ if(gUnknown_202DE22.unk0 > 0)
+ return;
+ gUnknown_202DE22.unk0 = 3;
+ sub_800C074(0x131, 0x80 << 1);
+}
+
+void sub_8011A2C(u32 r0)
+{
+ gUnknown_202DE1C = r0;
+}
+
+void NDS_DebugInit(void)
+{
+ nullsub_26();
+ nullsub_27();
+ nullsub_29();
+ nullsub_30();
+ nullsub_31();
+ nullsub_32();
+ nullsub_28();
+ gUnknown_203B14C = 1; // Maybe a flag saying Debug is on?
+}
+
+void nullsub_25(void)
+{
+}
+
+void nullsub_26(void)
+{
+}
diff --git a/src/code_80118A4_1.c b/src/code_80118A4_1.c
index 9d6bc5e..c2fa641 100644
--- a/src/code_80118A4_1.c
+++ b/src/code_80118A4_1.c
@@ -2,6 +2,60 @@
extern u8 gUnknown_203B150;
+void nullsub_199(void)
+{
+}
+
+void nullsub_27(void)
+{
+}
+
+void sub_8011B08(void)
+{
+ gUnknown_203B150 = 1;
+}
+
+void sub_8011B14(void)
+{
+ gUnknown_203B150 = 0;
+}
+
+#ifndef NONMATCHING
+NAKED
+#endif
+u8 sub_8011B20(void)
+{
+#ifdef NONMATCHING
+ // TODO figure out why I mix up my mv/ldr for these kinds of comparisons
+ u8 temp;
+ if(gUnknown_203B150 == 0)
+ {
+ temp = 1;
+ }
+ else
+ {
+ temp = 0;
+ }
+ gUnknown_203B150 = temp;
+ return gUnknown_203B150;
+#else
+ asm_unified("\tpush {lr}\n"
+ "\tldr r1, _08011B38\n"
+ "\tmovs r2, 0\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _08011B2E\n"
+ "\tmovs r2, 0x1\n"
+"_08011B2E:\n"
+ "\tstrb r2, [r1]\n"
+ "\tldrb r0, [r1]\n"
+ "\tpop {r1}\n"
+ "\tbx r1\n"
+ "\t.align 2, 0\n"
+"_08011B38: .4byte gUnknown_203B150");
+#endif
+}
+
// unused
u8 sub_8011B3C(void)
{