summaryrefslogtreecommitdiff
path: root/arm9
diff options
context:
space:
mode:
Diffstat (limited to 'arm9')
-rw-r--r--arm9/asm/error_handling.s17
-rw-r--r--arm9/src/error_handling.c16
2 files changed, 16 insertions, 17 deletions
diff --git a/arm9/asm/error_handling.s b/arm9/asm/error_handling.s
deleted file mode 100644
index d6330897..00000000
--- a/arm9/asm/error_handling.s
+++ /dev/null
@@ -1,17 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start ErrorHandling
-ErrorHandling: ; 0x02020C2C
- push {r3, lr}
- bl FUN_02031810
- cmp r0, #0x0
- beq _02020C42
- bl OS_GetProcMode
- cmp r0, #0x12
- beq _02020C42
- bl PrintErrorMessageAndReset
-_02020C42:
- pop {r3, pc}
diff --git a/arm9/src/error_handling.c b/arm9/src/error_handling.c
new file mode 100644
index 00000000..7ccadd95
--- /dev/null
+++ b/arm9/src/error_handling.c
@@ -0,0 +1,16 @@
+#include "global.h"
+#include "error_handling.h"
+
+extern u32 FUN_02031810(void);
+extern void PrintErrorMessageAndReset(void);
+
+THUMB_FUNC void ErrorHandling(void)
+{
+ if (FUN_02031810())
+ {
+ if (OS_GetProcMode() != OS_PROCMODE_IRQ)
+ {
+ PrintErrorMessageAndReset();
+ }
+ }
+} \ No newline at end of file