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
|
.include "asm/macros.inc"
.include "global.inc"
.text
arm_func_start OS_SetArenaLo
OS_SetArenaLo: ; 0x037F9BBC
mov r0, r0, lsl #2
add r0, r0, #40894464 ; 0x2700000
add r0, r0, #1044480 ; 0xff000
str r1, [r0, #3488] ; 0xda0
bx lr
arm_func_start OS_SetArenaHi
OS_SetArenaHi: ; 0x037F9BD0
mov r0, r0, lsl #2
add r0, r0, #40894464 ; 0x2700000
add r0, r0, #1044480 ; 0xff000
str r1, [r0, #3524] ; 0xdc4
bx lr
arm_func_start OS_GetInitArenaLo
OS_GetInitArenaLo: ; 0x037F9BE4
cmp r0, #1
beq _037F9C00
cmp r0, #7
beq _037F9C08
cmp r0, #8
beq _037F9C18
b _037F9C2C
_037F9C00:
ldr r0, _037F9C34 ; =0x027FAFCC
bx lr
_037F9C08:
ldr r0, _037F9C38 ; =0x0380B92C
cmp r0, #58720256 ; 0x03800000
movhi r0, #58720256 ; 0x03800000
bx lr
_037F9C18:
mov r0, #58720256 ; 0x03800000
ldr r1, _037F9C38 ; =0x0380B92C
cmp r1, #58720256 ; 0x03800000
movhi r0, r1
bx lr
_037F9C2C:
mov r0, #0
bx lr
_037F9C34: .word 0x027FAFCC
_037F9C38: .word 0x0380B92C
arm_func_start OS_GetInitArenaHi
OS_GetInitArenaHi: ; 0x037F9C3C
cmp r0, #1
beq _037F9C58
cmp r0, #7
beq _037F9C60
cmp r0, #8
beq _037F9C68
b _037F9CA0
_037F9C58:
ldr r0, _037F9CA8 ; =0x027FF000
bx lr
_037F9C60:
mov r0, #58720256 ; 0x03800000
bx lr
_037F9C68:
ldr r1, _037F9CAC ; =0x00000400
ldr r0, _037F9CB0 ; =0x0380FF80
sub r2, r0, r1
mov r0, #58720256 ; 0x03800000
ldr r1, _037F9CB4 ; =0x0380B92C
cmp r1, #58720256 ; 0x03800000
movhi r0, r1
ldr r1, _037F9CB8 ; =0x00000400
cmp r1, #0
bxeq lr
cmp r1, #0
sublt r0, r0, r1
subge r0, r2, r1
bx lr
_037F9CA0:
mov r0, #0
bx lr
_037F9CA8: .word 0x027FF000
_037F9CAC: .word 0x00000400
_037F9CB0: .word 0x0380FF80
_037F9CB4: .word 0x0380B92C
_037F9CB8: .word 0x00000400
arm_func_start OS_GetArenaLo
OS_GetArenaLo: ; 0x037F9CBC
mov r0, r0, lsl #2
add r0, r0, #40894464 ; 0x2700000
add r0, r0, #1044480 ; 0xff000
ldr r0, [r0, #3488] ; 0xda0
bx lr
arm_func_start OS_GetArenaHi
OS_GetArenaHi: ; 0x037F9CD0
mov r0, r0, lsl #2
add r0, r0, #40894464 ; 0x2700000
add r0, r0, #1044480 ; 0xff000
ldr r0, [r0, #3524] ; 0xdc4
bx lr
arm_func_start OS_InitArena
OS_InitArena: ; 0x037F9CE4
stmfd sp!, {lr}
sub sp, sp, #4
ldr r1, _037F9D84 ; =_038078F4
ldr r0, [r1]
cmp r0, #0
bne _037F9D78
mov r0, #1
str r0, [r1]
bl OS_GetInitArenaHi
mov r1, r0
mov r0, #1
bl OS_SetArenaHi
mov r0, #1
bl OS_GetInitArenaLo
mov r1, r0
mov r0, #1
bl OS_SetArenaLo
mov r0, #7
bl OS_GetInitArenaHi
mov r1, r0
mov r0, #7
bl OS_SetArenaHi
mov r0, #7
bl OS_GetInitArenaLo
mov r1, r0
mov r0, #7
bl OS_SetArenaLo
mov r0, #8
bl OS_GetInitArenaHi
mov r1, r0
mov r0, #8
bl OS_SetArenaHi
mov r0, #8
bl OS_GetInitArenaLo
mov r1, r0
mov r0, #8
bl OS_SetArenaLo
_037F9D78:
add sp, sp, #4
ldmia sp!, {lr}
bx lr
_037F9D84: .word _038078F4
|