summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-09-04 01:15:12 -0700
committerYamaArashi <shadow962@live.com>2016-09-04 01:15:12 -0700
commit55bfe3ca016304235d5d117a35d8973b10ecc657 (patch)
tree499d36b5493c1df1658fa79af42d76a37188cc27 /asm
parent4d518e8ea5c93c669eb14de89b5baf6eba1ac9b0 (diff)
WIP main_menu.c
Diffstat (limited to 'asm')
-rw-r--r--asm/rom3.s1386
-rw-r--r--asm/rom5.s2
2 files changed, 1 insertions, 1387 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}
diff --git a/asm/rom5.s b/asm/rom5.s
index f7fcad083..573d4e7ca 100644
--- a/asm/rom5.s
+++ b/asm/rom5.s
@@ -411385,7 +411385,7 @@ _081433CC: .4byte gUnknown_0840E559
_081433D0: .4byte gSaveBlock2
_081433D4: .4byte gUnknown_0840E560
_081433D8: .4byte 0x020231cc
-_081433DC: .4byte gUnknown_0840DF8B
+_081433DC: .4byte gMainMenuString_Time
thumb_func_end sub_8143300
thumb_func_start sub_81433E0