diff options
-rw-r--r-- | asm/rom1.s | 640 | ||||
-rw-r--r-- | asm/rom2.s | 2 | ||||
-rw-r--r-- | asm/rom3.s | 262 | ||||
-rw-r--r-- | asm/rom4.s | 84 | ||||
-rw-r--r-- | asm/rom5.s | 350 | ||||
-rw-r--r-- | data/data2.s | 30 | ||||
-rw-r--r-- | include/gba/io_reg.h | 19 | ||||
-rw-r--r-- | include/global.h | 3 | ||||
-rw-r--r-- | iwram_syms.txt | 8 | ||||
-rw-r--r-- | ld_script.txt | 11 | ||||
-rw-r--r-- | src/main.c | 417 |
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)); +} |