summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/code_80118A4.s163
-rw-r--r--asm/fatal_system.s157
-rwxr-xr-xld_script.txt2
-rw-r--r--src/code_80118A4_1.c15
4 files changed, 174 insertions, 163 deletions
diff --git a/asm/code_80118A4.s b/asm/code_80118A4.s
index e96623d..13edd86 100644
--- a/asm/code_80118A4.s
+++ b/asm/code_80118A4.s
@@ -307,167 +307,4 @@ _08011B2E:
_08011B38: .4byte gUnknown_203B150
thumb_func_end sub_8011B20
- thumb_func_start sub_8011B3C
-sub_8011B3C:
- ldr r0, _08011B44
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08011B44: .4byte gUnknown_203B150
- thumb_func_end sub_8011B3C
-
- thumb_func_start nullsub_137
-nullsub_137:
- bx lr
- thumb_func_end nullsub_137
-
- thumb_func_start FatalErrorPrintFuncFileLine
-FatalErrorPrintFuncFileLine:
- push {lr}
- sub sp, 0x100
- adds r2, r0, 0
- cmp r2, 0
- beq _08011B5E
- mov r0, sp
- bl PrintFuncFileLine
- b _08011B66
-_08011B5E:
- ldr r2, _08011B6C
- mov r0, sp
- bl PrintFuncFileLine
-_08011B66:
- add sp, 0x100
- pop {r0}
- bx r0
- .align 2, 0
-_08011B6C: .4byte gUnknown_80D421C
- thumb_func_end FatalErrorPrintFuncFileLine
-
- thumb_func_start FatalErrorFormatMessage
-FatalErrorFormatMessage:
- push {r0-r3}
- push {lr}
- sub sp, 0x100
- ldr r1, [sp, 0x104]
- add r2, sp, 0x108
- mov r0, sp
- bl vsprintf
- add sp, 0x100
- pop {r3}
- add sp, 0x10
- bx r3
- thumb_func_end FatalErrorFormatMessage
-
- thumb_func_start sub_8011B88
-sub_8011B88:
- push {r0-r3}
- push {lr}
- sub sp, 0x100
- ldr r1, [sp, 0x104]
- add r2, sp, 0x108
- mov r0, sp
- bl vsprintf
- add sp, 0x100
- pop {r3}
- add sp, 0x10
- 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 gUnknown_80D4288
- 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 gUnknown_80D42C0
-_08011C18: .4byte gUnknown_80D42D4
- thumb_func_end FatalError
-
.align 2,0 @ Don't pad with nop
diff --git a/asm/fatal_system.s b/asm/fatal_system.s
new file mode 100644
index 0000000..3a53878
--- /dev/null
+++ b/asm/fatal_system.s
@@ -0,0 +1,157 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start FatalErrorPrintFuncFileLine
+FatalErrorPrintFuncFileLine:
+ push {lr}
+ sub sp, 0x100
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08011B5E
+ mov r0, sp
+ bl PrintFuncFileLine
+ b _08011B66
+_08011B5E:
+ ldr r2, _08011B6C
+ mov r0, sp
+ bl PrintFuncFileLine
+_08011B66:
+ add sp, 0x100
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08011B6C: .4byte gUnknown_80D421C
+ thumb_func_end FatalErrorPrintFuncFileLine
+
+ thumb_func_start FatalErrorFormatMessage
+FatalErrorFormatMessage:
+ push {r0-r3}
+ push {lr}
+ sub sp, 0x100
+ ldr r1, [sp, 0x104]
+ add r2, sp, 0x108
+ mov r0, sp
+ bl vsprintf
+ add sp, 0x100
+ pop {r3}
+ add sp, 0x10
+ bx r3
+ thumb_func_end FatalErrorFormatMessage
+
+ thumb_func_start sub_8011B88
+sub_8011B88:
+ push {r0-r3}
+ push {lr}
+ sub sp, 0x100
+ ldr r1, [sp, 0x104]
+ add r2, sp, 0x108
+ mov r0, sp
+ bl vsprintf
+ add sp, 0x100
+ pop {r3}
+ add sp, 0x10
+ 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 gUnknown_80D4288
+ 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 gUnknown_80D42C0
+_08011C18: .4byte gUnknown_80D42D4
+ thumb_func_end FatalError
+
+ .align 2,0
diff --git a/ld_script.txt b/ld_script.txt
index a914b12..d1d67ff 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -71,6 +71,8 @@ SECTIONS {
asm/code_800D090.o(.text);
src/code_80118A4.o(.text);
asm/code_80118A4.o(.text);
+ src/code_80118A4_1.o(.text);
+ asm/fatal_system.o(.text);
src/save.o(.text);
asm/save.o(.text);
src/save1.o(.text);
diff --git a/src/code_80118A4_1.c b/src/code_80118A4_1.c
new file mode 100644
index 0000000..9d6bc5e
--- /dev/null
+++ b/src/code_80118A4_1.c
@@ -0,0 +1,15 @@
+#include "global.h"
+
+extern u8 gUnknown_203B150;
+
+// unused
+u8 sub_8011B3C(void)
+{
+ return gUnknown_203B150;
+}
+
+// unused
+void nullsub_137(void)
+{
+
+}