summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-10-14 19:20:20 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-10-14 19:20:20 -0500
commit4409e37e7361e8731d1ac5cc1f336f13e62b28bd (patch)
tree0e8a1f35164ef87548e5b81a50cae5efc857c1d1
parent6f63cc5f28baf344ae67984c9e698bfa5abe54af (diff)
decomp two funcs
-rw-r--r--asm/code_800B5F0.s35
-rw-r--r--src/code_800B5F0.c15
2 files changed, 15 insertions, 35 deletions
diff --git a/asm/code_800B5F0.s b/asm/code_800B5F0.s
index 937c774..1d2058a 100644
--- a/asm/code_800B5F0.s
+++ b/asm/code_800B5F0.s
@@ -5,41 +5,6 @@
.text
- thumb_func_start sub_800B6B0
-sub_800B6B0:
- push {r4,lr}
- ldr r1, _0800B6D0
- ldr r2, _0800B6D4
- bl CpuSet
- ldr r0, _0800B6D8
- ldr r4, _0800B6DC
- ldr r2, _0800B6E0
- adds r1, r4, 0
- bl CpuSet
- ldr r0, _0800B6E4
- str r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B6D0: .4byte gIntrTable
-_0800B6D4: .4byte 0x04000006
-_0800B6D8: .4byte IntrMain
-_0800B6DC: .4byte gUnknown_202D4B8
-_0800B6E0: .4byte 0x04000048
-_0800B6E4: .4byte INTR_VECTOR
- thumb_func_end sub_800B6B0
-
- thumb_func_start sub_800B6E8
-sub_800B6E8:
- lsls r0, 2
- ldr r1, _0800B6F0
- adds r0, r1
- bx lr
- .align 2, 0
-_0800B6F0: .4byte gIntrTable
- thumb_func_end sub_800B6E8
-
thumb_func_start sub_800B6F4
sub_800B6F4:
push {r4-r6,lr}
diff --git a/src/code_800B5F0.c b/src/code_800B5F0.c
index 4c111b0..5217606 100644
--- a/src/code_800B5F0.c
+++ b/src/code_800B5F0.c
@@ -3,6 +3,9 @@
#include "global.h"
extern u8 gUnknown_203B098;
+extern u32 gIntrTable[];
+extern u32 IntrMain;
+extern u8 gUnknown_202D4B8;
u8 sub_800B5F0(void)
{
@@ -69,3 +72,15 @@ void sub_800B67C(u16 r0)
INTR_CHECK |= r0;
REG_IME = 1;
}
+
+void sub_800B6B0(const u32 *r0)
+{
+ CpuCopy32(r0, &gIntrTable, 0x18); // 0x18 = 0x6 * 4 (0x4f00 is 32 bits)
+ CpuCopy32(&IntrMain, &gUnknown_202D4B8, 0x120); // 0x120 = 0x48 * 4 (0x4f00 is 32 bits)
+ INTR_VECTOR = &gUnknown_202D4B8;
+}
+
+u32 *sub_800B6E8(u32 r0)
+{
+ return &gIntrTable[r0];
+}