summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-05-15 21:13:30 -0700
committerYamaArashi <shadow962@live.com>2016-05-15 21:13:30 -0700
commit1879d0883eabde11644db73cc070ce4bca8b0de5 (patch)
tree902ee4257ba0e68dd73945123079a296127c168b
parent147c8672c3be861fa9229c775c37933a39900b9c (diff)
main.c
-rw-r--r--asm/rom1.s640
-rw-r--r--asm/rom2.s2
-rw-r--r--asm/rom3.s262
-rw-r--r--asm/rom4.s84
-rw-r--r--asm/rom5.s350
-rw-r--r--data/data2.s30
-rw-r--r--include/gba/io_reg.h19
-rw-r--r--include/global.h3
-rw-r--r--iwram_syms.txt8
-rw-r--r--ld_script.txt11
-rw-r--r--src/main.c417
11 files changed, 806 insertions, 1020 deletions
diff --git a/asm/rom1.s b/asm/rom1.s
index 3c9838721..3590d7bd8 100644
--- a/asm/rom1.s
+++ b/asm/rom1.s
@@ -4,646 +4,6 @@
.text
- thumb_func_start AgbMain
-AgbMain: @ 800024C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0xFF
- bl RegisterRamReset
- ldr r1, _080002E4
- ldr r2, _080002E8
- adds r0, r2, 0
- strh r0, [r1]
- bl InitKeypadData
- bl InitIntrHandlers
- bl m4aSoundInit
- bl RtcInit
- bl CheckForFlashMemory
- bl init_saveblock_ptrs_and_set_copyright_callback2
- bl sound_sources_off
- bl SeedRngWithRtc
- ldr r0, _080002EC
- movs r4, 0
- strb r4, [r0]
- ldr r0, _080002F0
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08000294
- movs r0, 0
- bl SetMainCallback2
-_08000294:
- ldr r0, _080002F4
- strb r4, [r0]
- ldr r5, _080002F8
- ldr r6, _080002FC
- ldr r0, _08000300
- adds r0, r6
- mov r8, r0
- movs r7, 0
-_080002A4:
- bl ReadKeypad
- ldr r0, _080002EC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080002C6
- ldrh r1, [r5, 0x28]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080002C6
- movs r0, 0xE
- ands r0, r1
- cmp r0, 0xE
- bne _080002C6
- bl DoSoftReset
-_080002C6:
- ldrb r0, [r6]
- cmp r0, 0x1
- bls _08000304
- bl sub_8055910
- cmp r0, 0x1
- bne _08000304
- ldr r4, _080002F4
- strb r0, [r4]
- bl CallCallbacksWrapper
- movs r0, 0
- strb r0, [r4]
- b _0800032C
- .align 2, 0
-_080002E4: .4byte 0x04000204
-_080002E8: .4byte 0x00004014
-_080002EC: .4byte 0x03001bb4
-_080002F0: .4byte 0x03004820
-_080002F4: .4byte 0x03001764
-_080002F8: .4byte 0x03001770
-_080002FC: .4byte 0x030033a9
-_08000300: .4byte 0x00000c84
-_08000304:
- ldr r4, _0800033C
- movs r0, 0
- strb r0, [r4]
- bl CallCallbacksWrapper
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0x1
- bls _0800032C
- bl sub_80558AC
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0800032C
- movs r0, 0
- strh r0, [r5, 0x2E]
- strb r1, [r4]
- bl CallCallbacksWrapper
- strb r7, [r4]
-_0800032C:
- bl PlayTimeCounter_Update
- bl sound_something
- bl WaitForVBlank
- b _080002A4
- .align 2, 0
-_0800033C: .4byte 0x03001764
- thumb_func_end AgbMain
-
- thumb_func_start CallCallbacksWrapper
-CallCallbacksWrapper: @ 8000340
- push {r4,lr}
- ldr r0, _08000374
- ldr r1, _08000378
- ldr r2, _0800037C
- bl sub_8008848
- ldr r4, _08000380
- str r0, [r4]
- ldr r0, _08000384
- bl sub_80075F0
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- cmp r0, 0
- beq _0800036A
- bl sub_8055940
- cmp r0, 0x1
- beq _0800036E
-_0800036A:
- bl CallCallbacks
-_0800036E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08000374: .4byte 0x03003040
-_08000378: .4byte 0x03002f90
-_0800037C: .4byte 0x03002a20
-_08000380: .4byte 0x03002a60
-_08000384: .4byte 0x0300179c
- thumb_func_end CallCallbacksWrapper
-
- thumb_func_start init_saveblock_ptrs_and_set_copyright_callback2
-init_saveblock_ptrs_and_set_copyright_callback2: @ 8000388
- push {lr}
- ldr r0, _080003A0
- movs r1, 0
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- str r1, [r0]
- ldr r0, _080003A4
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080003A0: .4byte 0x03001770
-_080003A4: .4byte c2_copyright_1
- thumb_func_end init_saveblock_ptrs_and_set_copyright_callback2
-
- thumb_func_start CallCallbacks
-CallCallbacks: @ 80003A8
- push {r4,lr}
- ldr r4, _080003C8
- ldr r0, [r4]
- cmp r0, 0
- beq _080003B6
- bl _call_via_r0
-_080003B6:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _080003C0
- bl _call_via_r0
-_080003C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080003C8: .4byte 0x03001770
- thumb_func_end CallCallbacks
-
- thumb_func_start SetMainCallback2
-SetMainCallback2: @ 80003CC
- ldr r1, _080003DC
- str r0, [r1, 0x4]
- ldr r0, _080003E0
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080003DC: .4byte 0x03001770
-_080003E0: .4byte 0x0000043c
- thumb_func_end SetMainCallback2
-
- thumb_func_start SeedRngWithRtc
-SeedRngWithRtc: @ 80003E4
- push {lr}
- bl RtcGetMinuteCount
- adds r2, r0, 0
- lsrs r0, r2, 16
- ldr r1, _080003FC
- ands r1, r2
- eors r0, r1
- bl SeedRng
- pop {r0}
- bx r0
- .align 2, 0
-_080003FC: .4byte 0x0000ffff
- thumb_func_end SeedRngWithRtc
-
- thumb_func_start InitKeypadData
-InitKeypadData: @ 8000400
- ldr r1, _0800041C
- movs r0, 0x5
- strh r0, [r1]
- ldr r1, _08000420
- movs r0, 0x28
- strh r0, [r1]
- ldr r1, _08000424
- movs r0, 0
- strh r0, [r1, 0x2C]
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- strh r0, [r1, 0x28]
- strh r0, [r1, 0x2A]
- bx lr
- .align 2, 0
-_0800041C: .4byte 0x03001bb0
-_08000420: .4byte 0x03001760
-_08000424: .4byte 0x03001770
- thumb_func_end InitKeypadData
-
- thumb_func_start ReadKeypad
-ReadKeypad: @ 8000428
- push {lr}
- ldr r0, _08000464
- ldrh r1, [r0]
- ldr r2, _08000468
- adds r0, r2, 0
- adds r3, r0, 0
- eors r3, r1
- ldr r1, _0800046C
- ldrh r2, [r1, 0x28]
- adds r0, r3, 0
- bics r0, r2
- strh r0, [r1, 0x2A]
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- adds r2, r1, 0
- cmp r3, 0
- beq _08000474
- ldrh r0, [r2, 0x2C]
- cmp r0, r3
- bne _08000474
- ldrh r0, [r2, 0x32]
- subs r0, 0x1
- strh r0, [r2, 0x32]
- lsls r0, 16
- cmp r0, 0
- bne _0800047A
- strh r3, [r2, 0x30]
- ldr r0, _08000470
- b _08000476
- .align 2, 0
-_08000464: .4byte 0x04000130
-_08000468: .4byte 0x000003ff
-_0800046C: .4byte 0x03001770
-_08000470: .4byte 0x03001bb0
-_08000474:
- ldr r0, _080004BC
-_08000476:
- ldrh r0, [r0]
- strh r0, [r2, 0x32]
-_0800047A:
- strh r3, [r2, 0x28]
- strh r3, [r2, 0x2C]
- ldr r0, _080004C0
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _080004AA
- ldrh r1, [r2, 0x2E]
- movs r3, 0x80
- lsls r3, 2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0800049A
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r2, 0x2E]
-_0800049A:
- ldrh r1, [r2, 0x2C]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080004AA
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r2, 0x2C]
-_080004AA:
- ldrh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x36]
- ands r0, r1
- cmp r0, 0
- beq _080004B8
- movs r0, 0x1
- strh r0, [r2, 0x34]
-_080004B8:
- pop {r0}
- bx r0
- .align 2, 0
-_080004BC: .4byte 0x03001760
-_080004C0: .4byte 0x02024ea4
- thumb_func_end ReadKeypad
-
- thumb_func_start InitIntrHandlers
-InitIntrHandlers: @ 80004C4
- push {r4,r5,lr}
- ldr r5, _08000518
- ldr r4, _0800051C
- ldr r3, _08000520
- ldr r2, _08000524
- movs r1, 0xD
-_080004D0:
- ldm r3!, {r0}
- stm r2!, {r0}
- subs r1, 0x1
- cmp r1, 0
- bge _080004D0
- ldr r0, _08000528
- str r5, [r0]
- str r4, [r0, 0x4]
- ldr r1, _0800052C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _08000530
- str r4, [r0]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetSerialCallback
- ldr r0, _08000534
- movs r2, 0x1
- strh r2, [r0]
- ldr r1, _08000538
- strh r2, [r1]
- ldr r3, _0800053C
- movs r0, 0x8
- strh r0, [r3]
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08000518: .4byte IntrMain
-_0800051C: .4byte 0x03001c00
-_08000520: .4byte gIntrTableTemplate
-_08000524: .4byte 0x03001bc0
-_08000528: .4byte 0x040000d4
-_0800052C: .4byte 0x84000200
-_08000530: .4byte 0x03007ffc
-_08000534: .4byte 0x04000208
-_08000538: .4byte 0x04000200
-_0800053C: .4byte 0x04000004
- thumb_func_end InitIntrHandlers
-
- thumb_func_start SetVBlankCallback
-SetVBlankCallback: @ 8000540
- ldr r1, _08000548
- str r0, [r1, 0xC]
- bx lr
- .align 2, 0
-_08000548: .4byte 0x03001770
- thumb_func_end SetVBlankCallback
-
- thumb_func_start SetHBlankCallback
-SetHBlankCallback: @ 800054C
- ldr r1, _08000554
- str r0, [r1, 0x10]
- bx lr
- .align 2, 0
-_08000554: .4byte 0x03001770
- thumb_func_end SetHBlankCallback
-
- thumb_func_start SetVCountCallback
-SetVCountCallback: @ 8000558
- ldr r1, _08000560
- str r0, [r1, 0x14]
- bx lr
- .align 2, 0
-_08000560: .4byte 0x03001770
- thumb_func_end SetVCountCallback
-
- thumb_func_start SetSerialCallback
-SetSerialCallback: @ 8000564
- ldr r1, _0800056C
- str r0, [r1, 0x18]
- bx lr
- .align 2, 0
-_0800056C: .4byte 0x03001770
- thumb_func_end SetSerialCallback
-
- thumb_func_start VBlankIntr
-VBlankIntr: @ 8000570
- push {r4-r6,lr}
- ldr r0, _080005D4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800057E
- bl sub_8008BEC
-_0800057E:
- ldr r5, _080005D8
- ldrh r4, [r5]
- movs r6, 0
- strh r6, [r5]
- bl m4aSoundVSync
- strh r4, [r5]
- ldr r4, _080005DC
- ldr r0, [r4, 0x20]
- adds r0, 0x1
- str r0, [r4, 0x20]
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0800059E
- bl _call_via_r0
-_0800059E:
- ldr r0, [r4, 0x24]
- adds r0, 0x1
- str r0, [r4, 0x24]
- ldr r1, _080005E0
- ldr r0, _080005E4
- ldrb r0, [r0, 0x4]
- strb r0, [r1]
- bl m4aSoundMain
- bl sub_800C35C
- bl GenerateRandomNumber
- ldr r1, _080005E8
- ldrh r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strh r0, [r1]
- ldrh r0, [r4, 0x1C]
- orrs r0, r2
- ldrh r1, [r4, 0x1C]
- orrs r0, r6
- strh r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080005D4: .4byte 0x03001bf8
-_080005D8: .4byte 0x04000208
-_080005DC: .4byte 0x03001770
-_080005E0: .4byte 0x03002400
-_080005E4: .4byte 0x03005fd0
-_080005E8: .4byte 0x03007ff8
- thumb_func_end VBlankIntr
-
- thumb_func_start StartFlashMemoryTimer
-StartFlashMemoryTimer: @ 80005EC
- push {lr}
- ldr r0, _080005FC
- ldr r1, [r0]
- movs r0, 0x2
- bl SetFlashTimerIntr
- pop {r0}
- bx r0
- .align 2, 0
-_080005FC: .4byte 0x02020000
- thumb_func_end StartFlashMemoryTimer
-
- thumb_func_start HBlankIntr
-HBlankIntr: @ 8000600
- push {r4,lr}
- ldr r4, _08000628
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0800060E
- bl _call_via_r0
-_0800060E:
- ldr r2, _0800062C
- ldrh r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x1C]
- ldrh r2, [r4, 0x1C]
- orrs r1, r0
- strh r1, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08000628: .4byte 0x03001770
-_0800062C: .4byte 0x03007ff8
- thumb_func_end HBlankIntr
-
- thumb_func_start VCountIntr
-VCountIntr: @ 8000630
- push {r4,lr}
- ldr r4, _08000658
- ldr r0, [r4, 0x14]
- cmp r0, 0
- beq _0800063E
- bl _call_via_r0
-_0800063E:
- ldr r2, _0800065C
- ldrh r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x1C]
- ldrh r2, [r4, 0x1C]
- orrs r1, r0
- strh r1, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08000658: .4byte 0x03001770
-_0800065C: .4byte 0x03007ff8
- thumb_func_end VCountIntr
-
- thumb_func_start SerialIntr
-SerialIntr: @ 8000660
- push {r4,lr}
- ldr r4, _08000688
- ldr r0, [r4, 0x18]
- cmp r0, 0
- beq _0800066E
- bl _call_via_r0
-_0800066E:
- ldr r2, _0800068C
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x1C]
- ldrh r2, [r4, 0x1C]
- orrs r1, r0
- strh r1, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08000688: .4byte 0x03001770
-_0800068C: .4byte 0x03007ff8
- thumb_func_end SerialIntr
-
- thumb_func_start IntrDummy
-IntrDummy: @ 8000690
- bx lr
- thumb_func_end IntrDummy
-
- thumb_func_start WaitForVBlank
-WaitForVBlank: @ 8000694
- push {lr}
- ldr r1, _080006AC
- ldrh r2, [r1, 0x1C]
- ldr r0, _080006B0
- ands r0, r2
- ldrh r2, [r1, 0x1C]
- strh r0, [r1, 0x1C]
- bl VBlankIntrWait
- pop {r0}
- bx r0
- .align 2, 0
-_080006AC: .4byte 0x03001770
-_080006B0: .4byte 0x0000fffe
- thumb_func_end WaitForVBlank
-
- thumb_func_start DoSoftReset
-DoSoftReset: @ 80006B4
- push {r4,lr}
- ldr r1, _08000710
- movs r0, 0
- strh r0, [r1]
- bl m4aSoundVSyncOff
- bl remove_some_task
- ldr r1, _08000714
- ldrh r2, [r1, 0xA]
- ldr r3, _08000718
- adds r0, r3, 0
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r4, [r1, 0xA]
- ldr r2, _0800071C
- adds r0, r2, 0
- ands r0, r4
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- adds r1, 0xC
- ldrh r4, [r1, 0xA]
- adds r0, r3, 0
- ands r0, r4
- strh r0, [r1, 0xA]
- ldrh r4, [r1, 0xA]
- adds r0, r2, 0
- ands r0, r4
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldr r0, _08000720
- ldrh r1, [r0, 0xA]
- ands r3, r1
- strh r3, [r0, 0xA]
- ldrh r1, [r0, 0xA]
- ands r2, r1
- strh r2, [r0, 0xA]
- ldrh r0, [r0, 0xA]
- bl SiiRtcProtect
- movs r0, 0xFF
- bl SoftReset
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08000710: .4byte 0x04000208
-_08000714: .4byte 0x040000bc
-_08000718: .4byte 0x0000c5ff
-_0800071C: .4byte 0x00007fff
-_08000720: .4byte 0x040000d4
- thumb_func_end DoSoftReset
-
- thumb_func_start sub_8000724
-sub_8000724: @ 8000724
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08000740
- ldr r2, _08000744
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08000740: .4byte 0x03006f80
-_08000744: .4byte 0x01000034
- thumb_func_end sub_8000724
-
thumb_func_start ResetAllObjectData
ResetAllObjectData: @ 8000748
push {r4,lr}
diff --git a/asm/rom2.s b/asm/rom2.s
index dba0734e5..17df814d0 100644
--- a/asm/rom2.s
+++ b/asm/rom2.s
@@ -180,7 +180,7 @@ sub_80071A4: @ 80071A4
ldr r6, _0800725C
movs r5, 0xFF
_080071E4:
- bl GenerateRandomNumber
+ bl Random
adds r1, r4, r6
lsls r0, 16
lsrs r0, 16
diff --git a/asm/rom3.s b/asm/rom3.s
index ecba1f0b9..ac0c04136 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -12915,7 +12915,7 @@ _0800FCF8: .4byte 0x04000008
thumb_func_start sub_800FCFC
sub_800FCFC: @ 800FCFC
push {lr}
- bl GenerateRandomNumber
+ bl Random
ldr r1, _0800FD78
ldr r0, _0800FD7C
ldrh r0, [r0]
@@ -16987,7 +16987,7 @@ _08011D36:
adds r0, r2, r3
strb r1, [r0]
strb r1, [r6]
- bl GenerateRandomNumber
+ bl Random
ldr r1, _08011DC4
strh r0, [r1]
_08011D6E:
@@ -17278,7 +17278,7 @@ _08011FCC:
mov r1, r8
mov r2, r10
str r1, [r2]
- bl GenerateRandomNumber
+ bl Random
ldr r1, _08012024
strh r0, [r1]
_08011FEE:
@@ -19630,7 +19630,7 @@ _0801335A:
bne _0801338E
cmp r8, r7
bne _08013384
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -19654,7 +19654,7 @@ _0801338E:
_08013398:
cmp r8, r7
bne _080133AE
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -21656,7 +21656,7 @@ _0801441E:
lsls r0, 24
cmp r0, 0
bne _08014484
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -21679,7 +21679,7 @@ _08014480:
movs r0, 0x3
b _08014496
_08014484:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -21813,7 +21813,7 @@ _08014570:
lsls r0, 24
cmp r0, 0
bne _080145C0
- bl GenerateRandomNumber
+ bl Random
adds r1, r4, 0
ands r1, r0
cmp r1, 0
@@ -21827,7 +21827,7 @@ _080145BC:
movs r0, 0x3
b _080145D2
_080145C0:
- bl GenerateRandomNumber
+ bl Random
adds r1, r4, 0
ands r1, r0
cmp r1, 0
@@ -22527,7 +22527,7 @@ _08014B68:
adds r4, r0
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
cmp r4, r1
@@ -24702,7 +24702,7 @@ sub_8015C90: @ 8015C90
ldrb r0, [r5]
bl battle_get_per_side_status
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
eors r4, r1
movs r1, 0x2
@@ -27044,7 +27044,7 @@ _08016F9C:
bne _08017042
ldrb r0, [r6]
bl b_cancel_multi_turn_move_maybe
- bl GenerateRandomNumber
+ bl Random
ldrb r1, [r6]
adds r2, r1, 0
muls r2, r5
@@ -28173,7 +28173,7 @@ _08017920:
bne _0801793C
b _08017F94
_0801793C:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x5
@@ -28556,7 +28556,7 @@ _08017C7E:
ands r0, r3
cmp r0, 0
beq _08017D24
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
movs r2, 0x1
ands r2, r0
@@ -28644,7 +28644,7 @@ _08017D3C:
ands r0, r1
cmp r0, 0
beq _08017D90
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
@@ -28715,7 +28715,7 @@ _08017DDC:
ldr r7, _08017E08
adds r1, r7
strb r0, [r1]
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -30044,7 +30044,7 @@ _080188DC:
bne _080188EC
bl _08019F76
_080188EC:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -30825,7 +30825,7 @@ _08018FB4:
bne _08018FCC
bl _08019F76
_08018FCC:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -30838,7 +30838,7 @@ _08018FE4:
ldr r5, _0801903C
movs r4, 0x3
_08018FE8:
- bl GenerateRandomNumber
+ bl Random
ands r0, r4
strb r0, [r5, 0x3]
cmp r0, 0
@@ -30937,7 +30937,7 @@ _080190AC:
bne _080190C4
bl _08019F76
_080190C4:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -31034,7 +31034,7 @@ _08019188:
bne _080191A0
bl _08019F76
_080191A0:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -31131,7 +31131,7 @@ _08019254:
bne _0801927C
bl _08019F76
_0801927C:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -31238,7 +31238,7 @@ _0801935C:
bne _0801936C
bl _08019F76
_0801936C:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -31972,7 +31972,7 @@ _080199AE:
cmp r0, 0
beq _08019A34
str r2, [sp, 0x24]
- bl GenerateRandomNumber
+ bl Random
ldr r2, [sp, 0x24]
adds r1, r2, 0
ands r1, r0
@@ -33985,7 +33985,7 @@ _0801AA20:
adds r4, r0, 0x1
ldr r5, _0801AAA4
_0801AA28:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x5
@@ -35004,7 +35004,7 @@ _0801B296:
bne _0801B2BC
b _0801B3CA
_0801B2BC:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -35509,7 +35509,7 @@ _0801B73A:
lsls r0, r7, 1
mov r8, r0
_0801B74A:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, _0801B7F4
@@ -35656,7 +35656,7 @@ _0801B860:
lsls r0, 24
cmp r0, 0
bne _0801B8A0
- bl GenerateRandomNumber
+ bl Random
adds r1, r4, 0
ands r1, r0
cmp r1, 0
@@ -35670,7 +35670,7 @@ _0801B89C:
movs r0, 0x3
b _0801B8B2
_0801B8A0:
- bl GenerateRandomNumber
+ bl Random
adds r1, r4, 0
ands r1, r0
cmp r1, 0
@@ -35810,7 +35810,7 @@ _0801B9AA:
ldrb r0, [r0]
cmp r0, r6
bls _0801B9DA
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
ldrb r0, [r7]
@@ -35875,7 +35875,7 @@ _0801BA40: .4byte 0xff7fffff
_0801BA44: .4byte 0x02024c10
_0801BA48: .4byte gUnknown_081D995F
_0801BA4C:
- bl GenerateRandomNumber
+ bl Random
movs r5, 0xFF
adds r1, r5, 0
ands r1, r0
@@ -35916,7 +35916,7 @@ _0801BA94:
movs r2, 0x3
mov r8, r2
_0801BA9E:
- bl GenerateRandomNumber
+ bl Random
mov r1, r8
ands r0, r1
mov r2, r9
@@ -35984,7 +35984,7 @@ _0801BB3C:
subs r0, r2, r6
lsls r0, 24
lsrs r6, r0, 24
- bl GenerateRandomNumber
+ bl Random
adds r4, r5, 0
ands r4, r0
cmp r4, r6
@@ -36047,7 +36047,7 @@ _0801BBB8:
cmp r4, r6
blt _0801BBE0
_0801BBBE:
- bl GenerateRandomNumber
+ bl Random
ldr r2, _0801BBD4
movs r1, 0x3
ands r1, r0
@@ -37272,7 +37272,7 @@ _0801C5A4:
lsls r0, 16
lsrs r4, r0, 16
_0801C5C0:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -37762,7 +37762,7 @@ _0801C960:
ands r0, r1
cmp r0, 0
bne _0801C9D0
- bl GenerateRandomNumber
+ bl Random
ldr r2, _0801C9C8
lsls r1, r5, 1
adds r1, r2
@@ -39280,7 +39280,7 @@ _0801D570: .4byte gBattleMoves
thumb_func_start sub_801D574
sub_801D574: @ 801D574
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF
@@ -39313,7 +39313,7 @@ _0801D5AC: .4byte 0x02024bec
thumb_func_start atk07_cmd7
atk07_cmd7: @ 801D5B0
push {r4-r7,lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF
@@ -39378,7 +39378,7 @@ _0801D632:
strb r0, [r1]
cmp r4, 0x27
bne _0801D670
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -39517,7 +39517,7 @@ _0801D75C: .4byte 0x02024c10
thumb_func_start atk08_cmd8
atk08_cmd8: @ 801D760
push {r4-r7,lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF
@@ -39582,7 +39582,7 @@ _0801D7E2:
strb r0, [r1]
cmp r4, 0x27
bne _0801D820
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -41907,7 +41907,7 @@ _0801EA1C:
ldr r3, [r0]
cmp r3, 0x7
bne _0801EA70
- bl GenerateRandomNumber
+ bl Random
ldr r2, _0801EA68
ldr r1, _0801EA6C
ldrb r3, [r1]
@@ -42138,7 +42138,7 @@ _0801EC7A:
beq _0801EC8E
bl _0801F5DC
_0801EC8E:
- bl GenerateRandomNumber
+ bl Random
mov r3, r8
ldrb r1, [r3]
adds r2, r1, 0
@@ -42257,7 +42257,7 @@ _0801ED7C:
ldr r1, _0801EDCC
ldrh r1, [r1]
strh r1, [r0]
- bl GenerateRandomNumber
+ bl Random
mov r2, r8
ldrb r1, [r2]
adds r2, r1, 0
@@ -42348,7 +42348,7 @@ _0801EE4C:
beq _0801EE62
b _0801F5DC
_0801EE62:
- bl GenerateRandomNumber
+ bl Random
ldr r4, _0801EE80
lsls r0, 16
lsrs r0, 16
@@ -42413,7 +42413,7 @@ _0801EECC:
beq _0801EEE8
b _0801F5DC
_0801EEE8:
- bl GenerateRandomNumber
+ bl Random
mov r2, r8
ldrb r1, [r2]
adds r2, r1, 0
@@ -43112,7 +43112,7 @@ _0801F4C4:
ldr r1, _0801F4FC
ldrh r1, [r1]
strh r1, [r0]
- bl GenerateRandomNumber
+ bl Random
mov r2, r8
ldrb r1, [r2]
adds r2, r1, 0
@@ -43317,7 +43317,7 @@ _0801F684: .4byte 0x02024be6
_0801F688: .4byte 0x02024d1e
_0801F68C: .4byte 0x02024c68
_0801F690:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -53335,7 +53335,7 @@ _08024726:
strb r0, [r1]
cmp r4, 0x27
bne _08024764
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -54621,7 +54621,7 @@ _08025170:
ldrb r4, [r0, 0x8]
lsls r4, 1
adds r4, r2
- bl GenerateRandomNumber
+ bl Random
ldrh r1, [r4]
lsls r0, 16
lsrs r0, 16
@@ -55137,7 +55137,7 @@ _08025594:
ldr r1, _080255CC
ands r0, r1
str r0, [r2]
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -56982,13 +56982,13 @@ _08026430: .4byte 0x02024c10
_08026434: .4byte 0x02024c0e
_08026438:
ldr r4, _08026460
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
ands r0, r5
strb r0, [r4]
cmp r0, 0x1
bls _0802644E
- bl GenerateRandomNumber
+ bl Random
ands r0, r5
_0802644E:
adds r0, 0x2
@@ -57084,7 +57084,7 @@ _08026500: .4byte 0x02000000
_08026504: .4byte 0x00016064
_08026508: .4byte 0x02024a6a
_0802650C:
- bl GenerateRandomNumber
+ bl Random
movs r3, 0xFF
ands r3, r0
ldrb r0, [r7]
@@ -57318,7 +57318,7 @@ _080266D0:
cmp r0, 0
beq _08026774
_080266DC:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -57392,7 +57392,7 @@ _08026774:
beq _080267E4
ldr r6, _080267DC
_0802677E:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x6
@@ -57440,7 +57440,7 @@ _080267E0: .4byte 0x02024c08
_080267E4:
ldr r6, _0802686C
_080267E6:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x6
@@ -57642,7 +57642,7 @@ _08026974:
ldr r5, _080269CC
mov r9, r5
_0802697A:
- bl GenerateRandomNumber
+ bl Random
adds r3, r0, 0
ands r3, r7
cmp r3, r6
@@ -57938,7 +57938,7 @@ _08026BCE:
strb r0, [r1]
cmp r4, 0x27
bne _08026C0C
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -58030,7 +58030,7 @@ _08026C6C:
adds r0, r2
lsls r0, 16
lsrs r4, r0, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -59538,7 +59538,7 @@ sub_80278B8: @ 80278B8
ldr r0, _08027940
mov r8, r0
_080278CA:
- bl GenerateRandomNumber
+ bl Random
ldr r2, _08027944
adds r1, r2, 0
ands r0, r1
@@ -59636,7 +59636,7 @@ atkA0_psywavedamageeffect: @ 8027990
push {r4,lr}
movs r4, 0xF
_08027994:
- bl GenerateRandomNumber
+ bl Random
adds r3, r4, 0
ands r3, r0
cmp r3, 0xA
@@ -60007,7 +60007,7 @@ _08027C28:
adds r2, r3
ldrh r1, [r2]
strh r1, [r0, 0x4]
- bl GenerateRandomNumber
+ bl Random
ldrb r2, [r6]
lsls r1, r2, 3
subs r1, r2
@@ -60166,7 +60166,7 @@ _08027D88:
lsls r0, 2
add r0, r9
strb r5, [r0, 0xC]
- bl GenerateRandomNumber
+ bl Random
ldrb r2, [r4]
lsls r1, r2, 3
subs r1, r2
@@ -60464,7 +60464,7 @@ _08028024:
movs r7, 0x7F
mov r9, r7
_0802802C:
- bl GenerateRandomNumber
+ bl Random
mov r4, r9
ands r4, r0
cmp r4, 0x70
@@ -61072,7 +61072,7 @@ _080284C0:
movs r7, 0x3
ldr r4, _08028534
_080284C4:
- bl GenerateRandomNumber
+ bl Random
adds r5, r7, 0
ands r5, r0
lsls r0, r5, 2
@@ -61362,7 +61362,7 @@ _080286E0:
bhi _08028700
b _08028828
_08028700:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
adds r6, r1, 0x2
@@ -62488,7 +62488,7 @@ _08028FFC: .4byte 0x02024c10
thumb_func_start atkB7_presentdamagecalculation
atkB7_presentdamagecalculation: @ 8029000
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
movs r4, 0xFF
ands r4, r0
cmp r4, 0x65
@@ -62654,7 +62654,7 @@ atkB9_magnitudedamagecalculation: @ 802914C
push {r4-r7,lr}
mov r7, r8
push {r7}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -65978,7 +65978,7 @@ _0802AB54:
ands r0, r1
str r0, [r2]
ldr r4, _0802ABC0
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
mov r0, r10
@@ -66530,7 +66530,7 @@ _0802AFCA:
beq _0802B032
cmp r6, 0
bne _0802B032
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -66538,7 +66538,7 @@ _0802AFCA:
lsls r0, 16
cmp r0, 0
bne _0802B032
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -67612,7 +67612,7 @@ _0802B8AC:
_0802B8B2:
cmp r4, 0x3
bhi _0802B8C2
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
cmp r0, r6
@@ -86715,7 +86715,7 @@ _080354F4: .4byte gUnknown_0820872C
_080354F8:
movs r6, 0x3
_080354FA:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
ands r4, r6
lsls r0, r4, 1
@@ -86752,7 +86752,7 @@ _0803553C:
ands r0, r1
cmp r0, 0
beq _08035570
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x2
ands r1, r0
lsls r1, 24
@@ -88317,7 +88317,7 @@ _0803617C:
ands r1, r0
cmp r1, 0
beq _080361BC
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -88363,7 +88363,7 @@ sub_80361E8: @ 80361E8
lsls r0, 24
cmp r0, 0
beq _08036214
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -88599,7 +88599,7 @@ _080363E0:
_080363EA:
cmp r10, r0
bne _080363FA
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -88658,7 +88658,7 @@ ai_switchout_natural_cure: @ 8036410
cmp r1, r0
bne _08036478
_08036456:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -88685,7 +88685,7 @@ _08036478:
ldrb r0, [r0, 0x1]
cmp r0, 0
bne _080364B0
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -88709,7 +88709,7 @@ _080364B0:
lsls r0, 24
cmp r0, 0
bne _080364FE
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -88802,7 +88802,7 @@ _08036550:
mov r0, r8
cmp r0, 0
bne _080365C0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -88879,7 +88879,7 @@ _080365F2:
mov r0, r8
cmp r0, 0
bne _080365C0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -89202,7 +89202,7 @@ _0803688E:
ands r1, r0
cmp r1, 0
beq _080368CA
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, [sp, 0x4]
@@ -89766,7 +89766,7 @@ _08036D2C:
lsrs r0, 24
str r0, [sp, 0x10]
_08036D42:
- bl GenerateRandomNumber
+ bl Random
movs r3, 0x2
ands r0, r3
lsls r0, 24
@@ -97041,9 +97041,9 @@ create_pokemon: @ 803A808
str r0, [sp, 0x14]
b _0803A858
_0803A844:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsrs r4, 16
lsls r0, 16
@@ -97064,9 +97064,9 @@ _0803A858:
mov r8, r2
ldr r6, _0803A8AC
_0803A874:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsrs r4, 16
lsls r0, 16
@@ -97245,7 +97245,7 @@ _0803AA08: .4byte gBaseStats
_0803AA0C: .4byte gExperienceTables
_0803AA10: .4byte gGameVersion
_0803AA14:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x18]
@@ -97278,7 +97278,7 @@ _0803AA14:
movs r1, 0x29
adds r2, r4, 0
bl PokemonSetEncryptedField
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x18]
@@ -97358,9 +97358,9 @@ pokemon_make_with_nature: @ 803AADC
lsls r0, 24
lsrs r5, r0, 24
_0803AAFC:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsrs r4, 16
lsls r0, 16
@@ -97426,9 +97426,9 @@ sub_803AB44: @ 803AB44
cmp r0, 0x1B
bhi _0803ABEA
_0803AB84:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsrs r4, 16
lsls r0, 16
@@ -97473,9 +97473,9 @@ _0803AB84:
bne _0803AB84
b _0803AC1A
_0803ABEA:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsrs r4, 16
lsls r0, 16
@@ -97527,16 +97527,16 @@ sub_803AC44: @ 803AC44
lsls r2, 24
lsrs r7, r2, 24
_0803AC56:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsrs r5, r4, 16
lsls r0, 16
orrs r5, r0
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsrs r4, 16
lsls r0, 16
@@ -100566,7 +100566,7 @@ _0803C460:
lsrs r0, 24
cmp r0, 0x1
bls _0803C484
- bl GenerateRandomNumber
+ bl Random
adds r1, r6, 0
ands r1, r0
cmp r1, 0
@@ -108063,7 +108063,7 @@ _0803FD6A:
_0803FD74:
cmp r5, 0x5
bne _0803FD84
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -108441,7 +108441,7 @@ sub_8040048: @ 8040048
push {r4-r6,lr}
sub sp, 0x4
adds r6, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r5, r0, 16
movs r0, 0x80
@@ -108457,7 +108457,7 @@ sub_8040048: @ 8040048
cmp r5, r0
bne _08040104
_0804006E:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x6
@@ -108490,7 +108490,7 @@ _0804006E:
bne _08040104
mov r4, sp
_080400B8:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 24
lsrs r0, 24
strb r0, [r4]
@@ -108716,7 +108716,7 @@ atkE5_pickupitemcalculation: @ 8040250
push {r4-r7,lr}
sub sp, 0x4
adds r7, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -110006,7 +110006,7 @@ sub_8040C38: @ 8040C38
ands r0, r1
cmp r0, 0
bne _08040CAC
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -110317,8 +110317,8 @@ cosine2: @ 8040E6C
bx r1
thumb_func_end cosine2
- thumb_func_start GenerateRandomNumber
-GenerateRandomNumber: @ 8040E84
+ thumb_func_start Random
+Random: @ 8040E84
ldr r2, _08040E98
ldr r1, [r2]
ldr r0, _08040E9C
@@ -110332,7 +110332,7 @@ GenerateRandomNumber: @ 8040E84
_08040E98: .4byte 0x03004818
_08040E9C: .4byte 0x41c64e6d
_08040EA0: .4byte 0x00006073
- thumb_func_end GenerateRandomNumber
+ thumb_func_end Random
thumb_func_start SeedRng
SeedRng: @ 8040EA4
@@ -111724,7 +111724,7 @@ _080418EC: .4byte 0x0000019b
sub_80418F0: @ 80418F0
push {r4,lr}
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, _08041918
@@ -111747,7 +111747,7 @@ _08041918: .4byte 0x0000fffe
sub_804191C: @ 804191C
push {r4,lr}
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
movs r2, 0x80
lsls r2, 8
adds r1, r2, 0
@@ -111851,7 +111851,7 @@ _080419BE:
movs r5, 0
adds r6, r1, 0
_080419D0:
- bl GenerateRandomNumber
+ bl Random
mov r1, sp
adds r4, r1, r5
lsls r0, 16
@@ -111873,7 +111873,7 @@ _080419D0:
movs r5, 0
movs r4, 0x1
_08041A00:
- bl GenerateRandomNumber
+ bl Random
adds r1, r7, r5
lsls r0, 16
lsrs r0, 16
@@ -112788,7 +112788,7 @@ sub_80420FC: @ 80420FC
adds r4, r2, 0
lsls r5, 16
lsrs r5, 16
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x8C
lsls r1, 1
adds r4, r1
@@ -112913,7 +112913,7 @@ _080421DE:
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -115419,7 +115419,7 @@ sub_80435FC: @ 80435FC
ldrh r5, [r0]
adds r2, 0x1
strb r2, [r4]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
@@ -124066,7 +124066,7 @@ CheckForFlashMemory: @ 80479CC
ldr r1, _080479E4
movs r0, 0x1
str r0, [r1]
- bl StartFlashMemoryTimer
+ bl InitFlashTimer
b _080479EE
.align 2, 0
_080479E4: .4byte 0x03004820
@@ -139321,7 +139321,7 @@ _0804F8FC:
ldrb r0, [r0]
cmp r0, 0
bne _0804F9BE
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, _0804F940
@@ -139482,7 +139482,7 @@ sub_804F9F4: @ 804F9F4
ldrb r0, [r0]
cmp r0, 0
bne _0804FAF0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, _0804FA8C
@@ -139626,7 +139626,7 @@ sub_804FB1C: @ 804FB1C
ldrb r0, [r0]
cmp r0, 0
bne _0804FC1C
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, _0804FBB0
@@ -141074,7 +141074,7 @@ _0805068C:
ldrb r0, [r5]
cmp r0, 0xC
bne _080506E6
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -142942,7 +142942,7 @@ sub_805156C: @ 805156C
mov r6, r9
mov r5, r8
push {r5-r7}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r1, r0, 16
movs r0, 0x1
@@ -142959,7 +142959,7 @@ sub_805156C: @ 805156C
mov r8, r3
movs r7, 0x10
_08051598:
- bl GenerateRandomNumber
+ bl Random
ldr r1, _08051640
ldr r4, [r1]
adds r4, 0x54
@@ -143002,7 +143002,7 @@ _080515DC:
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
lsls r5, r4, 4
adds r5, r4
lsls r5, 2
@@ -143014,7 +143014,7 @@ _080515DC:
ands r0, r1
subs r0, r7, r0
strh r0, [r4, 0x2E]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
mov r2, r8
@@ -143657,7 +143657,7 @@ sub_8051AC8: @ 8051AC8
ldrsh r0, [r6, r1]
cmp r0, 0
bne _08051AEC
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r5, 0
@@ -143732,7 +143732,7 @@ _08051B50:
ldrsh r1, [r4, r2]
cmp r1, 0
bne _08051B6E
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r5, 0
@@ -145263,7 +145263,7 @@ _080527D6:
lsrs r1, r0, 16
cmp r1, 0x9
bls _080527D6
- bl GenerateRandomNumber
+ bl Random
ldr r1, _0805284C
strh r0, [r1]
ldr r1, _08052850
@@ -145297,7 +145297,7 @@ _08052814:
ldr r3, _0805285C
_08052824:
str r3, [sp, 0x54]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 31
mov r1, r8
diff --git a/asm/rom4.s b/asm/rom4.s
index ec32eece4..6c9d40a68 100644
--- a/asm/rom4.s
+++ b/asm/rom4.s
@@ -38,9 +38,9 @@ _08052D18:
thumb_func_start set_player_trainer_id
set_player_trainer_id: @ 8052D2C
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsls r0, 16
lsrs r0, 16
@@ -2587,7 +2587,7 @@ sub_8054050: @ 8054050
cmp r0, 0
beq _080540C0
_08054084:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x58
@@ -2596,7 +2596,7 @@ _08054084:
adds r4, 0xD4
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x1E
@@ -2658,7 +2658,7 @@ _08054110:
movs r0, 0x1
b _0805415C
_08054114:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x96
@@ -2671,7 +2671,7 @@ _08054114:
movs r0, 0x3
b _0805415C
_08054130:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r4, 0x96
@@ -16700,7 +16700,7 @@ fish1: @ 805A3D4
bl memcpy
movs r0, 0
strh r0, [r5, 0x20]
- bl GenerateRandomNumber
+ bl Random
movs r2, 0x26
ldrsh r1, [r5, r2]
lsls r1, 1
@@ -16787,7 +16787,7 @@ fish3: @ 805A490
strh r0, [r4, 0x8]
strh r1, [r4, 0xA]
strh r1, [r4, 0xC]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -16906,7 +16906,7 @@ party_menu_update_status_condition_object: @ 805A56C
lsls r0, 24
cmp r0, 0
beq _0805A590
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -17033,7 +17033,7 @@ fish8: @ 805A64C
blt _0805A6A2
cmp r1, 0x1
bgt _0805A6A6
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -21762,7 +21762,7 @@ sub_805C930: @ 805C930
cmp r0, 0
beq _0805C964
ldr r5, _0805C960
- bl GenerateRandomNumber
+ bl Random
movs r4, 0x3
adds r1, r4, 0
ands r1, r0
@@ -21816,7 +21816,7 @@ sub_805C98C: @ 805C98C
mov r0, sp
movs r2, 0x4
bl memcpy
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
mov r2, sp
@@ -22507,7 +22507,7 @@ sub_805CE6C: @ 805CE6C
cmp r0, 0
beq _0805CEA2
ldr r4, _0805CEAC
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -22577,7 +22577,7 @@ sub_805CEE0: @ 805CEE0
lsrs r1, r0, 24
cmp r1, 0
bne _0805CF10
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
mov r2, sp
@@ -22679,7 +22679,7 @@ sub_805CFAC: @ 805CFAC
cmp r0, 0
beq _0805CFE0
ldr r5, _0805CFDC
- bl GenerateRandomNumber
+ bl Random
movs r4, 0x3
adds r1, r4, 0
ands r1, r0
@@ -22733,7 +22733,7 @@ sub_805D008: @ 805D008
mov r0, sp
movs r2, 0x2
bl memcpy
- bl GenerateRandomNumber
+ bl Random
movs r7, 0x1
adds r1, r7, 0
ands r1, r0
@@ -22894,7 +22894,7 @@ sub_805D130: @ 805D130
cmp r0, 0
beq _0805D164
ldr r5, _0805D160
- bl GenerateRandomNumber
+ bl Random
movs r4, 0x3
adds r1, r4, 0
ands r1, r0
@@ -22948,7 +22948,7 @@ sub_805D18C: @ 805D18C
mov r0, sp
movs r2, 0x2
bl memcpy
- bl GenerateRandomNumber
+ bl Random
movs r7, 0x1
adds r1, r7, 0
ands r1, r0
@@ -23501,7 +23501,7 @@ sub_805D578: @ 805D578
cmp r0, 0
beq _0805D5AE
ldr r4, _0805D5B8
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -23571,7 +23571,7 @@ sub_805D5EC: @ 805D5EC
lsrs r1, r0, 24
cmp r1, 0
bne _0805D61C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
mov r2, sp
@@ -23674,7 +23674,7 @@ sub_805D6B8: @ 805D6B8
cmp r0, 0
beq _0805D6EE
ldr r4, _0805D6F8
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -23744,7 +23744,7 @@ sub_805D72C: @ 805D72C
lsrs r1, r0, 24
cmp r1, 0
bne _0805D75C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
mov r2, sp
@@ -23847,7 +23847,7 @@ sub_805D7F8: @ 805D7F8
cmp r0, 0
beq _0805D82E
ldr r4, _0805D838
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -23917,7 +23917,7 @@ sub_805D86C: @ 805D86C
lsrs r1, r0, 24
cmp r1, 0
bne _0805D89C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
mov r2, sp
@@ -24020,7 +24020,7 @@ sub_805D938: @ 805D938
cmp r0, 0
beq _0805D96E
ldr r4, _0805D978
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -24090,7 +24090,7 @@ sub_805D9AC: @ 805D9AC
lsrs r1, r0, 24
cmp r1, 0
bne _0805D9DC
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
mov r2, sp
@@ -24193,7 +24193,7 @@ sub_805DA78: @ 805DA78
cmp r0, 0
beq _0805DAAE
ldr r4, _0805DAB8
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -24263,7 +24263,7 @@ sub_805DAEC: @ 805DAEC
lsrs r1, r0, 24
cmp r1, 0
bne _0805DB1C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
mov r2, sp
@@ -24366,7 +24366,7 @@ sub_805DBB8: @ 805DBB8
cmp r0, 0
beq _0805DBEE
ldr r4, _0805DBF8
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -24436,7 +24436,7 @@ sub_805DC2C: @ 805DC2C
lsrs r1, r0, 24
cmp r1, 0
bne _0805DC5C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
mov r2, sp
@@ -24539,7 +24539,7 @@ sub_805DCF8: @ 805DCF8
cmp r0, 0
beq _0805DD2E
ldr r4, _0805DD38
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -24609,7 +24609,7 @@ sub_805DD6C: @ 805DD6C
lsrs r1, r0, 24
cmp r1, 0
bne _0805DD9C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
mov r2, sp
@@ -24712,7 +24712,7 @@ sub_805DE38: @ 805DE38
cmp r0, 0
beq _0805DE6E
ldr r4, _0805DE78
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -24782,7 +24782,7 @@ sub_805DEAC: @ 805DEAC
lsrs r1, r0, 24
cmp r1, 0
bne _0805DEDC
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
mov r2, sp
@@ -24885,7 +24885,7 @@ sub_805DF78: @ 805DF78
cmp r0, 0
beq _0805DFAE
ldr r4, _0805DFB8
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -24955,7 +24955,7 @@ sub_805DFEC: @ 805DFEC
lsrs r1, r0, 24
cmp r1, 0
bne _0805E01C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
mov r2, sp
@@ -25058,7 +25058,7 @@ sub_805E0B8: @ 805E0B8
cmp r0, 0
beq _0805E0EE
ldr r4, _0805E0F8
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x3
adds r1, r5, 0
ands r1, r0
@@ -25128,7 +25128,7 @@ sub_805E12C: @ 805E12C
lsrs r1, r0, 24
cmp r1, 0
bne _0805E15C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
mov r2, sp
@@ -42911,7 +42911,7 @@ s8F_get_random_val: @ 8065F0C
lsls r4, 16
lsrs r4, 16
ldr r5, _08065F3C
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0
@@ -74678,7 +74678,7 @@ sub_8075374: @ 8075374
lsrs r0, 24
cmp r0, 0x1
beq _08075390
- bl sub_8000724
+ bl ClearPokemonCrySongs
movs r0, 0x1
b _08075392
.align 2, 0
@@ -74696,7 +74696,7 @@ sub_8075398: @ 8075398
ldr r0, _080753AC
ldr r0, [r0]
bl m4aMPlayStop
- bl sub_8000724
+ bl ClearPokemonCrySongs
pop {r0}
bx r0
.align 2, 0
@@ -74723,7 +74723,7 @@ sub_80753C4: @ 80753C4
bl sub_81DF594
cmp r0, 0
bne _080753E0
- bl sub_8000724
+ bl ClearPokemonCrySongs
movs r0, 0
b _080753E2
.align 2, 0
diff --git a/asm/rom5.s b/asm/rom5.s
index f6bf9fddd..b59a80abd 100644
--- a/asm/rom5.s
+++ b/asm/rom5.s
@@ -8052,7 +8052,7 @@ _0807EC3C:
sub_807EC40: @ 807EC40
push {r4-r7,lr}
adds r5, r0, 0
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x36
ldrsh r2, [r5, r1]
lsls r1, r2, 2
@@ -8098,7 +8098,7 @@ sub_807EC40: @ 807EC40
lsls r0, 7
strh r0, [r5, 0x2E]
strh r7, [r5, 0x24]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r6, r0, 0
@@ -8615,7 +8615,7 @@ _0807F0BC:
adds r1, r4, r2
movs r0, 0x1
strb r0, [r1]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r5, 0xB4
@@ -8661,7 +8661,7 @@ _0807F11C:
adds r0, r4, r1
movs r5, 0x1
strb r5, [r0]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ands r0, r5
@@ -8674,7 +8674,7 @@ _0807F13C: .4byte gUnknown_08396FC4
_0807F140: .4byte 0x000006ea
_0807F144: .4byte 0x000006eb
_0807F148:
- bl GenerateRandomNumber
+ bl Random
ldr r1, _0807F1B0
ldr r2, [r1]
movs r1, 0x1
@@ -8706,7 +8706,7 @@ _0807F166:
movs r0, 0x14
bl sub_807F3F8
_0807F18A:
- bl GenerateRandomNumber
+ bl Random
ldr r1, _0807F1B0
ldr r4, [r1]
lsls r0, 16
@@ -8757,7 +8757,7 @@ _0807F1DA:
lsls r0, 24
cmp r0, 0
beq _0807F224
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF
@@ -8813,7 +8813,7 @@ _0807F264: .4byte gUnknown_08396FC4
_0807F268: .4byte 0x000006e6
_0807F26C: .4byte 0x000006cc
_0807F270:
- bl GenerateRandomNumber
+ bl Random
ldr r1, _0807F294
ldr r2, [r1]
lsls r0, 16
@@ -8849,7 +8849,7 @@ _0807F2A0:
bl sub_807F3F8
movs r0, 0x13
bl sub_807D5BC
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xF
ands r1, r0
adds r1, 0x1E
@@ -9016,7 +9016,7 @@ sub_807F3F8: @ 807F3F8
ldrb r0, [r5]
cmp r0, 0
bne _0807F426
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r6, 0
@@ -9056,7 +9056,7 @@ sub_807F434: @ 807F434
lsls r0, 24
cmp r0, 0
bne _0807F494
- bl GenerateRandomNumber
+ bl Random
ands r4, r0
cmp r4, 0
beq _0807F474
@@ -15940,7 +15940,7 @@ _0808291E:
lsrs r0, 24
cmp r0, 0x1
bne _08082990
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -20345,7 +20345,7 @@ _08084A8E:
bgt _08084AA2
movs r7, 0x2
_08084AA2:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -20465,7 +20465,7 @@ _08084B80: .4byte 0x0202ff80
thumb_func_start wild_pokemon_rand_grass
wild_pokemon_rand_grass: @ 8084B84
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -20572,7 +20572,7 @@ _08084C3A:
thumb_func_start wild_pokemon_rand_water
wild_pokemon_rand_water: @ 8084C40
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -20625,7 +20625,7 @@ sub_8084C94: @ 8084C94
lsrs r4, r0, 24
adds r6, r4, 0
movs r5, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -20727,7 +20727,7 @@ _08084D44:
adds r4, 0x1
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0
@@ -20800,7 +20800,7 @@ sub_8084DC4: @ 8084DC4
bl GetSafariZoneFlag
cmp r0, 0x1
bne _08084E5E
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -20833,7 +20833,7 @@ _08084E04:
bhi _08084E34
add r5, sp
_08084E12:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
cmp r1, 0
@@ -20874,7 +20874,7 @@ _08084E54:
cmp r5, 0x18
bls _08084E3E
_08084E5E:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x19
@@ -21083,7 +21083,7 @@ DoMassOutbreakEncounterTest: @ 8084FC4
ldrb r0, [r0]
cmp r1, r0
bne _08085020
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -21116,7 +21116,7 @@ DoWildEncounterRateDiceRoll: @ 8085028
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xB4
@@ -21210,7 +21210,7 @@ _080850DC: .4byte 0x03004360
thumb_func_start DoGlobalWildEncounterDiceRoll
DoGlobalWildEncounterDiceRoll: @ 80850E0
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -21712,7 +21712,7 @@ _080854CE:
ldr r1, [r4, 0x4]
b _08085508
_080854DC:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -35889,7 +35889,7 @@ _0808C344:
_0808C374: .4byte 0x030028f8
_0808C378: .4byte gUnknown_081E7048
_0808C37C:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
cmp r1, 0x1
@@ -104798,7 +104798,7 @@ _080AE3FE:
movs r5, 0
ldr r7, _080AE470
_080AE412:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r6, 0
@@ -107282,7 +107282,7 @@ sub_80AF6A0: @ 80AF6A0
str r6, [sp, 0x6C]
mov r4, sp
_080AF6CE:
- bl GenerateRandomNumber
+ bl Random
strh r0, [r4]
movs r2, 0
cmp r2, r9
@@ -110527,7 +110527,7 @@ sub_80B0F28: @ 80B0F28
adds r6, r4, 0
movs r7, 0
_080B0F4E:
- bl GenerateRandomNumber
+ bl Random
adds r1, r0, 0
mov r0, sp
adds r0, r7
@@ -111108,7 +111108,7 @@ _080B13A4:
movs r0, 0
_080B13A6:
strb r0, [r2, 0x2]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -114047,7 +114047,7 @@ sub_80B2A7C: @ 80B2A7C
lsls r0, 24
lsrs r0, 24
mov r9, r0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -118570,7 +118570,7 @@ _080B4DB6:
muls r5, r0
adds r4, r1, 0
muls r4, r2
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
subs r4, r5
@@ -125279,7 +125279,7 @@ _080B7F9C: .4byte 0x020192d0
thumb_func_start ContestEffectFunc_080E56E0
ContestEffectFunc_080E56E0: @ 80B7FA0
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -125328,7 +125328,7 @@ _080B7FEE:
strb r5, [r4, 0x8]
movs r0, 0xFF
strb r0, [r4, 0x9]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -125900,7 +125900,7 @@ _080B83FE:
adds r5, 0x7D
mov r4, sp
_080B8442:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -126431,7 +126431,7 @@ _080B882A:
thumb_func_start sub_80B8830
sub_80B8830: @ 80B8830
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -127215,7 +127215,7 @@ _080B8DCE:
movs r6, 0
adds r7, r3, 0
_080B8DF6:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
lsls r2, r6, 24
@@ -129110,7 +129110,7 @@ sub_80B9C6C: @ 80B9C6C
lsls r2, 24
lsrs r2, 24
str r2, [sp, 0x34]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x40]
@@ -129317,7 +129317,7 @@ _080B9E0A:
beq _080B9E26
_080B9E0E:
str r3, [sp, 0x54]
- bl GenerateRandomNumber
+ bl Random
mov r4, r8
adds r2, r4, r5
lsls r0, 16
@@ -136717,7 +136717,7 @@ _080BD81A:
cmp r0, 0
bne _080BD81A
_080BD834:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0
@@ -138347,13 +138347,13 @@ sub_80BE478: @ 80BE478
movs r2, 0
bl PokemonGetField
strh r0, [r4, 0x2]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
bl __umodsi3
strb r0, [r4, 0x1A]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ands r0, r5
@@ -138691,7 +138691,7 @@ _080BE78C:
negs r1, r1
cmp r0, r1
beq _080BE836
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x5
@@ -139147,7 +139147,7 @@ sub_80BEB20: @ 80BEB20
lsrs r0, 24
cmp r0, 0x1
beq _080BEBA6
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -140632,7 +140632,7 @@ sub_80BF674: @ 80BF674
push {r4-r6,lr}
lsls r0, 16
lsrs r5, r0, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, _080BF694
@@ -140783,7 +140783,7 @@ sub_80BF77C: @ 80BF77C
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
cmp r0, r4
@@ -140802,7 +140802,7 @@ _080BF796:
sub_80BF79C: @ 80BF79C
push {r4-r6,lr}
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x6
@@ -141494,7 +141494,7 @@ _080BFCC0:
_080BFCCC: .4byte 0x020231cc
_080BFCD0: .4byte gUnknown_0840FF32
_080BFCD4:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
@@ -143700,7 +143700,7 @@ _080C0EB0:
movs r0, 0x2
bl sub_80BF088
ldr r4, _080C0EF4
- bl GenerateRandomNumber
+ bl Random
ldrb r2, [r4]
adds r2, 0x1
lsls r0, 16
@@ -144430,7 +144430,7 @@ _080C1524:
ldrb r2, [r5, 0x3]
bl sub_80C08FC
ldr r4, _080C1574
- bl GenerateRandomNumber
+ bl Random
ldrb r2, [r4]
adds r2, 0x1
lsls r0, 16
@@ -144609,7 +144609,7 @@ _080C16D8:
ldrb r1, [r4, 0x10]
movs r0, 0x1
bl sub_80BF088
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -144767,7 +144767,7 @@ _080C188C: .4byte 0x020232cc
_080C1890: .4byte gSpeciesNames
_080C1894: .4byte 0x020387e8
_080C1898:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -144793,7 +144793,7 @@ _080C18C4:
strb r0, [r6]
b _080C1960
_080C18CA:
- bl GenerateRandomNumber
+ bl Random
ldrb r4, [r6]
adds r4, 0x1
lsls r0, 16
@@ -144813,7 +144813,7 @@ _080C18E2:
.align 2, 0
_080C18F0: .4byte 0x020387e8
_080C18F4:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x1F
@@ -144972,7 +144972,7 @@ _080C1A84:
_080C1AA0: .4byte 0x020231cc
_080C1AA4: .4byte 0x020387e8
_080C1AA8:
- bl GenerateRandomNumber
+ bl Random
ldrb r4, [r7]
adds r4, 0x1
lsls r0, 16
@@ -149254,7 +149254,7 @@ sub_80C3D04: @ 80C3D04
cmp r0, 0x27
bhi _080C3DBE
ldr r4, _080C3DE0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF0
@@ -149270,7 +149270,7 @@ sub_80C3D04: @ 80C3D04
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
ldr r1, _080C3DE4
lsls r5, r4, 4
adds r5, r4
@@ -149279,21 +149279,21 @@ sub_80C3D04: @ 80C3D04
lsls r0, 23
lsrs r0, 23
strh r0, [r5, 0x2E]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x18
bl __umodsi3
adds r0, 0x10
strh r0, [r5, 0x30]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xFF
ands r0, r1
adds r0, 0x30
strh r0, [r5, 0x32]
- bl GenerateRandomNumber
+ bl Random
ldrh r6, [r5, 0x4]
lsls r4, r6, 22
lsrs r4, 22
@@ -152050,7 +152050,7 @@ _080C528C: .4byte 0x00006073
_080C5290: .4byte 0x0202e8dc
_080C5294:
ldr r4, _080C52AC
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
_080C529E:
@@ -163333,7 +163333,7 @@ _080CAA0C:
sub_80CAA14: @ 80CAA14
push {r4,r5,lr}
adds r5, r0, 0
- bl GenerateRandomNumber
+ bl Random
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
@@ -163369,7 +163369,7 @@ _080CAA60:
adds r0, 0x14
_080CAA64:
strh r0, [r5, 0x20]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x1F
@@ -163395,7 +163395,7 @@ _080CAA64:
strh r0, [r5, 0x36]
adds r0, r5, 0
bl sub_8078D60
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
strh r1, [r5, 0x38]
@@ -174631,7 +174631,7 @@ _080D0064:
subs r1, 0x1
cmp r1, 0
bge _080D0064
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x7
@@ -174640,7 +174640,7 @@ _080D0064:
adds r1, r2, 0
subs r1, r0
strh r1, [r4, 0x3A]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA0
@@ -180087,7 +180087,7 @@ _080D2A5C:
strh r0, [r4, 0x22]
strh r5, [r4, 0x24]
strh r5, [r4, 0x26]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xB4
@@ -180957,7 +180957,7 @@ _080D3118:
bl __modsi3
cmp r0, 0x1
bne _080D3160
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF0
@@ -180965,7 +180965,7 @@ _080D3118:
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x50
@@ -182904,14 +182904,14 @@ sub_80D4044: @ 80D4044
adds r0, r4, 0
movs r1, 0x1
bl sub_8078764
- bl GenerateRandomNumber
+ bl Random
movs r5, 0xFF
ands r5, r0
movs r0, 0x80
lsls r0, 1
adds r6, r0, 0
orrs r5, r6
- bl GenerateRandomNumber
+ bl Random
ldr r1, _080D40A0
ands r1, r0
adds r0, r1, 0
@@ -184322,7 +184322,7 @@ sub_80D4B3C: @ 80D4B3C
strh r0, [r6, 0x22]
movs r0, 0x6
strh r0, [r6, 0x2E]
- bl GenerateRandomNumber
+ bl Random
movs r4, 0x1F
adds r1, r4, 0
ands r1, r0
@@ -184331,13 +184331,13 @@ sub_80D4B3C: @ 80D4B3C
ldrh r0, [r6, 0x20]
adds r1, r0
strh r1, [r6, 0x32]
- bl GenerateRandomNumber
+ bl Random
ands r4, r0
adds r4, r5
ldrh r1, [r6, 0x22]
adds r4, r1
strh r4, [r6, 0x36]
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x7
ands r1, r0
mvns r1, r1
@@ -184617,7 +184617,7 @@ sub_80D4D64: @ 80D4D64
lsls r1, 16
lsrs r1, 16
mov r10, r1
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -184627,7 +184627,7 @@ sub_80D4D64: @ 80D4D64
lsls r0, 16
lsrs r0, 16
mov r9, r0
- bl GenerateRandomNumber
+ bl Random
negs r4, r4
lsls r0, 16
lsrs r0, 16
@@ -193118,14 +193118,14 @@ sub_80D8F10: @ 80D8F10
adds r0, r4, 0
movs r1, 0x1
bl sub_8078764
- bl GenerateRandomNumber
+ bl Random
movs r5, 0xFF
ands r5, r0
movs r0, 0x80
lsls r0, 1
adds r6, r0, 0
orrs r5, r6
- bl GenerateRandomNumber
+ bl Random
ldr r1, _080D8F6C
ands r1, r0
adds r0, r1, 0
@@ -193378,7 +193378,7 @@ _080D911A:
ldrsh r0, [r4, r3]
cmp r0, 0
bge _080D9138
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x5
@@ -193420,7 +193420,7 @@ _080D9138:
_080D9182:
lsls r4, r0, 14
lsrs r4, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
lsls r1, r6, 16
@@ -193428,7 +193428,7 @@ _080D9182:
bl __modsi3
lsls r0, 16
lsrs r6, r0, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
lsls r4, 16
@@ -193437,7 +193437,7 @@ _080D9182:
bl __modsi3
lsls r0, 16
lsrs r4, r0, 16
- bl GenerateRandomNumber
+ bl Random
movs r7, 0x1
adds r1, r7, 0
ands r1, r0
@@ -193447,7 +193447,7 @@ _080D9182:
negs r0, r0
lsrs r6, r0, 16
_080D91C4:
- bl GenerateRandomNumber
+ bl Random
adds r1, r7, 0
ands r1, r0
cmp r1, 0
@@ -197185,7 +197185,7 @@ _080DAE58:
lsls r3, 16
lsrs r3, 24
strh r3, [r4, 0x30]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
asrs r7, r0, 16
movs r0, 0x80
@@ -197964,10 +197964,10 @@ _080DB454: .4byte 0x030027f0
sub_80DB458: @ 80DB458
push {r4,r5,lr}
adds r5, r0, 0
- bl GenerateRandomNumber
+ bl Random
ldr r4, _080DB47C
ands r4, r0
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x7F
ands r1, r0
movs r0, 0x1
@@ -209746,11 +209746,11 @@ sub_80E1078: @ 80E1078
bl sub_8077EE4
lsls r0, 24
lsrs r7, r0, 24
- bl GenerateRandomNumber
+ bl Random
movs r4, 0x1F
adds r5, r4, 0
ands r5, r0
- bl GenerateRandomNumber
+ bl Random
ands r4, r0
adds r1, r5, 0
cmp r1, 0x10
@@ -212904,7 +212904,7 @@ sub_80E2870: @ 80E2870
negs r0, r0
cmp r1, r0
bne _080E288C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
strh r1, [r5, 0x2]
@@ -212927,7 +212927,7 @@ _080E28AC:
movs r1, 0
bl sub_8078764
_080E28B4:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x30
@@ -212937,7 +212937,7 @@ _080E28B4:
ldrh r1, [r4, 0x24]
adds r0, r1
strh r0, [r4, 0x24]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x18
@@ -231410,7 +231410,7 @@ sub_80EB72C: @ 80EB72C
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldr r1, _080EB778
@@ -231559,7 +231559,7 @@ _080EB838: .4byte 0x020234cc
thumb_func_start sub_80EB83C
sub_80EB83C: @ 80EB83C
push {lr}
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
movs r0, 0xC
@@ -231677,7 +231677,7 @@ _080EB8FC:
.align 2, 0
_080EB914: .4byte 0x000001ff
_080EB918:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x21
@@ -231736,7 +231736,7 @@ _080EB970:
.align 2, 0
_080EB980: .4byte 0x000001ff
_080EB984:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r5, 0
@@ -231800,7 +231800,7 @@ _080EB9EA:
.align 2, 0
_080EB9F4: .4byte 0x000001ff
_080EB9F8:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0
@@ -256408,7 +256408,7 @@ _080F7D02:
ldr r0, _080F7D54
cmp r1, r0
beq _080F7D68
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
@@ -256458,7 +256458,7 @@ _080F7D68:
ldr r1, [r1]
bl StringCopy
_080F7D88:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -256519,7 +256519,7 @@ _080F7DE4:
mov r9, r2
adds r6, r1, 0
_080F7DFC:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r4, r5, 0x1
@@ -256563,7 +256563,7 @@ _080F7E2A:
movs r7, 0
movs r5, 0
_080F7E56:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xA
@@ -256588,7 +256588,7 @@ _080F7E84: .4byte gUnknown_083E53C8
_080F7E88: .4byte 0x020284c8
_080F7E8C: .4byte 0x0000ffff
_080F7E90:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
mov r1, r10
@@ -257616,13 +257616,13 @@ _080F8612:
ble _080F8648
adds r5, r6, 0
_080F8618:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r6, 0
bl __modsi3
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r6, 0
@@ -261202,7 +261202,7 @@ _080FA192:
ldr r2, _080FA1BC
adds r1, r5, r2
strh r0, [r1]
- bl GenerateRandomNumber
+ bl Random
mov r1, r8
ands r1, r0
cmp r1, 0
@@ -261220,7 +261220,7 @@ _080FA1C2:
ldr r2, _080FA214
adds r1, r5, r2
strh r0, [r1]
- bl GenerateRandomNumber
+ bl Random
adds r3, r4, r7
mov r2, r8
ands r2, r0
@@ -261939,7 +261939,7 @@ _080FA72E:
movs r0, 0x1
b _080FA73A
_080FA732:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r0, r1
_080FA73A:
@@ -261952,7 +261952,7 @@ _080FA73A:
sub_80FA740: @ 80FA740
push {r4,r5,lr}
adds r5, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x62
@@ -261961,7 +261961,7 @@ sub_80FA740: @ 80FA740
lsrs r4, r0, 16
cmp r4, 0x32
bls _080FA782
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x62
@@ -261970,7 +261970,7 @@ sub_80FA740: @ 80FA740
lsrs r4, r0, 16
cmp r4, 0x50
bls _080FA782
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x62
@@ -261988,7 +261988,7 @@ _080FA782:
ands r0, r2
orrs r0, r1
strh r0, [r5]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0x1
@@ -262002,7 +262002,7 @@ _080FA782:
ands r1, r2
orrs r1, r0
strb r1, [r5]
- bl GenerateRandomNumber
+ bl Random
strh r0, [r5, 0x2]
pop {r4,r5}
pop {r0}
@@ -277095,7 +277095,7 @@ sub_8101BA4: @ 8101BA4
movs r4, 0
strb r4, [r5]
strb r4, [r5, 0x2]
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
strb r1, [r5, 0x3]
@@ -278392,7 +278392,7 @@ _0810253A:
thumb_func_start sub_8102540
sub_8102540: @ 8102540
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 24
lsrs r0, 24
ldr r4, _08102568
@@ -278427,7 +278427,7 @@ sub_8102578: @ 8102578
movs r5, 0
ldr r6, _081025B4
_0810257E:
- bl GenerateRandomNumber
+ bl Random
movs r2, 0xFF
ldr r3, _081025B8
lsls r1, r5, 16
@@ -278471,7 +278471,7 @@ sub_81025BC: @ 81025BC
movs r7, 0x80
lsls r7, 17
_081025CE:
- bl GenerateRandomNumber
+ bl Random
movs r4, 0xFF
ands r4, r0
lsls r2, r6, 16
@@ -278570,7 +278570,7 @@ sub_8102680: @ 8102680
ldr r1, _081026A4
movs r0, 0
strb r0, [r1, 0x5]
- bl GenerateRandomNumber
+ bl Random
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0
@@ -278592,7 +278592,7 @@ _081026AE:
asrs r5, r0, 16
cmp r5, 0
ble _081026CE
- bl GenerateRandomNumber
+ bl Random
lsls r0, 24
lsrs r4, r0, 24
lsls r0, r6, 24
@@ -278619,7 +278619,7 @@ sub_81026DC: @ 81026DC
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
ldr r0, _081026FC
@@ -278670,7 +278670,7 @@ _08102734:
ble _0810273A
movs r4, 0x1
_0810273A:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -278688,7 +278688,7 @@ _0810273A:
.align 2, 0
_0810275C: .4byte gUnknown_083ECE1C
_08102760:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -287289,7 +287289,7 @@ _08106730: .4byte 0x0000043c
_08106734:
ldrh r0, [r4, 0x20]
bl SeedRng
- bl InitKeypadData
+ bl InitKeys
ldr r0, _08106750
ldr r1, _08106754
adds r0, r1
@@ -288557,7 +288557,7 @@ _08107198:
movs r0, 0
strb r0, [r5]
_081071A4:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF
@@ -288585,7 +288585,7 @@ _081071A4:
cmp r0, 0
beq _08107224
ldr r4, _0810721C
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x2
ands r0, r5
strb r0, [r4]
@@ -288773,7 +288773,7 @@ _0810734E:
adds r3, 0x1
cmp r3, 0x3
ble _0810731E
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r5, 0
@@ -289033,7 +289033,7 @@ _08107528: .4byte 0x02016a00
thumb_func_start sub_810752C
sub_810752C: @ 810752C
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xFF
lsls r1, 16
@@ -289069,7 +289069,7 @@ _08107568:
thumb_func_start sub_810756C
sub_810756C: @ 810756C
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xFF
lsls r1, 16
@@ -289105,7 +289105,7 @@ _081075A8:
thumb_func_start sub_81075AC
sub_81075AC: @ 81075AC
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xFF
lsls r1, 16
@@ -289141,7 +289141,7 @@ _081075E8:
thumb_func_start sub_81075EC
sub_81075EC: @ 81075EC
push {lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xFF
lsls r1, 16
@@ -291484,7 +291484,7 @@ _081086FC:
ldrb r0, [r3, 0x17]
cmp r0, 0
beq _08108754
- bl GenerateRandomNumber
+ bl Random
adds r1, r7, 0
ands r1, r0
cmp r1, 0
@@ -293190,7 +293190,7 @@ sub_81093C8: @ 81093C8
adds r4, r0
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x64
@@ -301222,9 +301222,9 @@ _0810D2D0: .4byte 0x00004025
thumb_func_start sub_810D2D4
sub_810D2D4: @ 810D2D4
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r4, 16
lsls r0, 16
lsrs r0, 16
@@ -306545,7 +306545,7 @@ _0810FBA8:
bne _0810FBE0
adds r3, r5, 0
str r3, [sp]
- bl GenerateRandomNumber
+ bl Random
adds r1, r6, 0
ands r1, r0
ldr r3, [sp]
@@ -306625,7 +306625,7 @@ _0810FC44:
beq _0810FC66
mov r8, r5
str r2, [sp]
- bl GenerateRandomNumber
+ bl Random
adds r1, r4, 0
ands r1, r0
ldr r2, [sp]
@@ -318969,7 +318969,7 @@ sub_8116100: @ 8116100
mov r0, sp
movs r2, 0x8
bl memcpy
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r7, r0, 16
adds r0, r7, 0
@@ -324669,7 +324669,7 @@ _08118E78: .4byte sub_8118834
_08118E7C:
movs r0, 0x38
bl m4aSongNumStart
- bl GenerateRandomNumber
+ bl Random
movs r2, 0x1
mov r9, r2
mov r1, r9
@@ -325500,7 +325500,7 @@ sub_811952C: @ 811952C
movs r1, 0
movs r2, 0xA
bl memset
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x10]
@@ -329782,7 +329782,7 @@ sub_811B5FC: @ 811B5FC
adds r0, r4, 0
movs r2, 0xA
bl memcpy
- bl GenerateRandomNumber
+ bl Random
movs r5, 0x1
ands r5, r0
movs r1, 0
@@ -347199,7 +347199,7 @@ sub_8124118: @ 8124118
add r0, sp, 0x8
movs r2, 0x2
bl memcpy
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
mov r9, r0
@@ -356745,7 +356745,7 @@ _08128974:
movs r6, 0x3
ldr r5, _081289A8
_08128978:
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
ands r4, r6
adds r3, r5, 0x5
@@ -361503,7 +361503,7 @@ _0812AB94:
thumb_func_start sub_812AB9C
sub_812AB9C: @ 812AB9C
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
movs r2, 0xFF
ands r2, r0
ldr r1, _0812ABD4
@@ -361544,7 +361544,7 @@ _0812ABE0:
thumb_func_start sub_812ABE8
sub_812ABE8: @ 812ABE8
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
movs r2, 0xFF
ands r2, r0
ldr r1, _0812AC20
@@ -367054,7 +367054,7 @@ _0812D584: .4byte gUnknown_08402500
sub_812D588: @ 812D588
push {r4,lr}
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r0, r1
cmp r0, 0
@@ -367077,7 +367077,7 @@ _0812D5AA:
ands r0, r2
orrs r0, r1
strh r0, [r4, 0x4]
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x7
ands r0, r1
adds r1, r0, 0
@@ -368208,7 +368208,7 @@ sub_812DEAC: @ 812DEAC
push {r5-r7}
sub sp, 0x4
adds r7, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xFC
lsls r1, 14
@@ -369968,7 +369968,7 @@ _0812EC74: .4byte 0x02020004
sub_812EC78: @ 812EC78
push {r4,r5,lr}
adds r4, r0, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xC
@@ -369986,10 +369986,10 @@ sub_812EC78: @ 812EC78
ands r0, r2
orrs r0, r1
strh r0, [r4, 0x4]
- bl GenerateRandomNumber
+ bl Random
ldr r5, _0812ECCC
ands r5, r0
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
movs r0, 0x1
@@ -380997,7 +380997,7 @@ sub_8134240: @ 8134240
ldr r4, _08134304
mov r0, r8
strb r0, [r4]
- bl GenerateRandomNumber
+ bl Random
ldr r5, _08134308
lsls r0, 16
lsrs r0, 16
@@ -381069,7 +381069,7 @@ sub_8134348: @ 8134348
ldr r5, _08134390
adds r4, r0, 0
_0813435C:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x14
@@ -381099,7 +381099,7 @@ _08134390: .4byte gUnknown_08402E80
sub_8134394: @ 8134394
push {r4-r7,lr}
movs r4, 0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xF0
lsls r1, 12
@@ -381128,7 +381128,7 @@ _081343BA:
adds r5, r2, 0x1
ldr r4, _08134408
_081343D0:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x5
@@ -381264,7 +381264,7 @@ sub_81344CC: @ 81344CC
lsrs r0, 24
cmp r0, 0x1
bne _081344FC
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
@@ -381647,7 +381647,7 @@ _081347B4: .4byte 0x02024ff0
_081347B8: .4byte 0x02024ea4
_081347BC: .4byte 0x02025090
_081347C0:
- bl GenerateRandomNumber
+ bl Random
ldr r4, _081347F0
lsls r0, 16
lsrs r0, 16
@@ -381739,7 +381739,7 @@ _0813485A:
mov r10, r0
mov r8, r5
_08134876:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
lsls r2, r1, 2
@@ -381801,7 +381801,7 @@ _081348E4:
mov r10, r2
mov r8, r5
_081348F2:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
lsls r0, r1, 2
@@ -381863,7 +381863,7 @@ _0813495C:
mov r8, r3
adds r5, r6, 0
_0813496C:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
lsls r0, r1, 4
@@ -382240,7 +382240,7 @@ _08134C2A:
mov r5, r12
cmp r5, 0x4
ble _08134BC6
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
adds r1, r7, 0
@@ -382630,7 +382630,7 @@ _08134F08:
str r0, [sp, 0x20]
movs r6, 0
_08134F1E:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0xFF
ands r1, r0
ldr r2, [sp, 0x1C]
@@ -384450,7 +384450,7 @@ sub_8135D84: @ 8135D84
subs r0, 0x1
cmp r0, 0x5
ble _08135DC0
- bl GenerateRandomNumber
+ bl Random
ldr r4, _08135DBC
lsls r0, 16
lsrs r0, 16
@@ -384462,7 +384462,7 @@ _08135DB4: .4byte 0x00000554
_08135DB8: .4byte 0x0000055c
_08135DBC: .4byte gUnknown_08405EE6
_08135DC0:
- bl GenerateRandomNumber
+ bl Random
ldr r4, _08135DE8
lsls r0, 16
lsrs r0, 16
@@ -395979,7 +395979,7 @@ task_intro_1: @ 813BA94
movs r0, 0
bl SetVBlankCallback
ldr r4, _0813BC18
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x1
ands r1, r0
strh r1, [r4]
@@ -399662,7 +399662,7 @@ _0813D83C:
.align 2, 0
_0813D84C: .4byte 0x03005ed0
_0813D850:
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
cmp r1, 0x1
@@ -411926,7 +411926,7 @@ _08143882:
ldrh r4, [r5, 0x2E]
lsls r4, 24
lsrs r4, 24
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
@@ -411958,7 +411958,7 @@ _081438C0: .4byte gUnknown_08208344
thumb_func_start sub_81438C4
sub_81438C4: @ 81438C4
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0xF0
@@ -411966,7 +411966,7 @@ sub_81438C4: @ 81438C4
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
- bl GenerateRandomNumber
+ bl Random
adds r2, r0, 0
lsls r2, 16
lsrs r2, 16
@@ -411988,7 +411988,7 @@ sub_81438C4: @ 81438C4
lsls r1, 2
ldr r0, _08143938
adds r4, r1, r0
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x11
@@ -411998,7 +411998,7 @@ sub_81438C4: @ 81438C4
lsrs r1, 24
adds r0, r4, 0
bl StartObjectImageAnim
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3
ands r1, r0
cmp r1, 0
@@ -416073,7 +416073,7 @@ _0814599A:
cmp r5, 0x43
bhi _081459EE
_0814599E:
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r0, 16
ldrh r1, [r4]
@@ -416194,11 +416194,11 @@ _08145A62:
thumb_func_start sub_8145A78
sub_8145A78: @ 8145A78
push {r4,lr}
- bl GenerateRandomNumber
+ bl Random
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
orrs r0, r4
bl sub_8145D14
@@ -416217,7 +416217,7 @@ sub_8145AA4: @ 8145AA4
push {r4,r5,lr}
lsls r0, 16
lsrs r4, r0, 16
- bl GenerateRandomNumber
+ bl Random
lsls r0, 16
lsrs r1, r0, 16
subs r0, r4, 0x1
@@ -423753,7 +423753,7 @@ sub_81498CC: @ 81498CC
lsrs r4, r0, 24
cmp r4, 0x40
beq _0814993C
- bl GenerateRandomNumber
+ bl Random
ldr r6, _0814994C
lsls r5, r4, 4
adds r5, r4
@@ -423768,7 +423768,7 @@ sub_81498CC: @ 81498CC
movs r0, 0
mov r8, r0
strh r1, [r4, 0x34]
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x3F
ands r1, r0
adds r1, 0x30
@@ -424282,7 +424282,7 @@ sub_8149CB0: @ 8149CB0
beq _08149D00
cmp r2, 0x31
bgt _08149D10
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x7
ands r0, r1
bl sub_81498CC
@@ -424443,7 +424443,7 @@ sub_8149DEC: @ 8149DEC
beq _08149E3C
cmp r2, 0x31
bgt _08149E4C
- bl GenerateRandomNumber
+ bl Random
movs r1, 0x7
ands r0, r1
bl sub_81498CC
diff --git a/data/data2.s b/data/data2.s
index d4b47f3e1..de8bcc8b3 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -5,36 +5,6 @@
.section .rodata
- .global gGameVersion
-gGameVersion: @ 81E280C
- .byte 2 @ Ruby
-
- .global gGameLanguage
-gGameLanguage: @ 81E280D
- .byte 2 @ English
-
-@ compile date/time
- .align 2
- .asciz "2002 10 15 20:34"
-
- .align 2
- .global gIntrTableTemplate
-gIntrTableTemplate: @ 81E2824
- .4byte SerialIntr
- .4byte Timer3Intr
- .4byte HBlankIntr
- .4byte VBlankIntr
- .4byte VCountIntr
- .4byte IntrDummy
- .4byte IntrDummy
- .4byte IntrDummy
- .4byte IntrDummy
- .4byte IntrDummy
- .4byte IntrDummy
- .4byte IntrDummy
- .4byte IntrDummy
- .4byte IntrDummy
-
@ Unreferenced error message.
@ It means "The DMA transfer request table has exceeded its limit."
.string "DMA OVER\n"
diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h
index 9673cd0ef..84c136465 100644
--- a/include/gba/io_reg.h
+++ b/include/gba/io_reg.h
@@ -421,6 +421,9 @@
#define REG_TM3CNT_L (*(vu16 *)REG_ADDR_TM3CNT_L)
#define REG_TM3CNT_H (*(vu16 *)REG_ADDR_TM3CNT_H)
+#define REG_KEYINPUT (*(vu16 *)REG_ADDR_KEYINPUT)
+#define REG_KEYCNT (*(vu16 *)REG_ADDR_KEYCNT)
+
#define REG_IME (*(vu16 *)REG_ADDR_IME)
#define REG_IE (*(vu16 *)REG_ADDR_IE)
#define REG_IF (*(vu16 *)REG_ADDR_IF)
@@ -502,6 +505,22 @@
#define TIMER_INTR_ENABLE 0x40
#define TIMER_ENABLE 0x80
+// keys
+#define A_BUTTON 0x0001
+#define B_BUTTON 0x0002
+#define SELECT_BUTTON 0x0004
+#define START_BUTTON 0x0008
+#define DPAD_RIGHT 0x0010
+#define DPAD_LEFT 0x0020
+#define DPAD_UP 0x0040
+#define DPAD_DOWN 0x0080
+#define R_BUTTON 0x0100
+#define L_BUTTON 0x0200
+#define KEYS_MASK 0x03FF
+#define KEY_INTR_ENABLE 0x0400
+#define KEY_OR_INTR 0x0000
+#define KEY_AND_INTR 0x8000
+
// interrupt flags
#define INTR_FLAG_VBLANK (1 << 0)
#define INTR_FLAG_HBLANK (1 << 1)
diff --git a/include/global.h b/include/global.h
index 8987fdf6a..79c9e771f 100644
--- a/include/global.h
+++ b/include/global.h
@@ -35,7 +35,8 @@ struct SaveBlock2
u8 playTimeMinutes;
u8 playTimeSeconds;
u8 playTimeVBlanks;
- u8 filler[0x85];
+ u8 optionsButtonMode;
+ u8 filler[0x84];
struct Time localTimeOffset;
};
diff --git a/iwram_syms.txt b/iwram_syms.txt
index cfe24cf57..ffca22f9c 100644
--- a/iwram_syms.txt
+++ b/iwram_syms.txt
@@ -13,8 +13,16 @@ gPlayTimeCounterState = 0x300057C;
gUnknownStringVar = 0x3002900;
+gUnknown_3002A20 = 0x3002A20;
+gUnknown_3002A60 = 0x3002A60;
+gUnknown_3002F90 = 0x3002F90;
+gUnknown_3003040 = 0x3003040;
+gUnknown_30033A9 = 0x30033A9;
+
gLocalTime = 0x3004038;
+gUnknown_3004820 = 0x3004820;
+
gTasks = 0x3004B20;
gMPlayMemAccArea = 0x3007440;
diff --git a/ld_script.txt b/ld_script.txt
index ab87a25e6..0c3029cae 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -4,6 +4,14 @@ gNumMusicPlayers = 4;
gMaxLines = 60;
SECTIONS {
+ . = 0x2020000;
+
+ ewram (NOLOAD) :
+ ALIGN(4)
+ {
+ src/main.o(ewram_data);
+ }
+
. = 0x3000000;
iwram (NOLOAD) :
@@ -16,6 +24,7 @@ SECTIONS {
tools/agbcc/lib/libgcc.a:dp-bit.o(.bss);
tools/agbcc/lib/libgcc.a:fp-bit.o(.bss);
src/m4a_2.o(.bss.code);
+ src/main.o(iwram_data);
. = 0x5FD0;
src/m4a_2.o(iwram_data);
}
@@ -26,6 +35,7 @@ SECTIONS {
ALIGN(4)
{
asm/crt0.o(.text);
+ src/main.o(.text);
asm/rom1.o(.text);
src/string_util.o(.text);
asm/rom2.o(.text);
@@ -76,6 +86,7 @@ SECTIONS {
.rodata :
ALIGN(4)
{
+ src/main.o(.rodata);
data/data2.o(.rodata);
src/m4a_tables.o(.rodata);
data/sound_data.o(.rodata);
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 000000000..9e029eeb2
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,417 @@
+#include "global.h"
+#include "gba/m4a_internal.h"
+#include "gba/flash_internal.h"
+#include "siirtc.h"
+#include "rtc.h"
+
+typedef void (*MainCallback)(void);
+typedef void (*IntrCallback)(void);
+typedef void (*IntrFunc)(void);
+
+struct OamData
+{
+ u32 a, b;
+};
+
+struct Main
+{
+ MainCallback callback1;
+ MainCallback callback2;
+
+ u32 field_8;
+
+ IntrCallback vblankCallback;
+ IntrCallback hblankCallback;
+ IntrCallback vcountCallback;
+ IntrCallback serialCallback;
+
+ vu16 intrCheck;
+
+ u32 vblankCounter1;
+ u32 vblankCounter2;
+
+ u16 heldKeysRaw; // held keys without L=A remapping
+ u16 newKeysRaw; // newly pressed keys without L=A remapping
+ u16 heldKeys; // held keys with L=A remapping
+ u16 newKeys; // newly pressed keys with L=A remapping
+ u16 newAndRepeatedKeys; // newly pressed keys plus key repeat
+ u16 keyRepeatCounter; // counts down to 0, triggering key repeat
+ bool16 watchedKeysPressed; // whether one of the watched keys was pressed
+ u16 watchedKeysMask; // bit mask for watched keys
+
+ u32 field_38;
+
+ struct OamData oamBuffer[128];
+
+ u8 state;
+
+ bool8 oamLoadDisabled;
+};
+
+extern struct SoundInfo gSoundInfo;
+extern u16 gUnknown_3002A20;
+extern u32 gUnknown_3002A60;
+extern u16 gUnknown_3002F90;
+extern u8 gUnknown_3003040;
+extern u8 gUnknown_30033A9[];
+extern u32 gUnknown_3004820;
+extern u32 IntrMain[];
+
+void VBlankIntr(void);
+void HBlankIntr(void);
+void VCountIntr(void);
+void SerialIntr(void);
+void IntrDummy(void);
+void Timer3Intr(void);
+
+const u8 gGameVersion = 2; // Ruby
+
+const u8 gGameLanguage = 2; // English
+
+const char BuildDateTime[] = "2002 10 15 20:34";
+
+const IntrFunc gIntrTableTemplate[] =
+{
+ SerialIntr, // Serial interrupt
+ Timer3Intr, // Timer 3 interrupt
+ HBlankIntr, // H-blank interrupt
+ VBlankIntr, // V-blank interrupt
+ VCountIntr, // V-count interrupt
+ IntrDummy, // Timer 0 interrupt
+ IntrDummy, // Timer 1 interrupt
+ IntrDummy, // Timer 2 interrupt
+ IntrDummy, // DMA 0 interrupt
+ IntrDummy, // DMA 1 interrupt
+ IntrDummy, // DMA 2 interrupt
+ IntrDummy, // DMA 3 interrupt
+ IntrDummy, // Key interrupt
+ IntrDummy, // Game Pak interrupt
+};
+
+#define INTR_COUNT ((int)(sizeof(gIntrTableTemplate)/sizeof(IntrFunc)))
+
+COMM_2(u16 gKeyRepeatStartDelay)
+COMM_2(u8 gUnknown_3001764)
+COMM_4(struct Main gMain)
+COMM_2(u16 gKeyRepeatContinueDelay)
+COMM_2(u8 gUnknown_3001BB4)
+COMM_4(IntrFunc gIntrTable[INTR_COUNT])
+COMM_2(u8 gUnknown_3001BF8)
+COMM_4(u32 IntrMain_Buffer[0x200])
+COMM_2(u8 gPcmDmaCounter)
+
+EWRAM_DATA void (*gFlashTimerIntrFunc)(void) = NULL;
+
+extern void sub_8008BEC(void);
+extern void sub_800C35C(void);
+extern u16 Random(void);
+extern void SeedRng(u16);
+extern void remove_some_task(void);
+extern void c2_copyright_1();
+extern u32 sub_8008848(u8 *, u16 *, u16 *);
+extern void sub_80075F0(u16 *);
+extern u32 sub_80558AC(void);
+extern u32 sub_8055910(void);
+extern u32 sub_8055940(void);
+extern void sound_something(void);
+extern void CheckForFlashMemory(void);
+extern void sound_sources_off(void);
+
+void CallCallbacksWrapper(void);
+void InitMainCallbacks(void);
+void CallCallbacks(void);
+void SetMainCallback2(MainCallback callback);
+void SeedRngWithRtc(void);
+void InitKeys(void);
+void ReadKeys(void);
+void InitIntrHandlers(void);
+void SetVBlankCallback(IntrCallback callback);
+void SetHBlankCallback(IntrCallback callback);
+void SetVCountCallback(IntrCallback callback);
+void SetSerialCallback(IntrCallback callback);
+void WaitForVBlank(void);
+void DoSoftReset(void);
+
+#define B_START_SELECT (B_BUTTON | START_BUTTON | SELECT_BUTTON)
+
+void AgbMain()
+{
+ RegisterRamReset(RESET_ALL);
+ REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3;
+ InitKeys();
+ InitIntrHandlers();
+ m4aSoundInit();
+ RtcInit();
+ CheckForFlashMemory();
+ InitMainCallbacks();
+ sound_sources_off();
+ SeedRngWithRtc();
+
+ gUnknown_3001BB4 = 0;
+
+ if (gUnknown_3004820 != 1)
+ SetMainCallback2(0);
+
+ gUnknown_3001764 = 0;
+
+ for (;;)
+ {
+ ReadKeys();
+
+ if (!gUnknown_3001BB4
+ && (gMain.heldKeysRaw & A_BUTTON)
+ && (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT)
+ DoSoftReset();
+
+ if (gUnknown_30033A9[0] > 1 && sub_8055910() == 1)
+ {
+ gUnknown_3001764 = 1;
+ CallCallbacksWrapper();
+ gUnknown_3001764 = 0;
+ }
+ else
+ {
+ gUnknown_3001764 = 0;
+ CallCallbacksWrapper();
+
+ if (gUnknown_30033A9[0xC84] > 1)
+ {
+ if (sub_80558AC() == 1)
+ {
+ gMain.newKeys = 0;
+ gUnknown_3001764 = 1;
+ CallCallbacksWrapper();
+ gUnknown_3001764 = 0;
+ }
+ }
+ }
+
+ PlayTimeCounter_Update();
+ sound_something();
+ WaitForVBlank();
+ }
+}
+
+// The conditions seem to be related to serial communication.
+void CallCallbacksWrapper(void)
+{
+ gUnknown_3002A60 = sub_8008848(&gUnknown_3003040, &gUnknown_3002F90, &gUnknown_3002A20);
+ sub_80075F0(&gMain.heldKeys);
+ if (!(gUnknown_3002A60 & 0x100) || sub_8055940() != 1)
+ CallCallbacks();
+}
+
+void InitMainCallbacks(void)
+{
+ gMain.vblankCounter1 = 0;
+ gMain.vblankCounter2 = 0;
+ gMain.callback1 = NULL;
+ SetMainCallback2(c2_copyright_1);
+}
+
+void CallCallbacks(void)
+{
+ if (gMain.callback1)
+ gMain.callback1();
+
+ if (gMain.callback2)
+ gMain.callback2();
+}
+
+void SetMainCallback2(MainCallback callback)
+{
+ gMain.callback2 = callback;
+ gMain.state = 0;
+}
+
+void SeedRngWithRtc(void)
+{
+ u32 seed = RtcGetMinuteCount();
+ seed = (seed >> 16) ^ (seed & 0xFFFF);
+ SeedRng(seed);
+}
+
+void InitKeys(void)
+{
+ gKeyRepeatContinueDelay = 5;
+ gKeyRepeatStartDelay = 40;
+
+ gMain.heldKeys = 0;
+ gMain.newKeys = 0;
+ gMain.newAndRepeatedKeys = 0;
+ gMain.heldKeysRaw = 0;
+ gMain.newKeysRaw = 0;
+}
+
+void ReadKeys(void)
+{
+ u16 keyInput = REG_KEYINPUT ^ KEYS_MASK;
+ gMain.newKeysRaw = keyInput & ~gMain.heldKeysRaw;
+ gMain.newKeys = gMain.newKeysRaw;
+ gMain.newAndRepeatedKeys = gMain.newKeysRaw;
+
+ // Bug: Key repeat won't work when pressing L using L=A button mode
+ // because it compares the raw key input with the remapped held keys.
+ // Note that newAndRepeatedKeys is never remapped either.
+
+ if (keyInput != 0 && gMain.heldKeys == keyInput)
+ {
+ gMain.keyRepeatCounter--;
+
+ if (gMain.keyRepeatCounter == 0)
+ {
+ gMain.newAndRepeatedKeys = keyInput;
+ gMain.keyRepeatCounter = gKeyRepeatContinueDelay;
+ }
+ }
+ else
+ {
+ // If there is no input or the input has changed, reset the counter.
+ gMain.keyRepeatCounter = gKeyRepeatStartDelay;
+ }
+
+ gMain.heldKeysRaw = keyInput;
+ gMain.heldKeys = gMain.heldKeysRaw;
+
+ // Remap L to A if the L=A option is enabled.
+ if (gSaveBlock2.optionsButtonMode == 2)
+ {
+ if (gMain.newKeys & L_BUTTON)
+ gMain.newKeys |= A_BUTTON;
+
+ if (gMain.heldKeys & L_BUTTON)
+ gMain.heldKeys |= A_BUTTON;
+ }
+
+ if (gMain.newKeys & gMain.watchedKeysMask)
+ gMain.watchedKeysPressed = TRUE;
+}
+
+void InitIntrHandlers(void)
+{
+ int i;
+
+ for (i = 0; i < INTR_COUNT; i++)
+ gIntrTable[i] = gIntrTableTemplate[i];
+
+ DmaCopy32(3, IntrMain, IntrMain_Buffer, sizeof(IntrMain_Buffer));
+
+ INTR_VECTOR = IntrMain_Buffer;
+
+ SetVBlankCallback(NULL);
+ SetHBlankCallback(NULL);
+ SetSerialCallback(NULL);
+
+ REG_IME = 1;
+ REG_IE = INTR_FLAG_VBLANK;
+ REG_DISPSTAT = DISPSTAT_VBLANK_INTR;
+ REG_IE |= INTR_FLAG_VBLANK;
+}
+
+void SetVBlankCallback(IntrCallback callback)
+{
+ gMain.vblankCallback = callback;
+}
+
+void SetHBlankCallback(IntrCallback callback)
+{
+ gMain.hblankCallback = callback;
+}
+
+void SetVCountCallback(IntrCallback callback)
+{
+ gMain.vcountCallback = callback;
+}
+
+void SetSerialCallback(IntrCallback callback)
+{
+ gMain.serialCallback = callback;
+}
+
+void VBlankIntr(void)
+{
+ u16 savedIme;
+
+ if (gUnknown_3001BF8 == 0)
+ sub_8008BEC();
+
+ savedIme = REG_IME;
+ REG_IME = 0;
+ m4aSoundVSync();
+ REG_IME = savedIme;
+
+ gMain.vblankCounter1++;
+
+ if (gMain.vblankCallback)
+ gMain.vblankCallback();
+
+ gMain.vblankCounter2++;
+
+ gPcmDmaCounter = gSoundInfo.pcmDmaCounter;
+
+ m4aSoundMain();
+ sub_800C35C();
+ Random();
+
+ INTR_CHECK |= INTR_FLAG_VBLANK;
+ gMain.intrCheck |= INTR_FLAG_VBLANK;
+}
+
+void InitFlashTimer(void)
+{
+ SetFlashTimerIntr(2, gFlashTimerIntrFunc);
+}
+
+void HBlankIntr(void)
+{
+ if (gMain.hblankCallback)
+ gMain.hblankCallback();
+
+ INTR_CHECK |= INTR_FLAG_HBLANK;
+ gMain.intrCheck |= INTR_FLAG_HBLANK;
+}
+
+void VCountIntr(void)
+{
+ if (gMain.vcountCallback)
+ gMain.vcountCallback();
+
+ INTR_CHECK |= INTR_FLAG_VCOUNT;
+ gMain.intrCheck |= INTR_FLAG_VCOUNT;
+}
+
+void SerialIntr(void)
+{
+ if (gMain.serialCallback)
+ gMain.serialCallback();
+
+ INTR_CHECK |= INTR_FLAG_SERIAL;
+ gMain.intrCheck |= INTR_FLAG_SERIAL;
+}
+
+void IntrDummy(void)
+{
+}
+
+void WaitForVBlank(void)
+{
+ gMain.intrCheck &= ~INTR_FLAG_VBLANK;
+ VBlankIntrWait();
+}
+
+void DoSoftReset(void)
+{
+ REG_IME = 0;
+ m4aSoundVSyncOff();
+ remove_some_task();
+ DmaStop(1);
+ DmaStop(2);
+ DmaStop(3);
+ SiiRtcProtect();
+ SoftReset(RESET_ALL);
+}
+
+void ClearPokemonCrySongs(void)
+{
+ CpuFill16(gPokemonCrySongs, 0, MAX_POKEMON_CRIES * sizeof(struct PokemonCrySong));
+}