diff options
author | YamaArashi <shadow962@live.com> | 2016-09-04 01:15:12 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-09-04 01:15:12 -0700 |
commit | 55bfe3ca016304235d5d117a35d8973b10ecc657 (patch) | |
tree | 499d36b5493c1df1658fa79af42d76a37188cc27 /asm/rom3.s | |
parent | 4d518e8ea5c93c669eb14de89b5baf6eba1ac9b0 (diff) |
WIP main_menu.c
Diffstat (limited to 'asm/rom3.s')
-rw-r--r-- | asm/rom3.s | 1386 |
1 files changed, 0 insertions, 1386 deletions
diff --git a/asm/rom3.s b/asm/rom3.s index a32cec299..94b6d2b21 100644 --- a/asm/rom3.s +++ b/asm/rom3.s @@ -6,1392 +6,6 @@ .text - thumb_func_start CB2_MainMenu -CB2_MainMenu: @ 80096C4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end CB2_MainMenu - - thumb_func_start VBlankCB_MainMenu -VBlankCB_MainMenu: @ 80096DC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_MainMenu - - thumb_func_start CB2_InitMainMenu -CB2_InitMainMenu: @ 80096F0 - push {lr} - movs r0, 0 - bl InitMainMenu - pop {r0} - bx r0 - thumb_func_end CB2_InitMainMenu - - thumb_func_start sub_80096FC -sub_80096FC: @ 80096FC - push {lr} - movs r0, 0x1 - bl InitMainMenu - pop {r0} - bx r0 - thumb_func_end sub_80096FC - - thumb_func_start InitMainMenu -InitMainMenu: @ 8009708 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0xC - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x10 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - add r0, sp, 0x4 - strh r1, [r0] - ldr r1, _080097BC - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080097C0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r5, 0 - str r5, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080097C4 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x4 - strh r5, [r0] - str r0, [r1] - ldr r0, _080097C8 - str r0, [r1, 0x4] - ldr r0, _080097CC - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - ldr r0, _080097D0 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _080097D4 - bl SetUpWindowConfig - ldr r0, _080097D8 - bl sub_8071C4C - cmp r4, 0 - beq _080097DC - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080097EE - .align 2, 0 -_080097BC: .4byte 0x040000d4 -_080097C0: .4byte 0x8100c000 -_080097C4: .4byte 0x85000100 -_080097C8: .4byte 0x05000002 -_080097CC: .4byte 0x810001ff -_080097D0: .4byte gUnknown_081E797C -_080097D4: .4byte gWindowConfig_81E6C3C -_080097D8: .4byte gWindowConfig_81E6CE4 -_080097DC: - movs r0, 0x1 - negs r0, r0 - ldr r1, _08009858 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_080097EE: - ldr r0, _0800985C - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r3, _08009860 - ldrh r2, [r3] - strh r1, [r3] - ldr r4, _08009864 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, _08009868 - bl SetVBlankCallback - ldr r0, _0800986C - bl SetMainCallback2 - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xC5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08009870 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08009874 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0xA] - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08009858: .4byte 0x0000ffff -_0800985C: .4byte REG_WIN0H -_08009860: .4byte 0x04000208 -_08009864: .4byte 0x04000200 -_08009868: .4byte VBlankCB_MainMenu -_0800986C: .4byte CB2_MainMenu -_08009870: .4byte Task_CheckSave -_08009874: .4byte 0x03004b20 - thumb_func_end InitMainMenu - - thumb_func_start Task_CheckSave -Task_CheckSave: @ 8009878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080098D4 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _08009894 - b _080099FC -_08009894: - ldr r7, _080098D8 - strh r6, [r7] - ldr r0, _080098DC - mov r8, r0 - strh r6, [r0] - ldr r1, _080098E0 - ldr r2, _080098E4 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xF1 - strh r0, [r1] - ldr r0, _080098E8 - strh r6, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - ldr r0, _080098EC - ldrh r4, [r0] - cmp r4, 0x2 - beq _0800993C - cmp r4, 0x2 - bgt _080098F0 - cmp r4, 0 - beq _080099AC - cmp r4, 0x1 - beq _080098FA - b _080099AC - .align 2, 0 -_080098D4: .4byte 0x0202f388 -_080098D8: .4byte REG_WIN0H -_080098DC: .4byte REG_WIN0V -_080098E0: .4byte REG_WININ -_080098E4: .4byte 0x00001111 -_080098E8: .4byte REG_BLDALPHA -_080098EC: .4byte 0x03005eb8 -_080098F0: - cmp r4, 0x4 - beq _080099C8 - cmp r4, 0xFF - beq _08009950 - b _080099AC -_080098FA: - bl sub_806918C - cmp r0, 0x1 - bne _0800991C - ldr r2, _08009918 - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - adds r1, r2, 0 - adds r2, r3, 0 - b _0800992A - .align 2, 0 -_08009918: .4byte 0x03004b20 -_0800991C: - ldr r0, _08009934 - lsls r2, r5, 2 - adds r1, r2, r5 - lsls r1, 3 - adds r1, r0 - strh r4, [r1, 0x8] - adds r1, r0, 0 -_0800992A: - adds r0, r2, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009938 - b _080099FA - .align 2, 0 -_08009934: .4byte 0x03004b20 -_08009938: .4byte Task_CheckRtc -_0800993C: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _0800994C - b _080099D6 - .align 2, 0 -_0800994C: .4byte gUnknown_0840DEC2 -_08009950: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009994 - movs r1, 0x3 - movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage - ldr r2, _08009998 - adds r0, r2, 0 - strh r0, [r7] - ldr r1, _0800999C - adds r0, r1, 0 - mov r2, r8 - strh r0, [r2] - ldr r1, _080099A0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r5, 0x1 - strh r5, [r4, 0x8] - ldr r0, _080099A4 - str r0, [r4] - bl sub_806918C - cmp r0, 0x1 - bne _080099A8 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080099FC - .align 2, 0 -_08009994: .4byte gUnknown_0840DE81 -_08009998: .4byte 0x000011df -_0800999C: .4byte 0x0000719f -_080099A0: .4byte 0x03004b20 -_080099A4: .4byte Task_WaitForSaveErrorAck -_080099A8: - strh r5, [r4, 0x8] - b _080099FC -_080099AC: - ldr r1, _080099C0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080099C4 - b _080099FA - .align 2, 0 -_080099C0: .4byte 0x03004b20 -_080099C4: .4byte Task_CheckRtc -_080099C8: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009A08 -_080099D6: - movs r1, 0x3 - movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage - ldr r1, _08009A0C - adds r0, r1, 0 - strh r0, [r7] - ldr r2, _08009A10 - adds r0, r2, 0 - mov r1, r8 - strh r0, [r1] - ldr r1, _08009A14 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] - ldr r1, _08009A18 -_080099FA: - str r1, [r0] -_080099FC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08009A08: .4byte gUnknown_0840DEE5 -_08009A0C: .4byte 0x000011df -_08009A10: .4byte 0x0000719f -_08009A14: .4byte 0x03004b20 -_08009A18: .4byte Task_WaitForSaveErrorAck - thumb_func_end Task_CheckSave - - thumb_func_start Task_WaitForSaveErrorAck -Task_WaitForSaveErrorAck: @ 8009A1C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - beq _08009A52 - ldr r0, _08009A58 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08009A52 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl Reset - ldr r0, _08009A5C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009A60 - str r0, [r1] -_08009A52: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009A58: .4byte 0x03001770 -_08009A5C: .4byte 0x03004b20 -_08009A60: .4byte Task_CheckRtc - thumb_func_end Task_WaitForSaveErrorAck - - thumb_func_start Task_CheckRtc -Task_CheckRtc: @ 8009A64 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, _08009AC0 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08009B10 - ldr r6, _08009AC4 - strh r2, [r6] - ldr r7, _08009AC8 - strh r2, [r7] - ldr r1, _08009ACC - ldr r3, _08009AD0 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xF1 - strh r0, [r1] - ldr r0, _08009AD4 - strh r2, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - bl RtcGetErrorStatus - movs r1, 0xFF - lsls r1, 4 - ands r1, r0 - cmp r1, 0 - bne _08009AE0 - ldr r0, _08009AD8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009ADC - str r0, [r1] - b _08009B10 - .align 2, 0 -_08009AC0: .4byte 0x0202f388 -_08009AC4: .4byte REG_WIN0H -_08009AC8: .4byte REG_WIN0V -_08009ACC: .4byte REG_WININ -_08009AD0: .4byte 0x00001111 -_08009AD4: .4byte REG_BLDALPHA -_08009AD8: .4byte 0x03004b20 -_08009ADC: .4byte Task_DrawMainMenu -_08009AE0: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009B18 - movs r1, 0x3 - movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage - ldr r1, _08009B1C - adds r0, r1, 0 - strh r0, [r6] - ldr r3, _08009B20 - adds r0, r3, 0 - strh r0, [r7] - ldr r1, _08009B24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009B28 - str r1, [r0] -_08009B10: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08009B18: .4byte gUnknown_0840DF10 -_08009B1C: .4byte 0x000011df -_08009B20: .4byte 0x0000719f -_08009B24: .4byte 0x03004b20 -_08009B28: .4byte Task_WaitForRtcErrorAck - thumb_func_end Task_CheckRtc - - thumb_func_start Task_WaitForRtcErrorAck -Task_WaitForRtcErrorAck: @ 8009B2C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - beq _08009B62 - ldr r0, _08009B68 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08009B62 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl Reset - ldr r0, _08009B6C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009B70 - str r0, [r1] -_08009B62: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009B68: .4byte 0x03001770 -_08009B6C: .4byte 0x03004b20 -_08009B70: .4byte Task_DrawMainMenu - thumb_func_end Task_WaitForRtcErrorAck - - thumb_func_start Task_DrawMainMenu -Task_DrawMainMenu: @ 8009B74 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08009BDC - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08009B8E - b _08009D20 -_08009B8E: - ldr r0, _08009BE0 - strh r2, [r0] - adds r0, 0x4 - strh r2, [r0] - ldr r1, _08009BE4 - ldr r3, _08009BE8 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xF1 - strh r0, [r1] - ldr r0, _08009BEC - strh r2, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - mov r0, sp - strh r2, [r0] - movs r1, 0xFE - movs r2, 0x2 - bl LoadPalette - ldr r0, _08009BF0 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08009BF8 - mov r1, sp - ldr r2, _08009BF4 - adds r0, r2, 0 - strh r0, [r1] - mov r0, sp - movs r1, 0xF1 - movs r2, 0x2 - bl LoadPalette - b _08009C0A - .align 2, 0 -_08009BDC: .4byte 0x0202f388 -_08009BE0: .4byte REG_WIN0H -_08009BE4: .4byte REG_WININ -_08009BE8: .4byte 0x00001111 -_08009BEC: .4byte REG_BLDALPHA -_08009BF0: .4byte gSaveBlock2 -_08009BF4: .4byte 0x00007e04 -_08009BF8: - mov r1, sp - ldr r3, _08009C54 - adds r0, r3, 0 - strh r0, [r1] - mov r0, sp - movs r1, 0xF1 - movs r2, 0x2 - bl LoadPalette -_08009C0A: - ldr r2, _08009C58 - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r5, r1, 0 - cmp r0, 0x1 - beq _08009C64 - cmp r0, 0x1 - ble _08009C26 - cmp r0, 0x2 - beq _08009CB8 -_08009C26: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1C - movs r3, 0x3 - bl DrawDefaultWindow - ldr r0, _08009C5C - movs r1, 0x2 - movs r2, 0x1 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1C - movs r3, 0x7 - bl DrawDefaultWindow - ldr r0, _08009C60 - movs r1, 0x2 - movs r2, 0x5 - bl PrintMainMenuItem - b _08009D14 - .align 2, 0 -_08009C54: .4byte 0x0000547f -_08009C58: .4byte 0x03004b20 -_08009C5C: .4byte gUnknown_0840DCD0 -_08009C60: .4byte gUnknown_0840DCE2 -_08009C64: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1C - movs r3, 0x7 - bl DrawDefaultWindow - ldr r0, _08009CAC - movs r1, 0x2 - movs r2, 0x1 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xB - bl DrawDefaultWindow - ldr r0, _08009CB0 - movs r1, 0x2 - movs r2, 0x9 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0xF - bl DrawDefaultWindow - ldr r0, _08009CB4 - movs r1, 0x2 - movs r2, 0xD - bl PrintMainMenuItem - bl PrintSaveFileInfo - b _08009D14 - .align 2, 0 -_08009CAC: .4byte gUnknown_0840DCD9 -_08009CB0: .4byte gUnknown_0840DCD0 -_08009CB4: .4byte gUnknown_0840DCE2 -_08009CB8: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1C - movs r3, 0x7 - bl DrawDefaultWindow - ldr r0, _08009D28 - movs r1, 0x2 - movs r2, 0x1 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xB - bl DrawDefaultWindow - ldr r0, _08009D2C - movs r1, 0x2 - movs r2, 0x9 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0xF - bl DrawDefaultWindow - ldr r0, _08009D30 - movs r1, 0x2 - movs r2, 0xD - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x10 - movs r2, 0x1C - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009D34 - movs r1, 0x2 - movs r2, 0x11 - bl PrintMainMenuItem - bl PrintSaveFileInfo -_08009D14: - ldr r0, _08009D38 - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009D3C - str r0, [r1] -_08009D20: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08009D28: .4byte gUnknown_0840DCD9 -_08009D2C: .4byte gUnknown_0840DCD0 -_08009D30: .4byte gUnknown_0840DCE9 -_08009D34: .4byte gUnknown_0840DCE2 -_08009D38: .4byte 0x03004b20 -_08009D3C: .4byte Task_HighlightCurrentMenuItem - thumb_func_end Task_DrawMainMenu - - thumb_func_start Task_HighlightCurrentMenuItem -Task_HighlightCurrentMenuItem: @ 8009D40 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08009D64 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0xA] - bl HighlightCurrentMenuItem - ldr r0, _08009D68 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009D64: .4byte 0x03004b20 -_08009D68: .4byte Task_MainMenuProcessKeyInput - thumb_func_end Task_HighlightCurrentMenuItem - - thumb_func_start MainMenuProcessKeyInput -MainMenuProcessKeyInput: @ 8009D6C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08009DA8 - ldrh r2, [r1, 0x2E] - movs r0, 0x1 - ands r0, r2 - mov r12, r1 - cmp r0, 0 - beq _08009DB4 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08009DAC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009DB0 - str r1, [r0] - b _08009E74 - .align 2, 0 -_08009DA8: .4byte 0x03001770 -_08009DAC: .4byte 0x03004b20 -_08009DB0: .4byte MainMenuPressedA -_08009DB4: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08009E00 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - ldr r1, _08009DF0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08009DF4 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x4 - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _08009DF8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009DFC - str r1, [r0] - b _08009E74 - .align 2, 0 -_08009DF0: .4byte 0x0000ffff -_08009DF4: .4byte REG_WIN0H -_08009DF8: .4byte 0x03004b20 -_08009DFC: .4byte MainMenuPressedB -_08009E00: - ldr r0, _08009E20 - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - adds r6, r0, 0 - cmp r1, 0x1 - beq _08009E24 - cmp r1, 0x1 - ble _08009E1C - cmp r1, 0x2 - beq _08009E28 -_08009E1C: - movs r5, 0x2 - b _08009E2A - .align 2, 0 -_08009E20: .4byte 0x03004b20 -_08009E24: - movs r5, 0x3 - b _08009E2A -_08009E28: - movs r5, 0x4 -_08009E2A: - mov r7, r12 - ldrh r1, [r7, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08009E4E - adds r0, r2, r4 - lsls r0, 3 - adds r1, r0, r6 - ldrh r3, [r1, 0xA] - movs r7, 0xA - ldrsh r0, [r1, r7] - cmp r0, 0 - ble _08009E4E - subs r0, r3, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x1 - b _08009E76 -_08009E4E: - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08009E74 - adds r0, r2, r4 - lsls r0, 3 - adds r2, r0, r6 - movs r3, 0xA - ldrsh r1, [r2, r3] - subs r0, r5, 0x1 - cmp r1, r0 - bge _08009E74 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - movs r0, 0x1 - b _08009E76 -_08009E74: - movs r0, 0 -_08009E76: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end MainMenuProcessKeyInput - - thumb_func_start Task_MainMenuProcessKeyInput -Task_MainMenuProcessKeyInput: @ 8009E80 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MainMenuProcessKeyInput - lsls r0, 24 - cmp r0, 0 - beq _08009EA0 - ldr r0, _08009EA8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009EAC - str r0, [r1] -_08009EA0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009EA8: .4byte 0x03004b20 -_08009EAC: .4byte Task_HighlightCurrentMenuItem - thumb_func_end Task_MainMenuProcessKeyInput - - thumb_func_start MainMenuPressedA -MainMenuPressedA: @ 8009EB0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08009EEC - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08009FA4 - ldr r0, _08009EF0 - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r5, 0x8 - ldrsh r3, [r1, r5] - adds r5, r0, 0 - cmp r3, 0x1 - beq _08009EF4 - cmp r3, 0x1 - ble _08009EDE - cmp r3, 0x2 - beq _08009F06 -_08009EDE: - movs r0, 0xA - ldrsh r1, [r1, r0] - cmp r1, 0 - beq _08009F1E - cmp r1, 0x1 - bne _08009F1E - b _08009F26 - .align 2, 0 -_08009EEC: .4byte 0x0202f388 -_08009EF0: .4byte 0x03004b20 -_08009EF4: - movs r0, 0xA - ldrsh r1, [r1, r0] - cmp r1, 0x1 - beq _08009F1E - cmp r1, 0x1 - ble _08009F1A - cmp r1, 0x2 - bne _08009F1A - b _08009F26 -_08009F06: - movs r0, 0xA - ldrsh r1, [r1, r0] - cmp r1, 0x1 - beq _08009F1E - cmp r1, 0x1 - ble _08009F1A - cmp r1, 0x2 - beq _08009F22 - cmp r1, 0x3 - beq _08009F26 -_08009F1A: - movs r0, 0x1 - b _08009F28 -_08009F1E: - movs r0, 0 - b _08009F28 -_08009F22: - movs r0, 0x3 - b _08009F28 -_08009F26: - movs r0, 0x2 -_08009F28: - cmp r0, 0x1 - beq _08009F5C - cmp r0, 0x1 - ble _08009F38 - cmp r0, 0x2 - beq _08009F78 - cmp r0, 0x3 - beq _08009F98 -_08009F38: - ldr r0, _08009F50 - movs r1, 0 - strh r1, [r0] - ldr r0, _08009F54 - strh r1, [r0] - adds r0, r2, r4 - lsls r0, 3 - adds r0, r5 - ldr r1, _08009F58 - str r1, [r0] - b _08009FA4 - .align 2, 0 -_08009F50: .4byte 0x0202eac8 -_08009F54: .4byte 0x0202eec8 -_08009F58: .4byte Task_Birch1 -_08009F5C: - ldr r0, _08009F6C - movs r1, 0 - strh r1, [r0] - ldr r0, _08009F70 - strh r1, [r0] - ldr r0, _08009F74 - b _08009F80 - .align 2, 0 -_08009F6C: .4byte 0x0202eac8 -_08009F70: .4byte 0x0202eec8 -_08009F74: .4byte CB2_ContinueSavedGame -_08009F78: - ldr r0, _08009F8C - ldr r1, _08009F90 - str r1, [r0, 0x8] - ldr r0, _08009F94 -_08009F80: - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask - b _08009FA4 - .align 2, 0 -_08009F8C: .4byte 0x03001770 -_08009F90: .4byte sub_80096FC -_08009F94: .4byte CB2_InitOptionMenu -_08009F98: - ldr r0, _08009FAC - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08009FA4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08009FAC: .4byte CB2_InitMysteryEventMenu - thumb_func_end MainMenuPressedA - - thumb_func_start MainMenuPressedB -MainMenuPressedB: @ 8009FB0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08009FD4 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08009FCE - ldr r0, _08009FD8 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08009FCE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009FD4: .4byte 0x0202f388 -_08009FD8: .4byte CB2_InitTitleScreen - thumb_func_end MainMenuPressedB - - thumb_func_start HighlightCurrentMenuItem -HighlightCurrentMenuItem: @ 8009FDC - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _0800A008 - ldr r4, _0800A00C - adds r0, r4, 0 - strh r0, [r1] - cmp r3, 0x1 - beq _0800A028 - cmp r3, 0x1 - ble _08009FFA - cmp r3, 0x2 - beq _0800A064 -_08009FFA: - cmp r2, 0 - beq _0800A002 - cmp r2, 0x1 - beq _0800A018 -_0800A002: - ldr r1, _0800A010 - ldr r2, _0800A014 - b _0800A0A8 - .align 2, 0 -_0800A008: .4byte REG_WIN0H -_0800A00C: .4byte 0x000009e7 -_0800A010: .4byte REG_WIN0V -_0800A014: .4byte 0x0000011f -_0800A018: - ldr r1, _0800A020 - ldr r4, _0800A024 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A020: .4byte REG_WIN0V -_0800A024: .4byte 0x0000213f -_0800A028: - cmp r2, 0x1 - beq _0800A044 - cmp r2, 0x1 - ble _0800A034 - cmp r2, 0x2 - beq _0800A054 -_0800A034: - ldr r1, _0800A03C - ldr r2, _0800A040 - b _0800A0A8 - .align 2, 0 -_0800A03C: .4byte REG_WIN0V -_0800A040: .4byte 0x0000013f -_0800A044: - ldr r1, _0800A04C - ldr r4, _0800A050 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A04C: .4byte REG_WIN0V -_0800A050: .4byte 0x0000415f -_0800A054: - ldr r1, _0800A05C - ldr r2, _0800A060 - b _0800A0A8 - .align 2, 0 -_0800A05C: .4byte REG_WIN0V -_0800A060: .4byte 0x0000617f -_0800A064: - cmp r2, 0x1 - beq _0800A084 - cmp r2, 0x1 - ble _0800A074 - cmp r2, 0x2 - beq _0800A094 - cmp r2, 0x3 - beq _0800A0A4 -_0800A074: - ldr r1, _0800A07C - ldr r4, _0800A080 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A07C: .4byte REG_WIN0V -_0800A080: .4byte 0x0000013f -_0800A084: - ldr r1, _0800A08C - ldr r2, _0800A090 - b _0800A0A8 - .align 2, 0 -_0800A08C: .4byte REG_WIN0V -_0800A090: .4byte 0x0000415f -_0800A094: - ldr r1, _0800A09C - ldr r4, _0800A0A0 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A09C: .4byte REG_WIN0V -_0800A0A0: .4byte 0x0000617f -_0800A0A4: - ldr r1, _0800A0B4 - ldr r2, _0800A0B8 -_0800A0A8: - adds r0, r2, 0 -_0800A0AA: - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A0B4: .4byte REG_WIN0V -_0800A0B8: .4byte 0x0000819f - thumb_func_end HighlightCurrentMenuItem - - thumb_func_start PrintMainMenuItem -PrintMainMenuItem: @ 800A0BC - push {r4-r6,lr} - sub sp, 0x20 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r1, sp - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0xE - strb r0, [r1, 0x2] - movs r3, 0 -_0800A0DA: - adds r0, r3, 0x3 - mov r6, sp - adds r1, r6, r0 - adds r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x19 - bls _0800A0DA - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x1D] - mov r0, sp - adds r1, r5, 0 - bl Print - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PrintMainMenuItem - - thumb_func_start PrintSaveFileInfo -PrintSaveFileInfo: @ 800A108 - push {lr} - bl PrintPlayerName - bl PrintPokedexCount - bl PrintPlayTime - bl PrintBadgeCount - pop {r0} - bx r0 - thumb_func_end PrintSaveFileInfo - - thumb_func_start PrintPlayerName -PrintPlayerName: @ 800A120 - push {lr} - ldr r0, _0800A13C - movs r1, 0x2 - movs r2, 0x3 - bl Print - ldr r0, _0800A140 - movs r1, 0x9 - movs r2, 0x3 - bl Print - pop {r0} - bx r0 - .align 2, 0 -_0800A13C: .4byte gUnknown_0840DF7C -_0800A140: .4byte gSaveBlock2 - thumb_func_end PrintPlayerName - - thumb_func_start PrintPlayTime -PrintPlayTime: @ 800A144 - push {r4,lr} - sub sp, 0x30 - ldr r0, _0800A180 - movs r1, 0x10 - movs r2, 0x3 - bl Print - ldr r0, _0800A184 - ldrh r1, [r0, 0xE] - ldrb r2, [r0, 0x10] - mov r0, sp - movs r3, 0x1 - bl FormatPlayTime - add r4, sp, 0x10 - adds r0, r4, 0 - mov r1, sp - movs r2, 0x30 - movs r3, 0x1 - bl sub_8072C74 - adds r0, r4, 0 - movs r1, 0x16 - movs r2, 0x3 - bl Print - add sp, 0x30 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A180: .4byte gUnknown_0840DF8B -_0800A184: .4byte gSaveBlock2 - thumb_func_end PrintPlayTime - - thumb_func_start PrintPokedexCount -PrintPokedexCount: @ 800A188 - push {lr} - sub sp, 0x10 - ldr r0, _0800A1BC - movs r1, 0x2 - movs r2, 0x5 - bl Print - bl GetPokedexSeenCount - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - movs r2, 0x12 - movs r3, 0 - bl sub_8072C14 - mov r0, sp - movs r1, 0x9 - movs r2, 0x5 - bl Print - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0800A1BC: .4byte gUnknown_0840DF83 - thumb_func_end PrintPokedexCount - - thumb_func_start PrintBadgeCount -PrintBadgeCount: @ 800A1C0 - push {lr} - sub sp, 0x10 - ldr r0, _0800A1F0 - movs r1, 0x10 - movs r2, 0x5 - bl Print - bl GetBadgeCount - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - bl ConvertIntToDecimalString - mov r0, sp - movs r1, 0xCD - movs r2, 0x28 - movs r3, 0x1 - bl sub_80729D8 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0800A1F0: .4byte gUnknown_0840DF90 - thumb_func_end PrintBadgeCount - thumb_func_start Task_Birch1 Task_Birch1: @ 800A1F4 push {r4,r5,lr} |