summaryrefslogtreecommitdiff
path: root/arm9/asm/math_util.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm/math_util.s')
-rw-r--r--arm9/asm/math_util.s59
1 files changed, 32 insertions, 27 deletions
diff --git a/arm9/asm/math_util.s b/arm9/asm/math_util.s
index a9ea9e9b..e22b0808 100644
--- a/arm9/asm/math_util.s
+++ b/arm9/asm/math_util.s
@@ -1,16 +1,21 @@
.include "asm/macros.inc"
.include "global.inc"
- .extern UNK_02105BAC
- .extern UNK_021C56C8
- .extern UNK_021C5348
+ .section .bss
+
+ .global gLCRNG_State
+gLCRNG_State: ; 0x021C4D48
+ .space 4
+
+ .global gMTRNG_State
+gMTRNG_State: ; 0x021C4D4C
+ .space 624 * 4
+
+ .extern UNK_020EDC7E
.extern UNK_020EDF50
- .extern UNK_021C4D4C
- .extern UNK_021C4D50
.extern UNK_020FFA38
.extern UNK_02105BA8
- .extern UNK_020EDC7E
- .extern UNK_021C4D48
+ .extern UNK_02105BAC
.text
@@ -108,23 +113,23 @@ _0201B9D0: .word UNK_020EDF50
thumb_func_start getseed_LC
getseed_LC: ; 0x0201B9D4
- ldr r0, _0201B9DC ; =UNK_021C4D48
+ ldr r0, _0201B9DC ; =gLCRNG_State
ldr r0, [r0, #0x0]
bx lr
nop
-_0201B9DC: .word UNK_021C4D48
+_0201B9DC: .word gLCRNG_State
thumb_func_start seedr_LC
seedr_LC: ; 0x0201B9E0
- ldr r1, _0201B9E8 ; =UNK_021C4D48
+ ldr r1, _0201B9E8 ; =gLCRNG_State
str r0, [r1, #0x0]
bx lr
nop
-_0201B9E8: .word UNK_021C4D48
+_0201B9E8: .word gLCRNG_State
thumb_func_start rand_LC
rand_LC: ; 0x0201B9EC
- ldr r1, _0201BA04 ; =UNK_021C4D48
+ ldr r1, _0201BA04 ; =gLCRNG_State
ldr r0, _0201BA08 ; =0x41C64E6D
ldr r2, [r1, #0x0]
add r3, r2, #0x0
@@ -137,7 +142,7 @@ rand_LC: ; 0x0201B9EC
lsr r0, r0, #0x10
bx lr
.balign 4
-_0201BA04: .word UNK_021C4D48
+_0201BA04: .word gLCRNG_State
_0201BA08: .word 0x41C64E6D
_0201BA0C: .word 0x00006073
@@ -153,13 +158,13 @@ _0201BA18: .word 0x6C078965
thumb_func_start seedr_MT
seedr_MT: ; 0x0201BA1C
push {r4-r5}
- ldr r1, _0201BA50 ; =UNK_021C4D48
+ ldr r1, _0201BA50 ; =gLCRNG_State
mov r4, #0x27
str r0, [r1, #0x4]
ldr r1, _0201BA54 ; =UNK_02105BA8
mov r0, #0x1
str r0, [r1, #0x0]
- ldr r1, _0201BA58 ; =UNK_021C4D50
+ ldr r1, _0201BA58 ; =gMTRNG_State + 4
ldr r3, _0201BA5C ; =0x6C078965
lsl r4, r4, #0x4
_0201BA30:
@@ -179,9 +184,9 @@ _0201BA30:
pop {r4-r5}
bx lr
nop
-_0201BA50: .word UNK_021C4D48
+_0201BA50: .word gLCRNG_State
_0201BA54: .word UNK_02105BA8
-_0201BA58: .word UNK_021C4D50
+_0201BA58: .word gMTRNG_State + 4
_0201BA5C: .word 0x6C078965
thumb_func_start rand_MT
@@ -199,7 +204,7 @@ rand_MT: ; 0x0201BA60
ldr r0, _0201BB48 ; =0x00001571
bl seedr_MT
_0201BA7A:
- ldr r4, _0201BB4C ; =UNK_021C4D4C
+ ldr r4, _0201BB4C ; =gMTRNG_State
ldr r1, _0201BB50 ; =UNK_02105BAC
ldr r5, _0201BB54 ; =0x7FFFFFFF
ldr r6, _0201BB58 ; =0x00000634
@@ -226,7 +231,7 @@ _0201BA84:
ldr r1, _0201BB5C ; =0x0000026F
cmp r0, r1
bge _0201BAE4
- ldr r2, _0201BB4C ; =UNK_021C4D4C
+ ldr r2, _0201BB4C ; =gMTRNG_State
lsl r1, r0, #0x2
add r1, r2, r1
mov r2, #0xe3
@@ -255,19 +260,19 @@ _0201BABC:
cmp r0, r3
blt _0201BABC
_0201BAE4:
- ldr r2, _0201BB60 ; =UNK_021C56C8
+ ldr r2, _0201BB60 ; =gMTRNG_State + 607 * 4
mov r0, #0x2
ldr r1, [r2, #0x40]
lsl r0, r0, #0x1e
add r3, r1, #0x0
- ldr r1, _0201BB64 ; =UNK_021C4D48
+ ldr r1, _0201BB64 ; =gLCRNG_State
and r3, r0
ldr r1, [r1, #0x4]
sub r0, r0, #0x1
and r0, r1
add r4, r3, #0x0
orr r4, r0
- ldr r0, _0201BB68 ; =UNK_021C5348
+ ldr r0, _0201BB68 ; =gMTRNG_State + 383 * 4
ldr r1, [r0, #0x34]
lsr r0, r4, #0x1
add r3, r1, #0x0
@@ -286,7 +291,7 @@ _0201BB18:
ldr r2, [r0, #0x0]
add r1, r2, #0x1
str r1, [r0, #0x0]
- ldr r0, _0201BB4C ; =UNK_021C4D4C
+ ldr r0, _0201BB4C ; =gMTRNG_State
lsl r1, r2, #0x2
ldr r1, [r0, r1]
lsr r0, r1, #0xb
@@ -307,14 +312,14 @@ _0201BB18:
.balign 4
_0201BB44: .word UNK_02105BA8
_0201BB48: .word 0x00001571
-_0201BB4C: .word UNK_021C4D4C
+_0201BB4C: .word gMTRNG_State
_0201BB50: .word UNK_02105BAC
_0201BB54: .word 0x7FFFFFFF
_0201BB58: .word 0x00000634
_0201BB5C: .word 0x0000026F
-_0201BB60: .word UNK_021C56C8
-_0201BB64: .word UNK_021C4D48
-_0201BB68: .word UNK_021C5348
+_0201BB60: .word gMTRNG_State + 607 * 4
+_0201BB64: .word gLCRNG_State
+_0201BB68: .word gMTRNG_State + 383 * 4
_0201BB6C: .word 0x9D2C5680
_0201BB70: .word 0xEFC60000