summaryrefslogtreecommitdiff
path: root/asm/fatal_system.s
blob: 3a5387860dc5174d715d77fd6d17e11b2e7956ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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