summaryrefslogtreecommitdiff
path: root/arm9/asm/unk_02022450.s
blob: 73169e78c2c2b75bc876749a124ae0c14ae577e7 (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
	.include "asm/macros.inc"
    .include "global.inc"

	.section .rodata

	.global UNK_020EE6D4
UNK_020EE6D4: ; 0x020EE6D4
	.asciz "rom"

	.text

	thumb_func_start FUN_02022450
FUN_02022450: ; 0x02022450
	push {r3, lr}
	bl FS_IsAvailable
	cmp r0, #0x0
	bne _02022460
	bl OS_Terminate
	pop {r3, pc}
_02022460:
	ldr r0, _020224BC ; =0x027FF00C
	ldr r0, [r0, #0x0]
	cmp r0, #0x0
	bne _0202248A
	bl CARD_Init
	mov r2, #0x16
	ldr r0, _020224C0 ; =0x027FFE00
	ldr r1, _020224C4 ; =0x027FF000
	lsl r2, r2, #0x4
	bl MI_CpuCopy8
	mov r2, #0x16
	ldr r0, _020224C0 ; =0x027FFE00
	ldr r1, _020224C8 ; =0x027FFA80
	lsl r2, r2, #0x4
	bl MI_CpuCopy8
	ldr r1, _020224CC ; =0x4A414441
	ldr r0, _020224BC ; =0x027FF00C
	str r1, [r0, #0x0]
_0202248A:
	ldr r0, _020224D0 ; =UNK_020EE6D4
	mov r1, #0x3
	bl FS_FindArchive
	ldr r1, _020224C4 ; =0x027FF000
	ldr r2, [r1, #0x48]
	str r2, [r0, #0x2c]
	ldr r2, [r1, #0x4c]
	str r2, [r0, #0x30]
	ldr r2, [r1, #0x40]
	str r2, [r0, #0x34]
	ldr r2, [r1, #0x44]
	str r2, [r0, #0x38]
	ldr r2, [r1, #0xc]
	ldr r0, _020224CC ; =0x4A414441
	cmp r2, r0
	bne _020224B4
	ldrh r1, [r1, #0x10]
	ldr r0, _020224D4 ; =0x00003130
	cmp r1, r0
	beq _020224B8
_020224B4:
	bl OS_Terminate
_020224B8:
	pop {r3, pc}
	nop
_020224BC: .word 0x027FF00C
_020224C0: .word 0x027FFE00
_020224C4: .word 0x027FF000
_020224C8: .word 0x027FFA80
_020224CC: .word 0x4A414441
_020224D0: .word UNK_020EE6D4
_020224D4: .word 0x00003130

	thumb_func_start FUN_020224D8
FUN_020224D8: ; 0x020224D8
	push {r4, lr}
	sub sp, #0x48
	add r4, r0, #0x0
	add r0, sp, #0x0
	bl FS_InitFile
	add r0, sp, #0x0
	add r1, r4, #0x0
	bl FS_OpenFile
	cmp r0, #0x0
	beq _020224FC
	ldr r1, [sp, #0x24]
	ldr r0, _02022500 ; =0x027FFC2C
	str r1, [r0, #0x0]
	mov r0, #0x0
	bl OS_ResetSystem
_020224FC:
	add sp, #0x48
	pop {r4, pc}
	.balign 4
_02022500: .word 0x027FFC2C