summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/fatal_system.s97
-rw-r--r--asm/fatal_system_1.s72
-rwxr-xr-xld_script.txt2
-rw-r--r--src/fatal_system.c28
4 files changed, 102 insertions, 97 deletions
diff --git a/asm/fatal_system.s b/asm/fatal_system.s
index 9c4f81c..45009ee 100644
--- a/asm/fatal_system.s
+++ b/asm/fatal_system.s
@@ -57,101 +57,4 @@ sub_8011B88:
bx r3
thumb_func_end sub_8011B88
- thumb_func_start nullsub_28
-nullsub_28:
- bx lr
- thumb_func_end nullsub_28
-
- thumb_func_start sub_8011BA4
-sub_8011BA4:
- movs r0, 0
- bx lr
- thumb_func_end sub_8011BA4
-
- thumb_func_start sub_8011BA8
-sub_8011BA8:
- movs r0, 0
- bx lr
- thumb_func_end sub_8011BA8
-
- thumb_func_start sub_8011BAC
-sub_8011BAC:
- ldr r0, _08011BB0
- bx lr
- .align 2, 0
-_08011BB0: .4byte gNotMountText
- thumb_func_end sub_8011BAC
-
- thumb_func_start sub_8011BB4
-sub_8011BB4:
- push {lr}
- bl Hang
- pop {r0}
- bx r0
- thumb_func_end sub_8011BB4
-
- thumb_func_start Log
-Log:
- push {r1-r3}
- add sp, 0xC
- bx lr
- thumb_func_end Log
-
- thumb_func_start sub_8011BC8
-sub_8011BC8:
- push {r2,r3}
- add sp, 0x8
- bx lr
- thumb_func_end sub_8011BC8
-
- thumb_func_start nullsub_29
-nullsub_29:
- bx lr
- thumb_func_end nullsub_29
-
- thumb_func_start nullsub_30
-nullsub_30:
- bx lr
- thumb_func_end nullsub_30
-
- thumb_func_start nullsub_31
-nullsub_31:
- bx lr
- thumb_func_end nullsub_31
-
- thumb_func_start nullsub_32
-nullsub_32:
- bx lr
- thumb_func_end nullsub_32
-
- thumb_func_start FatalErrorHang
-FatalErrorHang:
- push {lr}
- bl Hang
- pop {r0}
- bx r0
- thumb_func_end FatalErrorHang
-
- thumb_func_start FatalError
-FatalError:
- push {r1-r3}
- push {r4,lr}
- sub sp, 0x100
- adds r1, r0, 0
- ldr r4, [sp, 0x108]
- ldr r0, _08011C14
- bl FatalErrorPrintFuncFileLine
- add r2, sp, 0x10C
- mov r0, sp
- adds r1, r4, 0
- bl vsprintf
- ldr r0, _08011C18
- mov r1, sp
- bl FatalErrorFormatMessage
- bl FatalErrorHang
- .align 2, 0
-_08011C14: .4byte gFatalText
-_08011C18: .4byte gUnknown_80D42D4
- thumb_func_end FatalError
-
.align 2,0
diff --git a/asm/fatal_system_1.s b/asm/fatal_system_1.s
new file mode 100644
index 0000000..a68366e
--- /dev/null
+++ b/asm/fatal_system_1.s
@@ -0,0 +1,72 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start Log
+Log:
+ push {r1-r3}
+ add sp, 0xC
+ bx lr
+ thumb_func_end Log
+
+ thumb_func_start sub_8011BC8
+sub_8011BC8:
+ push {r2,r3}
+ add sp, 0x8
+ bx lr
+ thumb_func_end sub_8011BC8
+
+ thumb_func_start nullsub_29
+nullsub_29:
+ bx lr
+ thumb_func_end nullsub_29
+
+ thumb_func_start nullsub_30
+nullsub_30:
+ bx lr
+ thumb_func_end nullsub_30
+
+ thumb_func_start nullsub_31
+nullsub_31:
+ bx lr
+ thumb_func_end nullsub_31
+
+ thumb_func_start nullsub_32
+nullsub_32:
+ bx lr
+ thumb_func_end nullsub_32
+
+ thumb_func_start FatalErrorHang
+FatalErrorHang:
+ push {lr}
+ bl Hang
+ pop {r0}
+ bx r0
+ thumb_func_end FatalErrorHang
+
+ thumb_func_start FatalError
+FatalError:
+ push {r1-r3}
+ push {r4,lr}
+ sub sp, 0x100
+ adds r1, r0, 0
+ ldr r4, [sp, 0x108]
+ ldr r0, _08011C14
+ bl FatalErrorPrintFuncFileLine
+ add r2, sp, 0x10C
+ mov r0, sp
+ adds r1, r4, 0
+ bl vsprintf
+ ldr r0, _08011C18
+ mov r1, sp
+ bl FatalErrorFormatMessage
+ bl FatalErrorHang
+ .align 2, 0
+_08011C14: .4byte gFatalText
+_08011C18: .4byte gUnknown_80D42D4
+ thumb_func_end FatalError
+
+ .align 2,0
diff --git a/ld_script.txt b/ld_script.txt
index 875388b..23346ab 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -79,6 +79,8 @@ SECTIONS {
asm/code_80118A4.o(.text);
src/code_80118A4_1.o(.text);
asm/fatal_system.o(.text);
+ src/fatal_system.o(.text);
+ asm/fatal_system_1.o(.text);
src/save.o(.text);
asm/save.o(.text);
src/save_mid.o(.text);
diff --git a/src/fatal_system.c b/src/fatal_system.c
new file mode 100644
index 0000000..920712d
--- /dev/null
+++ b/src/fatal_system.c
@@ -0,0 +1,28 @@
+#include "global.h"
+
+extern const char gNotMountText;
+extern void Hang();
+
+void nullsub_28(void)
+{
+}
+
+u32 sub_8011BA4(void)
+{
+ return 0;
+}
+
+u32 sub_8011BA8(void)
+{
+ return 0;
+}
+
+const char *sub_8011BAC(void)
+{
+ return &gNotMountText;
+}
+
+void sub_8011BB4(void)
+{
+ Hang();
+}