diff options
author | YamaArashi <shadow962@live.com> | 2016-11-01 10:08:48 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-11-01 10:16:34 -0700 |
commit | 6f0e42a91aeeedd64725ce57e3dad6a38421d8e9 (patch) | |
tree | dcea69ec49430f004c17ff71b77587cafd78c69a /asm/reset_rtc_screen.s | |
parent | fef81187dce23adc635d7f4b7fd82298eab09ec2 (diff) |
split asm files
Diffstat (limited to 'asm/reset_rtc_screen.s')
-rw-r--r-- | asm/reset_rtc_screen.s | 1342 |
1 files changed, 1342 insertions, 0 deletions
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s new file mode 100644 index 000000000..1c55f0efa --- /dev/null +++ b/asm/reset_rtc_screen.s @@ -0,0 +1,1342 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_809E8E8 +sub_809E8E8: @ 809E8E8 + push {lr} + adds r3, r0, 0 + ldr r2, =0x03005e00 + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r2, 0xC + ldrsh r1, [r0, r2] + movs r2, 0x30 + ldrsh r0, [r3, r2] + cmp r1, r0 + beq _0809E9FE + strh r1, [r3, 0x30] + subs r0, r1, 0x1 + cmp r0, 0x5 + bhi _0809E9FE + lsls r0, 2 + ldr r1, =_0809E920 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0809E920: + .4byte _0809E938 + .4byte _0809E95C + .4byte _0809E980 + .4byte _0809E9A4 + .4byte _0809E9CE + .4byte _0809E9F8 +_0809E938: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x35 + b _0809E9C6 +_0809E95C: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x56 + b _0809E9C6 +_0809E980: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x65 + b _0809E9C6 +_0809E9A4: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x74 +_0809E9C6: + strh r0, [r3, 0x20] + movs r0, 0x44 + strh r0, [r3, 0x22] + b _0809E9FE +_0809E9CE: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x2 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x42 + ands r0, r1 + strb r0, [r2] + movs r0, 0x99 + strh r0, [r3, 0x20] + movs r0, 0x50 + strh r0, [r3, 0x22] + b _0809E9FE +_0809E9F8: + adds r0, r3, 0 + bl RemoveObjectAndFreeTiles +_0809E9FE: + pop {r0} + bx r0 + thumb_func_end sub_809E8E8 + + thumb_func_start sub_809EA04 +sub_809EA04: @ 809EA04 + push {lr} + adds r3, r0, 0 + ldr r2, =0x03005e00 + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r2, 0xC + ldrsh r1, [r0, r2] + movs r2, 0x30 + ldrsh r0, [r3, r2] + cmp r1, r0 + beq _0809EAFE + strh r1, [r3, 0x30] + subs r0, r1, 0x1 + cmp r0, 0x5 + bhi _0809EAFE + lsls r0, 2 + ldr r1, =_0809EA3C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0809EA3C: + .4byte _0809EA54 + .4byte _0809EA78 + .4byte _0809EA9C + .4byte _0809EAC0 + .4byte _0809EAEA + .4byte _0809EAF8 +_0809EA54: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x35 + b _0809EAE2 +_0809EA78: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x56 + b _0809EAE2 +_0809EA9C: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x65 + b _0809EAE2 +_0809EAC0: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x74 +_0809EAE2: + strh r0, [r3, 0x20] + movs r0, 0x5C + strh r0, [r3, 0x22] + b _0809EAFE +_0809EAEA: + adds r0, r3, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _0809EAFE +_0809EAF8: + adds r0, r3, 0 + bl RemoveObjectAndFreeTiles +_0809EAFE: + pop {r0} + bx r0 + thumb_func_end sub_809EA04 + + thumb_func_start sub_809EB04 +sub_809EB04: @ 809EB04 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, =gUnknown_085104C4 + bl LoadTaggedObjectPalette + ldr r0, =gUnknown_085104F0 + mov r8, r0 + movs r1, 0x35 + movs r2, 0x44 + movs r3, 0 + bl AddObjectToBack + lsls r0, 24 + lsrs r1, r0, 24 + ldr r6, =0x02020630 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, r6, 0 + adds r4, 0x1C + adds r2, r0, r4 + ldr r1, =sub_809E8E8 + str r1, [r2] + adds r0, r6 + strh r5, [r0, 0x2E] + ldr r1, =0x0000ffff + strh r1, [r0, 0x30] + mov r0, r8 + movs r1, 0x35 + movs r2, 0x44 + movs r3, 0 + bl AddObjectToBack + lsls r0, 24 + lsrs r1, r0, 24 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, r0, r4 + ldr r1, =sub_809EA04 + str r1, [r4] + adds r0, r6 + strh r5, [r0, 0x2E] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x30] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_809EB04 + + thumb_func_start sub_809EB8C +sub_809EB8C: @ 809EB8C + push {lr} + ldr r0, =gUnknown_085104C4 + ldrh r0, [r0, 0x4] + bl FreeObjectPaletteByTag + pop {r0} + bx r0 + .pool + thumb_func_end sub_809EB8C + + thumb_func_start sub_809EBA0 +sub_809EBA0: @ 809EBA0 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + movs r1, 0 + bl sub_8198070 + adds r0, r4, 0 + bl RemoveWindow + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_809EBA0 + + thumb_func_start sub_809EBC4 +sub_809EBC4: @ 809EBC4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + mov r10, r0 + adds r0, r1, 0 + mov r9, r2 + adds r1, r3, 0 + ldr r5, [sp, 0x30] + ldr r6, [sp, 0x34] + ldr r2, [sp, 0x38] + mov r8, r2 + mov r2, r10 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + lsls r3, r0, 24 + lsrs r3, 24 + str r3, [sp, 0xC] + mov r0, r9 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r1, 16 + lsrs r1, 16 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + mov r2, r8 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + ldr r7, =0x02021fc4 + ldr r4, =0x02021cc4 + adds r0, r4, 0 + movs r2, 0x1 + movs r3, 0x4 + bl ConvertIntToDecimalString + adds r0, r7, 0 + adds r1, r4, 0 + bl CopyString + adds r7, r0, 0 + ldr r1, =gUnknown_085EE68A + bl CopyString + adds r7, r0, 0 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalString + adds r0, r7, 0 + adds r1, r4, 0 + bl CopyString + adds r7, r0, 0 + ldr r5, =gUnknown_085EE68E + adds r1, r5, 0 + bl CopyString + adds r7, r0, 0 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalString + adds r0, r7, 0 + adds r1, r4, 0 + bl CopyString + adds r7, r0, 0 + adds r1, r5, 0 + bl CopyString + adds r7, r0, 0 + adds r0, r4, 0 + mov r1, r8 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalString + adds r0, r7, 0 + adds r1, r4, 0 + bl CopyString + ldr r2, =0x02021fc4 + mov r0, r9 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + mov r0, r10 + movs r1, 0x1 + ldr r3, [sp, 0xC] + bl Print + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_809EBC4 + + thumb_func_start sub_809ECB4 +sub_809ECB4: @ 809ECB4 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0xC + adds r4, r0, 0 + mov r9, r1 + adds r5, r2, 0 + adds r6, r3, 0 + ldr r0, [sp, 0x24] + mov r8, r0 + lsls r4, 24 + lsrs r4, 24 + mov r0, r9 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r2, 0x85 + lsls r2, 2 + adds r0, r4, 0 + movs r1, 0 + movs r3, 0xE + bl SetWindowBorderStyle + str r5, [sp] + str r6, [sp, 0x4] + mov r0, r8 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x1 + mov r3, r9 + bl sub_809EBC4 + ldr r2, =gUnknown_085EE690 + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0x1 + movs r3, 0x7E + bl Print + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_809ECB4 + + thumb_func_start sub_809ED38 +sub_809ED38: @ 809ED38 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r3, 16 + lsrs r3, 16 + adds r1, r3, 0 + movs r0, 0x80 + ands r0, r3 + cmp r0, 0 + beq _0809ED52 + ldrh r0, [r4] + subs r0, 0x1 + b _0809ED6C +_0809ED52: + movs r0, 0x40 + ands r0, r3 + cmp r0, 0 + beq _0809ED60 + ldrh r0, [r4] + adds r0, 0x1 + b _0809ED8A +_0809ED60: + movs r0, 0x20 + ands r0, r3 + cmp r0, 0 + beq _0809ED7A + ldrh r0, [r4] + subs r0, 0xA +_0809ED6C: + strh r0, [r4] + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, r5 + bge _0809ED96 + strh r2, [r4] + b _0809ED96 +_0809ED7A: + movs r0, 0x10 + ands r1, r0 + cmp r1, 0 + bne _0809ED86 + movs r0, 0 + b _0809ED98 +_0809ED86: + ldrh r0, [r4] + adds r0, 0xA +_0809ED8A: + strh r0, [r4] + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, r2 + ble _0809ED96 + strh r5, [r4] +_0809ED96: + movs r0, 0x1 +_0809ED98: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_809ED38 + + thumb_func_start sub_809EDA0 +sub_809EDA0: @ 809EDA0 + lsls r0, 24 + lsrs r0, 24 + ldr r2, =0x03005e00 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0x1 + strh r0, [r1, 0x8] + bx lr + .pool + thumb_func_end sub_809EDA0 + + thumb_func_start sub_809EDB8 +sub_809EDB8: @ 809EDB8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r5, =0x03005e08 + adds r0, r4, r5 + ldrb r0, [r0, 0x10] + bl sub_809EBA0 + bl sub_809EB8C + subs r5, 0x8 + adds r4, r5 + ldr r0, =sub_809EDA0 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_809EDB8 + + thumb_func_start sub_809EDE8 +sub_809EDE8: @ 809EDE8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r7, r0, 3 + ldr r0, =0x03005e08 + mov r8, r0 + adds r5, r7, r0 + ldrb r4, [r5, 0x4] + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 2 + ldr r1, =gUnknown_0851041C + adds r2, r0, r1 + ldr r1, =0x030022c0 + ldrh r3, [r1, 0x2E] + movs r0, 0x2 + ands r0, r3 + mov r12, r1 + cmp r0, 0 + beq _0809EE3C + mov r0, r8 + subs r0, 0x8 + adds r0, r7, r0 + ldr r1, =sub_809EDB8 + str r1, [r0] + movs r0, 0 + strh r0, [r5, 0x2] + movs r0, 0x6 + b _0809EE5C + .pool +_0809EE3C: + movs r0, 0x10 + ands r0, r3 + cmp r0, 0 + beq _0809EE4A + ldrb r0, [r2, 0x7] + cmp r0, 0 + bne _0809EE5C +_0809EE4A: + mov r3, r12 + ldrh r1, [r3, 0x2E] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0809EE66 + ldrb r0, [r2, 0x6] + cmp r0, 0 + beq _0809EE66 +_0809EE5C: + strh r0, [r5, 0x4] + movs r0, 0x5 + bl audio_play + b _0809EEF4 +_0809EE66: + cmp r4, 0x5 + bne _0809EEB4 + mov r0, r12 + ldrh r1, [r0, 0x2E] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _0809EEF4 + ldr r1, =0x03005cf8 + ldrh r0, [r5, 0x6] + strh r0, [r1] + ldrh r0, [r5, 0x8] + strb r0, [r1, 0x2] + ldrh r0, [r5, 0xA] + strb r0, [r1, 0x3] + ldrh r0, [r5, 0xC] + strb r0, [r1, 0x4] + movs r0, 0x5 + bl audio_play + ldr r1, =0x03005e00 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_809EDB8 + str r1, [r0] + strh r4, [r5, 0x2] + movs r0, 0x6 + strh r0, [r5, 0x4] + b _0809EEF4 + .pool +_0809EEB4: + ldrb r0, [r2] + lsls r0, 1 + adds r0, r5, r0 + ldrh r1, [r2, 0x2] + ldrh r2, [r2, 0x4] + mov r3, r12 + ldrh r4, [r3, 0x30] + movs r3, 0xC0 + ands r3, r4 + bl sub_809ED38 + cmp r0, 0 + beq _0809EEF4 + movs r0, 0x5 + bl audio_play + ldrb r0, [r5, 0x10] + ldrh r3, [r5, 0x6] + ldrb r1, [r5, 0x8] + str r1, [sp] + ldrb r1, [r5, 0xA] + str r1, [sp, 0x4] + ldrb r1, [r5, 0xC] + str r1, [sp, 0x8] + movs r1, 0 + movs r2, 0x1 + bl sub_809EBC4 + ldrb r0, [r5, 0x10] + movs r1, 0x2 + bl CopyWindowToVram +_0809EEF4: + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_809EDE8 + + thumb_func_start sub_809EF00 +sub_809EF00: @ 809EF00 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + mov r8, r0 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r6, r0, 2 + add r6, r8 + lsls r6, 3 + ldr r0, =0x03005e08 + mov r9, r0 + adds r5, r6, r0 + movs r0, 0 + strh r0, [r5] + ldr r1, =0x03005cf8 + ldrh r0, [r1] + strh r0, [r5, 0x6] + movs r0, 0x2 + ldrsb r0, [r1, r0] + strh r0, [r5, 0x8] + movs r0, 0x3 + ldrsb r0, [r1, r0] + strh r0, [r5, 0xA] + movs r0, 0x4 + ldrsb r0, [r1, r0] + strh r0, [r5, 0xC] + ldr r0, =gUnknown_08510420 + bl AddWindow + strh r0, [r5, 0x10] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r5, 0x6] + ldrb r2, [r5, 0x8] + ldrb r3, [r5, 0xA] + ldrb r4, [r5, 0xC] + str r4, [sp] + bl sub_809ECB4 + mov r0, r8 + bl sub_809EB04 + movs r0, 0x2 + strh r0, [r5, 0x4] + movs r0, 0x8 + negs r0, r0 + add r9, r0 + add r6, r9 + ldr r0, =sub_809EDE8 + str r0, [r6] + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_809EF00 + + thumb_func_start sub_809EF88 +sub_809EF88: @ 809EF88 + push {r4-r7,lr} + sub sp, 0x4 + movs r0, 0 + movs r1, 0 + bl SetGpuReg + movs r0, 0 + bl SetVBlankCallback + movs r2, 0xA0 + lsls r2, 19 + mov r1, sp + movs r0, 0 + strh r0, [r1] + ldr r1, =0x040000d4 + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + ldr r0, =0x81000200 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r2, 0xC0 + lsls r2, 19 + movs r3, 0xC0 + lsls r3, 9 + mov r4, sp + movs r6, 0 + movs r5, 0x80 + lsls r5, 5 + ldr r7, =0x81000800 + movs r0, 0x81 + lsls r0, 24 + mov r12, r0 +_0809EFCA: + strh r6, [r4] + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r5 + subs r3, r5 + cmp r3, r5 + bhi _0809EFCA + strh r6, [r4] + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 1 + mov r2, r12 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r0, 0 + movs r1, 0x80 + bl ResetSpriteRange + bl LoadOamFromSprites + bl remove_some_task + bl dp12_8087EA4 + bl ResetAllObjectData + bl ResetTasks + bl sub_80A1A74 + bl sub_809F048 + ldr r0, =sub_809F0AC + bl SetVBlankCallback + ldr r0, =sub_809F090 + bl SetMainCallback2 + ldr r0, =sub_809F200 + movs r1, 0x50 + bl CreateTask + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_809EF88 + + thumb_func_start sub_809F048 +sub_809F048: @ 809F048 + push {lr} + bl clear_scheduled_bg_copies_to_vram + movs r0, 0 + bl ResetBgsAndClearDma3BusyFlags + ldr r1, =gUnknown_08510404 + movs r0, 0 + movs r2, 0x1 + bl InitBgsFromTemplates + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + movs r1, 0x82 + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + movs r0, 0 + bl ShowBg + ldr r0, =gUnknown_08510408 + bl InitWindows + bl DeactivateAllTextPrinters + bl sub_81973A4 + pop {r0} + bx r0 + .pool + thumb_func_end sub_809F048 + + thumb_func_start sub_809F090 +sub_809F090: @ 809F090 + push {lr} + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl do_scheduled_bg_tilemap_copies_to_vram + bl fade_and_return_progress_probably + pop {r0} + bx r0 + thumb_func_end sub_809F090 + + thumb_func_start sub_809F0AC +sub_809F0AC: @ 809F0AC + push {lr} + bl ProcessObjectCopyRequests + bl LoadOamFromSprites + bl copy_pal_bg_faded_to_pal_ram + pop {r0} + bx r0 + thumb_func_end sub_809F0AC + + thumb_func_start sub_809F0C0 +sub_809F0C0: @ 809F0C0 + push {r4,lr} + sub sp, 0xC + adds r4, r0, 0 + movs r2, 0x80 + lsls r2, 2 + movs r0, 0x1 + movs r1, 0 + movs r3, 0xF + bl sub_8197B1C + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + str r0, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0 + bl Print + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_809F0C0 + + thumb_func_start sub_809F0F8 +sub_809F0F8: @ 809F0F8 + push {r4-r7,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, =0x03005e08 + adds r6, r0, r1 + movs r0, 0 + ldrsh r5, [r6, r0] + cmp r5, 0 + beq _0809F11C + cmp r5, 0x1 + beq _0809F1B2 + b _0809F1F8 + .pool +_0809F11C: + movs r2, 0x85 + lsls r2, 2 + movs r0, 0 + movs r1, 0 + movs r3, 0xE + bl SetWindowBorderStyle + ldr r2, =gUnknown_085ECA0D + movs r0, 0x1 + str r0, [sp] + movs r4, 0xFF + str r4, [sp, 0x4] + str r5, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl Print + ldr r1, =0x03005cf8 + ldrh r3, [r1] + ldrb r0, [r1, 0x2] + str r0, [sp] + ldrb r0, [r1, 0x3] + str r0, [sp, 0x4] + ldrb r0, [r1, 0x4] + str r0, [sp, 0x8] + movs r0, 0 + movs r1, 0 + movs r2, 0x11 + bl sub_809EBC4 + ldr r2, =gUnknown_085ECA22 + movs r0, 0x21 + str r0, [sp] + str r4, [sp, 0x4] + str r5, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl Print + ldr r0, =0x03005d90 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0xA0 + ldrh r3, [r0] + adds r0, 0x2 + ldrb r0, [r0] + str r0, [sp] + adds r0, r1, 0 + adds r0, 0xA3 + ldrb r0, [r0] + str r0, [sp, 0x4] + adds r0, r1, 0 + adds r0, 0xA4 + ldrb r0, [r0] + str r0, [sp, 0x8] + movs r0, 0 + movs r1, 0 + movs r2, 0x31 + bl sub_809EBC4 + ldr r0, =gUnknown_085EC9EC + bl sub_809F0C0 + movs r0, 0 + movs r1, 0x2 + bl CopyWindowToVram + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] +_0809F1B2: + ldr r0, =0x030022c0 + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0809F1E4 + adds r0, r7, 0 + bl DestroyTask + bl Reset + b _0809F1F8 + .pool +_0809F1E4: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0809F1F8 + movs r0, 0x5 + bl audio_play + adds r0, r7, 0 + bl DestroyTask +_0809F1F8: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_809F0F8 + + thumb_func_start sub_809F200 +sub_809F200: @ 809F200 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, =0x03005e08 + adds r5, r0, r1 + movs r1, 0 + ldrsh r0, [r5, r1] + cmp r0, 0x6 + bls _0809F21C + b _0809F404 +_0809F21C: + lsls r0, 2 + ldr r1, =_0809F230 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0809F230: + .4byte _0809F24C + .4byte _0809F268 + .4byte _0809F2B4 + .4byte _0809F310 + .4byte _0809F398 + .4byte _0809F3C8 + .4byte _0809F3EA +_0809F24C: + movs r0, 0x1 + negs r0, r0 + ldr r1, =0x0000ffff + str r1, [sp] + movs r1, 0x1 + movs r2, 0x10 + movs r3, 0 + bl pal_fade_maybe + movs r0, 0x1 + strh r0, [r5] + b _0809F404 + .pool +_0809F268: + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0809F276 + b _0809F404 +_0809F276: + ldr r0, =0x03006210 + ldrh r0, [r0] + cmp r0, 0 + beq _0809F282 + cmp r0, 0x2 + bne _0809F29C +_0809F282: + ldr r0, =gUnknown_085ECAA7 + bl sub_809F0C0 + movs r0, 0x5 + strh r0, [r5] + b _0809F404 + .pool +_0809F29C: + bl GameFreakRTC_CalcLocalDateTime + ldr r0, =sub_809F0F8 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x2] + b _0809F334 + .pool +_0809F2B4: + ldr r2, =0x03005e00 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrb r0, [r0, 0x4] + cmp r0, 0x1 + bne _0809F2CA + b _0809F404 +_0809F2CA: + movs r0, 0 + movs r1, 0 + bl sub_8198070 + ldr r0, =gUnknown_085ECA38 + bl sub_809F0C0 + ldr r2, =0x03005cf8 + ldr r0, =0x03005d90 + ldr r0, [r0] + adds r0, 0xA0 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + ldr r0, =sub_809EF00 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x2] + movs r0, 0x3 + strh r0, [r5] + b _0809F404 + .pool +_0809F310: + ldr r2, =0x03005e00 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r1, r0, r2 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _0809F404 + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _0809F340 + ldrb r0, [r5, 0x2] + bl DestroyTask +_0809F334: + movs r0, 0x2 + strh r0, [r5] + b _0809F404 + .pool +_0809F340: + ldrb r0, [r5, 0x2] + bl DestroyTask + bl GameFreakRTC_Reset + ldr r4, =0x03005cf8 + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0x2 + ldrsb r1, [r4, r1] + movs r2, 0x3 + ldrsb r2, [r4, r2] + movs r3, 0x4 + ldrsb r3, [r4, r3] + bl GameFreakRTC_CalcRTCToLocalDelta + ldr r0, =0x03005d90 + ldr r2, [r0] + adds r2, 0xA0 + ldr r0, [r4] + ldr r1, [r4, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + ldr r0, =0x00004040 + ldrh r1, [r4] + bl VarSet + bl sub_809D5D8 + ldr r0, =gUnknown_085ECA4F + bl sub_809F0C0 + movs r0, 0x4 + strh r0, [r5] + b _0809F404 + .pool +_0809F398: + movs r0, 0 + bl save_game_when_memory_present + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809F3B8 + ldr r0, =gUnknown_085ECA8A + bl sub_809F0C0 + movs r0, 0x49 + bl audio_play + b _0809F3C4 + .pool +_0809F3B8: + ldr r0, =gUnknown_085ECA9A + bl sub_809F0C0 + movs r0, 0x16 + bl audio_play +_0809F3C4: + movs r0, 0x5 + strh r0, [r5] +_0809F3C8: + ldr r0, =0x030022c0 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0809F404 + movs r0, 0x1 + negs r0, r0 + ldr r1, =0x0000ffff + str r1, [sp] + movs r1, 0x1 + movs r2, 0 + movs r3, 0x10 + bl pal_fade_maybe + movs r0, 0x6 + strh r0, [r5] +_0809F3EA: + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0809F404 + adds r0, r4, 0 + bl DestroyTask + bl FreeAllWindowBuffers + bl Reset +_0809F404: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_809F200 + + thumb_func_start sub_809F41C +sub_809F41C: @ 809F41C + push {lr} + ldr r0, =0x00000861 + bl FlagSet + movs r0, 0x86 + lsls r0, 4 + bl FlagSet + ldr r0, =0x00000862 + bl FlagSet + pop {r0} + bx r0 + .pool + thumb_func_end sub_809F41C + + .align 2, 0 @ Don't pad with nop. |