diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/title_screen.s | 1270 |
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. |