summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/title_screen.s1270
1 files changed, 0 insertions, 1270 deletions
diff --git a/asm/title_screen.s b/asm/title_screen.s
deleted file mode 100644
index 2d233a47a..000000000
--- a/asm/title_screen.s
+++ /dev/null
@@ -1,1270 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start item_menu_type_2
-item_menu_type_2: @ 807BE00
- push {r4,lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0807BE34 @ =gTasks
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0807BE38
- ldrb r1, [r2, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- movs r0, 0x42
- strh r0, [r2, 0x22]
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x47
- ands r0, r1
- strb r0, [r2]
- b _0807BE80
- .align 2, 0
-_0807BE34: .4byte gTasks
-_0807BE38:
- ldrh r1, [r4, 0x12]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0807BE46
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
-_0807BE46:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- bgt _0807BE80
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x42
- beq _0807BE6A
- adds r0, r1, 0x1
- strh r0, [r2, 0x22]
-_0807BE6A:
- ldr r3, _0807BE88 @ =REG_BLDALPHA
- ldr r2, _0807BE8C @ =gUnknown_08393E64
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r3]
-_0807BE80:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BE88: .4byte REG_BLDALPHA
-_0807BE8C: .4byte gUnknown_08393E64
- thumb_func_end item_menu_type_2
-
- thumb_func_start sub_807BE90
-sub_807BE90: @ 807BE90
- push {lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0807BEC4 @ =gTasks
- adds r1, r0, r1
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0807BEC8
- ldrb r1, [r2, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- movs r0, 0x42
- strh r0, [r2, 0x22]
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x47
- ands r0, r1
- strb r0, [r2]
- b _0807BEEC
- .align 2, 0
-_0807BEC4: .4byte gTasks
-_0807BEC8:
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- cmp r0, 0x3F
- bgt _0807BEEC
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x42
- beq _0807BEEC
- adds r0, r1, 0x1
- strh r0, [r2, 0x22]
-_0807BEEC:
- pop {r0}
- bx r0
- thumb_func_end sub_807BE90
-
- thumb_func_start sub_807BEF0
-sub_807BEF0: @ 807BEF0
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _0807BF18
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0807BF18
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0807BF24
-_0807BF18:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0807BF24:
- pop {r0}
- bx r0
- thumb_func_end sub_807BEF0
-
- thumb_func_start sub_807BF28
-sub_807BF28: @ 807BF28
- push {r4-r7,lr}
- lsls r0, 16
- ldr r2, _0807BF78 @ =0xffe00000
- adds r0, r2
- lsrs r0, 16
- movs r6, 0
- lsls r7, r1, 16
-_0807BF36:
- lsls r5, r0, 16
- asrs r5, 16
- ldr r0, _0807BF7C @ =gSpriteTemplate_8393F74
- adds r1, r5, 0
- asrs r2, r7, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0807BF80 @ =gSprites
- adds r4, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl StartSpriteAnim
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, 0x20
- lsls r5, 16
- lsrs r0, r5, 16
- cmp r6, 0x2
- bls _0807BF36
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BF78: .4byte 0xffe00000
-_0807BF7C: .4byte gSpriteTemplate_8393F74
-_0807BF80: .4byte gSprites
- thumb_func_end sub_807BF28
-
- thumb_func_start sub_807BF84
-sub_807BF84: @ 807BF84
- push {r4-r6,lr}
- lsls r0, 16
- ldr r2, _0807BFD4 @ =0xffc00000
- adds r0, r2
- lsrs r0, 16
- movs r5, 0
- lsls r6, r1, 16
-_0807BF92:
- lsls r4, r0, 16
- asrs r4, 16
- ldr r0, _0807BFD8 @ =gSpriteTemplate_8393F74
- adds r1, r4, 0
- asrs r2, r6, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _0807BFDC @ =gSprites
- adds r2, r0
- adds r1, r5, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x20
- lsls r4, 16
- lsrs r0, r4, 16
- cmp r5, 0x4
- bls _0807BF92
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BFD4: .4byte 0xffc00000
-_0807BFD8: .4byte gSpriteTemplate_8393F74
-_0807BFDC: .4byte gSprites
- thumb_func_end sub_807BF84
-
- thumb_func_start sub_807BFE0
-sub_807BFE0: @ 807BFE0
- push {r4,lr}
- adds r3, r0, 0
- ldr r2, _0807C02C @ =gTasks
- ldr r0, _0807C030 @ =gUnknown_0202F7E4
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0807C070
- movs r2, 0x20
- ldrsh r1, [r3, r2]
- ldr r0, _0807C034 @ =0x0000010f
- ldrh r4, [r3, 0x20]
- cmp r1, r0
- bgt _0807C070
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _0807C064
- cmp r1, 0x77
- bgt _0807C038
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0x1E
- bgt _0807C050
- adds r1, 0x1
- strh r1, [r3, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x1E
- bgt _0807C050
- adds r0, r1, 0x1
- b _0807C04E
- .align 2, 0
-_0807C02C: .4byte gTasks
-_0807C030: .4byte gUnknown_0202F7E4
-_0807C034: .4byte 0x0000010f
-_0807C038:
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _0807C050
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- beq _0807C050
- subs r0, r1, 0x2
-_0807C04E:
- strh r0, [r3, 0x30]
-_0807C050:
- ldrh r1, [r3, 0x30]
- movs r0, 0x1F
- ands r0, r1
- lsls r1, r0, 10
- lsls r2, r0, 5
- adds r1, r2
- orrs r1, r0
- ldr r0, _0807C06C @ =gPlttBufferFaded
- strh r1, [r0]
- .ifdef SAPPHIRE
- strh r1, [r0, 0x34]
- .else
- strh r1, [r0, 0x2A]
- .endif
-_0807C064:
- adds r0, r4, 0x4
- strh r0, [r3, 0x20]
- b _0807C07E
- .align 2, 0
-_0807C06C: .4byte gPlttBufferFaded
-_0807C070:
- ldr r1, _0807C084 @ =gPlttBufferFaded
- movs r0, 0
- strh r0, [r1]
- .ifdef SAPPHIRE
- strh r0, [r1, 0x34]
- .else
- strh r0, [r1, 0x2A]
- .endif
- adds r0, r3, 0
- bl DestroySprite
-_0807C07E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C084: .4byte gPlttBufferFaded
- thumb_func_end sub_807BFE0
-
- thumb_func_start sub_807C088
-sub_807C088: @ 807C088
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0807C0C0 @ =gSpriteTemplate_8393FC0
- movs r1, 0
- movs r2, 0x44
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0807C0C4 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x1]
- strh r4, [r1, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C0C0: .4byte gSpriteTemplate_8393FC0
-_0807C0C4: .4byte gSprites
- thumb_func_end sub_807C088
-
- thumb_func_start sub_807C0C8
-sub_807C0C8: @ 807C0C8
- push {lr}
- bl sub_8089668
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r0, _0807C0E8 @ =REG_BG1VOFS
- ldr r1, _0807C0EC @ =gUnknown_030041B4
- ldrh r1, [r1]
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0807C0E8: .4byte REG_BG1VOFS
-_0807C0EC: .4byte gUnknown_030041B4
- thumb_func_end sub_807C0C8
-
- thumb_func_start CB2_InitTitleScreen
-CB2_InitTitleScreen: @ 807C0F0
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r0, _0807C10C @ =gMain
- ldr r1, _0807C110 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0807C130
- lsls r0, 2
- ldr r1, _0807C114 @ =_0807C118
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807C10C: .4byte gMain
-_0807C110: .4byte 0x0000043c
-_0807C114: .4byte _0807C118
- .align 2, 0
-_0807C118:
- .4byte _0807C130
- .4byte _0807C1E4
- .4byte _0807C2B8
- .4byte _0807C308
- .4byte _0807C33C
- .4byte _0807C418
-_0807C130:
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, _0807C1C0 @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r2, 0xA0
- lsls r2, 19
- ldr r3, _0807C1C4 @ =0x00007fff
- adds r0, r3, 0
- strh r0, [r2]
- movs r0, 0x80
- lsls r0, 19
- 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, 0xC
- strh r1, [r0]
- ldr r1, _0807C1C8 @ =0x040000d4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0807C1CC @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x10]
- add r0, sp, 0x10
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0807C1D0 @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0xC
- strh r2, [r0]
- str r0, [r1]
- ldr r0, _0807C1D4 @ =0x05000002
- str r0, [r1, 0x4]
- ldr r0, _0807C1D8 @ =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- ldr r0, _0807C1DC @ =gMain
- ldr r1, _0807C1E0 @ =0x0000043c
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0807C446
- .align 2, 0
-_0807C1C0: .4byte REG_BLDCNT
-_0807C1C4: .4byte 0x00007fff
-_0807C1C8: .4byte 0x040000d4
-_0807C1CC: .4byte 0x8100c000
-_0807C1D0: .4byte 0x85000100
-_0807C1D4: .4byte 0x05000002
-_0807C1D8: .4byte 0x810001ff
-_0807C1DC: .4byte gMain
-_0807C1E0: .4byte 0x0000043c
-_0807C1E4:
- ldr r0, _0807C270 @ =gUnknown_08E9D8CC
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _0807C274 @ =gUnknown_08E9F7E4
- ldr r1, _0807C278 @ =0x06004800
- bl LZ77UnCompVram
- ldr r4, _0807C27C @ =gUnknown_08E9F624
- movs r5, 0xE0
- lsls r5, 1
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl LoadPalette
- ldr r0, _0807C280 @ =gUnknown_08393250
- ldr r1, _0807C284 @ =0x06008000
- bl LZ77UnCompVram
- ldr r0, _0807C288 @ =gUnknown_083939EC
- ldr r1, _0807C28C @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _0807C290 @ =gUnknown_08393BF8
- ldr r1, _0807C294 @ =0x0600c800
- bl LZ77UnCompVram
- ldr r0, _0807C298 @ =gUnknown_08393210
- movs r1, 0xE0
- movs r2, 0x40
- bl LoadPalette
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _0807C29C @ =gReservedSpritePaletteCount
- movs r0, 0xE
- strb r0, [r1]
- ldr r0, _0807C2A0 @ =gUnknown_08393EFC
- bl LoadCompressedObjectPic
- ldr r0, _0807C2A4 @ =gUnknown_08393F8C
- bl LoadCompressedObjectPic
- ldr r0, _0807C2A8 @ =gUnknown_08393FD8
- bl LoadCompressedObjectPic
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, 0
- adds r2, r5, 0
- bl LoadPalette
- ldr r0, _0807C2AC @ =gUnknown_08393F9C
- bl LoadSpritePalette
- ldr r0, _0807C2B0 @ =gMain
- ldr r2, _0807C2B4 @ =0x0000043c
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- b _0807C446
- .align 2, 0
-_0807C270: .4byte gUnknown_08E9D8CC
-_0807C274: .4byte gUnknown_08E9F7E4
-_0807C278: .4byte 0x06004800
-_0807C27C: .4byte gUnknown_08E9F624
-_0807C280: .4byte gUnknown_08393250
-_0807C284: .4byte 0x06008000
-_0807C288: .4byte gUnknown_083939EC
-_0807C28C: .4byte 0x0600c000
-_0807C290: .4byte gUnknown_08393BF8
-_0807C294: .4byte 0x0600c800
-_0807C298: .4byte gUnknown_08393210
-_0807C29C: .4byte gReservedSpritePaletteCount
-_0807C2A0: .4byte gUnknown_08393EFC
-_0807C2A4: .4byte gUnknown_08393F8C
-_0807C2A8: .4byte gUnknown_08393FD8
-_0807C2AC: .4byte gUnknown_08393F9C
-_0807C2B0: .4byte gMain
-_0807C2B4: .4byte 0x0000043c
-_0807C2B8:
- ldr r0, _0807C2F0 @ =sub_807C46C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0807C2F4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r1, 0x8]
- strh r3, [r1, 0xA]
- ldr r2, _0807C2F8 @ =0x0000fff0
- strh r2, [r1, 0xC]
- subs r2, 0x10
- strh r2, [r1, 0xE]
- ldr r1, _0807C2FC @ =gUnknown_0202F7E4
- strb r0, [r1]
- ldr r0, _0807C300 @ =gMain
- ldr r3, _0807C304 @ =0x0000043c
- adds r0, r3
- movs r1, 0x3
- strb r1, [r0]
- b _0807C446
- .align 2, 0
-_0807C2F0: .4byte sub_807C46C
-_0807C2F4: .4byte gTasks
-_0807C2F8: .4byte 0x0000fff0
-_0807C2FC: .4byte gUnknown_0202F7E4
-_0807C300: .4byte gMain
-_0807C304: .4byte 0x0000043c
-_0807C308:
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0807C32C @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _0807C330 @ =sub_807C0C8
- bl SetVBlankCallback
- ldr r0, _0807C334 @ =gMain
- ldr r1, _0807C338 @ =0x0000043c
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- b _0807C446
- .align 2, 0
-_0807C32C: .4byte 0x0000ffff
-_0807C330: .4byte sub_807C0C8
-_0807C334: .4byte gMain
-_0807C338: .4byte 0x0000043c
-_0807C33C:
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x78
- movs r1, 0x50
- movs r3, 0
- bl sub_813CE30
- ldr r1, _0807C3D4 @ =REG_BG2X_L
- ldr r0, _0807C3D8 @ =0xffffe300
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0807C3DC @ =0xffffdf00
- str r0, [r1]
- ldr r0, _0807C3E0 @ =REG_WIN0H
- movs r4, 0
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- subs r0, 0x2
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- adds r1, 0x1C
- ldr r2, _0807C3E4 @ =0x00001f1f
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _0807C3E8 @ =0x00003f1f
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x6
- movs r0, 0x84
- strh r0, [r1]
- ldr r0, _0807C3EC @ =REG_BLDALPHA
- strh r4, [r0]
- adds r0, 0x2
- movs r5, 0x8
- strh r5, [r0]
- subs r1, 0x48
- ldr r2, _0807C3F0 @ =0x0000180b
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _0807C3F4 @ =0x0000190a
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0807C3F8 @ =0x00004981
- adds r0, r2, 0
- strh r0, [r1]
- ldr r3, _0807C3FC @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _0807C400 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r1, _0807C404 @ =REG_DISPSTAT
- ldrh r0, [r1]
- orrs r0, r5
- strh r0, [r1]
- subs r1, 0x4
- ldr r3, _0807C408 @ =0x0000b441
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _0807C40C @ =0x0000019d
- bl m4aSongNumStart
- ldr r0, _0807C410 @ =gMain
- ldr r1, _0807C414 @ =0x0000043c
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- b _0807C446
- .align 2, 0
-_0807C3D4: .4byte REG_BG2X_L
-_0807C3D8: .4byte 0xffffe300
-_0807C3DC: .4byte 0xffffdf00
-_0807C3E0: .4byte REG_WIN0H
-_0807C3E4: .4byte 0x00001f1f
-_0807C3E8: .4byte 0x00003f1f
-_0807C3EC: .4byte REG_BLDALPHA
-_0807C3F0: .4byte 0x0000180b
-_0807C3F4: .4byte 0x0000190a
-_0807C3F8: .4byte 0x00004981
-_0807C3FC: .4byte 0x04000208
-_0807C400: .4byte 0x04000200
-_0807C404: .4byte REG_DISPSTAT
-_0807C408: .4byte 0x0000b441
-_0807C40C: .4byte 0x0000019d
-_0807C410: .4byte gMain
-_0807C414: .4byte 0x0000043c
-_0807C418:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807C446
- movs r0, 0
- bl sub_807C088
- str r4, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA0
- movs r2, 0x4
- movs r3, 0x4
- bl sub_8089944
- ldr r0, _0807C450 @ =sub_807C454
- bl SetMainCallback2
-_0807C446:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C450: .4byte sub_807C454
- thumb_func_end CB2_InitTitleScreen
-
- thumb_func_start sub_807C454
-sub_807C454: @ 807C454
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_807C454
-
- thumb_func_start sub_807C46C
-sub_807C46C: @ 807C46C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _0807C4D4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF
- ands r0, r1
- ldr r5, _0807C4D8 @ =gTasks
- cmp r0, 0
- bne _0807C492
- lsls r0, r6, 2
- adds r1, r0, r6
- lsls r1, 3
- adds r1, r5
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- adds r4, r0, 0
- cmp r1, 0
- beq _0807C4A4
-_0807C492:
- lsls r3, r6, 2
- adds r0, r3, r6
- lsls r0, 3
- adds r0, r5
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0xA]
- strh r2, [r0, 0x8]
- adds r4, r3, 0
-_0807C4A4:
- adds r0, r4, r6
- lsls r0, 3
- adds r7, r0, r5
- movs r3, 0x8
- ldrsh r2, [r7, r3]
- cmp r2, 0
- beq _0807C4DC
- ldrh r0, [r7, 0x8]
- cmp r0, 0xA0
- beq _0807C4BC
- cmp r0, 0x40
- bne _0807C4C2
-_0807C4BC:
- movs r0, 0x1
- bl sub_807C088
-_0807C4C2:
- ldr r0, _0807C4D8 @ =gTasks
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- subs r0, 0x1
- strh r0, [r1, 0x8]
- b _0807C558
- .align 2, 0
-_0807C4D4: .4byte gMain
-_0807C4D8: .4byte gTasks
-_0807C4DC:
- movs r1, 0x80
- lsls r1, 19
- ldr r3, _0807C560 @ =0x00001441
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _0807C564 @ =REG_WININ
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r1, 0x50
- ldr r3, _0807C568 @ =0x00003f50
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1F
- strh r0, [r1]
- ldr r0, _0807C56C @ =REG_BLDY
- strh r2, [r0]
- ldr r0, _0807C570 @ =gSpriteTemplate_8393ECC
- movs r1, 0x62
- movs r2, 0x1A
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0807C574 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r2, r1, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r4, 0x4
- orrs r0, r4
- strb r0, [r2]
- strh r6, [r1, 0x30]
- ldr r0, _0807C578 @ =gSpriteTemplate_8393EE4
- movs r1, 0xA2
- movs r2, 0x1A
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r2, r1, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- orrs r0, r4
- strb r0, [r2]
- strh r6, [r1, 0x30]
- movs r0, 0x58
- strh r0, [r7, 0x12]
- movs r0, 0x90
- strh r0, [r7, 0x8]
- ldr r0, _0807C57C @ =sub_807C580
- str r0, [r7]
-_0807C558:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C560: .4byte 0x00001441
-_0807C564: .4byte REG_WININ
-_0807C568: .4byte 0x00003f50
-_0807C56C: .4byte REG_BLDY
-_0807C570: .4byte gSpriteTemplate_8393ECC
-_0807C574: .4byte gSprites
-_0807C578: .4byte gSpriteTemplate_8393EE4
-_0807C57C: .4byte sub_807C580
- thumb_func_end sub_807C46C
-
- thumb_func_start sub_807C580
-sub_807C580: @ 807C580
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0807C5D0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF
- ands r0, r1
- ldr r2, _0807C5D4 @ =gTasks
- cmp r0, 0
- bne _0807C5A6
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r1, r2
- movs r3, 0xA
- ldrsh r1, [r1, r3]
- adds r7, r0, 0
- cmp r1, 0
- beq _0807C5B8
-_0807C5A6:
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0xA]
- strh r2, [r0, 0x8]
- adds r7, r3, 0
-_0807C5B8:
- ldr r1, _0807C5D4 @ =gTasks
- adds r0, r7, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- movs r1, 0x8
- ldrsh r6, [r4, r1]
- cmp r6, 0
- beq _0807C5D8
- subs r0, 0x1
- strh r0, [r4, 0x8]
- b _0807C5FC
- .align 2, 0
-_0807C5D0: .4byte gMain
-_0807C5D4: .4byte gTasks
-_0807C5D8:
- movs r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _0807C634 @ =0x00001741
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x78
- movs r1, 0x6C
- bl sub_807BF28
- movs r0, 0x78
- movs r1, 0x94
- bl sub_807BF84
- strh r6, [r4, 0x10]
- ldr r0, _0807C638 @ =sub_807C644
- str r0, [r4]
-_0807C5FC:
- ldr r2, _0807C63C @ =gTasks
- adds r0, r7, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r1, [r3, 0x8]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0807C61C
- ldrh r1, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- cmp r0, 0
- beq _0807C61C
- adds r0, r1, 0x1
- strh r0, [r3, 0xE]
-_0807C61C:
- ldr r0, _0807C640 @ =REG_BG2Y_L
- adds r1, r7, r5
- lsls r1, 3
- adds r1, r2
- movs r2, 0xE
- ldrsh r1, [r1, r2]
- lsls r1, 8
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C634: .4byte 0x00001741
-_0807C638: .4byte sub_807C644
-_0807C63C: .4byte gTasks
-_0807C640: .4byte REG_BG2Y_L
- thumb_func_end sub_807C580
-
- thumb_func_start sub_807C644
-sub_807C644: @ 807C644
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0807C69C @ =REG_BLDCNT
- ldr r2, _0807C6A0 @ =0x00002142
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0807C6A4 @ =0x00001f0f
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0
- strh r0, [r1]
- ldr r4, _0807C6A8 @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0807C67A
- movs r0, 0x8
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _0807C6B4
-_0807C67A:
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0807C6AC @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0807C6B0 @ =CB2_GoToMainMenu
- bl SetMainCallback2
- b _0807C74E
- .align 2, 0
-_0807C69C: .4byte REG_BLDCNT
-_0807C6A0: .4byte 0x00002142
-_0807C6A4: .4byte 0x00001f0f
-_0807C6A8: .4byte gMain
-_0807C6AC: .4byte 0x0000ffff
-_0807C6B0: .4byte CB2_GoToMainMenu
-_0807C6B4:
- ldrh r1, [r4, 0x2C]
- movs r0, 0x46
- ands r0, r1
- cmp r0, 0x46
- bne _0807C6C4
- ldr r0, _0807C6F4 @ =CB2_GoToClearSaveDataScreen
- bl SetMainCallback2
-_0807C6C4:
- ldrh r1, [r4, 0x2C]
- movs r0, 0x26
- ands r0, r1
- cmp r0, 0x26
- bne _0807C6FC
- bl sub_80691DC
- cmp r0, 0x1
- bne _0807C6FC
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0807C6F8 @ =CB2_GoToResetRtcScreen
- bl SetMainCallback2
- b _0807C74E
- .align 2, 0
-_0807C6F4: .4byte CB2_GoToClearSaveDataScreen
-_0807C6F8: .4byte CB2_GoToResetRtcScreen
-_0807C6FC:
- ldr r0, _0807C758 @ =REG_BG2Y_L
- movs r3, 0
- str r3, [r0]
- ldr r1, _0807C75C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807C728
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- strh r0, [r2, 0x10]
- ldr r1, _0807C760 @ =gUnknown_030041B4
- strh r0, [r1]
- ldr r0, _0807C764 @ =gUnknown_030042C0
- strh r3, [r0]
-_0807C728:
- ldrb r0, [r2, 0x8]
- bl sub_807C7E4
- ldr r0, _0807C768 @ =gMPlay_BGM
- ldr r1, _0807C76C @ =0x0000ffff
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- bne _0807C74E
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0807C770 @ =sub_807C790
- bl SetMainCallback2
-_0807C74E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C758: .4byte REG_BG2Y_L
-_0807C75C: .4byte gTasks
-_0807C760: .4byte gUnknown_030041B4
-_0807C764: .4byte gUnknown_030042C0
-_0807C768: .4byte gMPlay_BGM
-_0807C76C: .4byte 0x0000ffff
-_0807C770: .4byte sub_807C790
- thumb_func_end sub_807C644
-
- thumb_func_start CB2_GoToMainMenu
-CB2_GoToMainMenu: @ 807C774
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0807C786
- ldr r0, _0807C78C @ =CB2_InitMainMenu
- bl SetMainCallback2
-_0807C786:
- pop {r0}
- bx r0
- .align 2, 0
-_0807C78C: .4byte CB2_InitMainMenu
- thumb_func_end CB2_GoToMainMenu
-
- thumb_func_start sub_807C790
-sub_807C790: @ 807C790
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0807C7A2
- ldr r0, _0807C7A8 @ =sub_813BA88
- bl SetMainCallback2
-_0807C7A2:
- pop {r0}
- bx r0
- .align 2, 0
-_0807C7A8: .4byte sub_813BA88
- thumb_func_end sub_807C790
-
- thumb_func_start CB2_GoToClearSaveDataScreen
-CB2_GoToClearSaveDataScreen: @ 807C7AC
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0807C7BE
- ldr r0, _0807C7C4 @ =CB2_InitClearSaveDataScreen
- bl SetMainCallback2
-_0807C7BE:
- pop {r0}
- bx r0
- .align 2, 0
-_0807C7C4: .4byte CB2_InitClearSaveDataScreen
- thumb_func_end CB2_GoToClearSaveDataScreen
-
- thumb_func_start CB2_GoToResetRtcScreen
-CB2_GoToResetRtcScreen: @ 807C7C8
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0807C7DA
- ldr r0, _0807C7E0 @ =CB2_InitResetRtcScreen
- bl SetMainCallback2
-_0807C7DA:
- pop {r0}
- bx r0
- .align 2, 0
-_0807C7E0: .4byte CB2_InitResetRtcScreen
- thumb_func_end CB2_GoToResetRtcScreen
-
- thumb_func_start sub_807C7E4
-sub_807C7E4: @ 807C7E4
- push {lr}
- sub sp, 0x4
- lsls r1, r0, 24
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r1
- cmp r0, 0
- bne _0807C820
- lsrs r0, r1, 26
- movs r1, 0x1F
- adds r2, r0, 0
- ands r2, r1
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0807C80C
- .ifdef SAPPHIRE
- mov r0, sp
- strh r2, [r0]
- .else
- lsls r1, r2, 10
- mov r0, sp
- strh r1, [r0]
- .endif
- b _0807C816
-_0807C80C:
- movs r0, 0x1F
- subs r0, r2
- .ifndef SAPPHIRE
- lsls r0, 10
- .endif
- mov r1, sp
- strh r0, [r1]
-_0807C816:
- mov r0, sp
- movs r1, 0xEF
- movs r2, 0x2
- bl LoadPalette
-_0807C820:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_807C7E4
-
- .align 2, 0 @ Don't pad with nop.