title_screen: data and code thru sub_8078C9C

This commit is contained in:
PikalaxALT
2019-07-30 22:07:15 -04:00
parent 23d917f7c8
commit ea8f529f2d
13 changed files with 269 additions and 477 deletions
-462
View File
@@ -5,468 +5,6 @@
.text
thumb_func_start CB2_InitTitleScreen
CB2_InitTitleScreen: @ 8078914
push {r4-r6,lr}
sub sp, 0xC
ldr r0, _08078930 @ =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
ldrb r6, [r0]
cmp r6, 0x1
beq _080789F0
cmp r6, 0x1
bgt _08078934
cmp r6, 0
beq _08078946
b _0807893A
.align 2, 0
_08078930: .4byte gMain
_08078934:
cmp r6, 0x2
bne _0807893A
b _08078AC0
_0807893A:
ldr r0, _080789D0 @ =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
movs r1, 0
strb r1, [r0]
_08078946:
movs r0, 0
bl SetVBlankCallback
bl StartTimer1
ldr r0, _080789D4 @ =gHeap
movs r1, 0xE0
lsls r1, 9
bl InitHeap
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
bl ResetPaletteFade
bl sub_8078B34
add r1, sp, 0x4
movs r0, 0
strh r0, [r1]
ldr r1, _080789D8 @ =0x040000d4
add r0, sp, 0x4
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080789DC @ =0x8100c000
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r2, 0
str r2, [sp, 0x8]
add r0, sp, 0x8
str r0, [r1]
movs r0, 0xE0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080789E0 @ =0x85000100
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
add r0, sp, 0x4
strh r2, [r0]
str r0, [r1]
movs r0, 0xA0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080789E4 @ =0x81000200
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, _080789E8 @ =gUnknown_83BFB74
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
movs r1, 0x82
lsls r1, 5
movs r0, 0
bl SetGpuRegBits
ldr r1, _080789EC @ =gUnknown_2037F30
movs r0, 0xFF
strb r0, [r1]
b _08078B18
.align 2, 0
_080789D0: .4byte gMain
_080789D4: .4byte gHeap
_080789D8: .4byte 0x040000d4
_080789DC: .4byte 0x8100c000
_080789E0: .4byte 0x85000100
_080789E4: .4byte 0x81000200
_080789E8: .4byte gUnknown_83BFB74
_080789EC: .4byte gUnknown_2037F30
_080789F0:
ldr r0, _08078A94 @ =gUnknown_8EAB6C4
movs r2, 0xD0
lsls r2, 1
movs r1, 0
bl LoadPalette
ldr r1, _08078A98 @ =gUnknown_8EAB8C4
movs r4, 0
str r4, [sp]
movs r0, 0
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r1, _08078A9C @ =gUnknown_8EAD390
str r6, [sp]
movs r0, 0
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r0, _08078AA0 @ =gUnknown_8EAD5E8
movs r1, 0xD0
movs r2, 0x20
bl LoadPalette
ldr r1, _08078AA4 @ =gUnknown_8EAD608
str r4, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r1, _08078AA8 @ =gUnknown_8EADEE4
str r6, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r5, _08078AAC @ =gUnknown_8EAE094
adds r0, r5, 0
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
ldr r1, _08078AB0 @ =gUnknown_8EAE0B4
str r4, [sp]
movs r0, 0x2
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r1, _08078AB4 @ =gUnknown_8EAE374
str r6, [sp]
movs r0, 0x2
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
adds r0, r5, 0
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
ldr r1, _08078AB8 @ =gUnknown_83BF58C
str r4, [sp]
movs r0, 0x3
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r1, _08078ABC @ =gUnknown_83BF5A8
str r6, [sp]
movs r0, 0x3
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
bl sub_8079708
b _08078B18
.align 2, 0
_08078A94: .4byte gUnknown_8EAB6C4
_08078A98: .4byte gUnknown_8EAB8C4
_08078A9C: .4byte gUnknown_8EAD390
_08078AA0: .4byte gUnknown_8EAD5E8
_08078AA4: .4byte gUnknown_8EAD608
_08078AA8: .4byte gUnknown_8EADEE4
_08078AAC: .4byte gUnknown_8EAE094
_08078AB0: .4byte gUnknown_8EAE0B4
_08078AB4: .4byte gUnknown_8EAE374
_08078AB8: .4byte gUnknown_83BF58C
_08078ABC: .4byte gUnknown_83BF5A8
_08078AC0:
bl FreeTempTileDataBuffersIfPossible
lsls r0, 24
cmp r0, 0
bne _08078B26
ldr r0, _08078B00 @ =0x0000ffff
movs r1, 0x10
movs r2, 0
bl BlendPalettes
ldr r0, _08078B04 @ =sub_8078C24
movs r1, 0x4
bl CreateTask
ldr r0, _08078B08 @ =sub_8078BEC
movs r1, 0x2
bl CreateTask
ldr r1, _08078B0C @ =gUnknown_2037F30
strb r0, [r1]
ldr r0, _08078B10 @ =sub_8078BB4
bl SetVBlankCallback
ldr r0, _08078B14 @ =sub_8078B9C
bl SetMainCallback2
movs r0, 0x8B
lsls r0, 1
bl m4aSongNumStart
b _08078B26
.align 2, 0
_08078B00: .4byte 0x0000ffff
_08078B04: .4byte sub_8078C24
_08078B08: .4byte sub_8078BEC
_08078B0C: .4byte gUnknown_2037F30
_08078B10: .4byte sub_8078BB4
_08078B14: .4byte sub_8078B9C
_08078B18:
ldr r1, _08078B30 @ =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_08078B26:
add sp, 0xC
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08078B30: .4byte gMain
thumb_func_end CB2_InitTitleScreen
thumb_func_start sub_8078B34
sub_8078B34: @ 8078B34
push {lr}
movs r0, 0
movs r1, 0
bl SetGpuReg
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
movs r0, 0x10
movs r1, 0
bl SetGpuReg
movs r0, 0x12
movs r1, 0
bl SetGpuReg
movs r0, 0x14
movs r1, 0
bl SetGpuReg
movs r0, 0x16
movs r1, 0
bl SetGpuReg
movs r0, 0x18
movs r1, 0
bl SetGpuReg
movs r0, 0x1A
movs r1, 0
bl SetGpuReg
movs r0, 0x1C
movs r1, 0
bl SetGpuReg
movs r0, 0x1E
movs r1, 0
bl SetGpuReg
pop {r0}
bx r0
thumb_func_end sub_8078B34
thumb_func_start sub_8078B9C
sub_8078B9C: @ 8078B9C
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_8078B9C
thumb_func_start sub_8078BB4
sub_8078BB4: @ 8078BB4
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
bl ScanlineEffect_InitHBlankDmaTransfer
ldr r1, _08078BE4 @ =gUnknown_2037F30
ldrb r0, [r1]
cmp r0, 0xFF
beq _08078BE0
ldr r2, _08078BE8 @ =gTasks
adds r1, r0, 0
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r2
ldrh r1, [r0, 0x8]
adds r1, 0x1
strh r1, [r0, 0x8]
_08078BE0:
pop {r0}
bx r0
.align 2, 0
_08078BE4: .4byte gUnknown_2037F30
_08078BE8: .4byte gTasks
thumb_func_end sub_8078BB4
thumb_func_start sub_8078BEC
sub_8078BEC: @ 8078BEC
push {lr}
lsls r0, 24
lsrs r2, r0, 24
lsls r0, r2, 2
adds r0, r2
lsls r0, 3
ldr r1, _08078C18 @ =gTasks+0x8
adds r0, r1
movs r3, 0
ldrsh r1, [r0, r3]
ldr r0, _08078C1C @ =0x00000a8b
cmp r1, r0
ble _08078C12
ldr r1, _08078C20 @ =gUnknown_2037F30
movs r0, 0xFF
strb r0, [r1]
adds r0, r2, 0
bl DestroyTask
_08078C12:
pop {r0}
bx r0
.align 2, 0
_08078C18: .4byte gTasks+0x8
_08078C1C: .4byte 0x00000a8b
_08078C20: .4byte gUnknown_2037F30
thumb_func_end sub_8078BEC
thumb_func_start sub_8078C24
sub_8078C24: @ 8078C24
push {r4,lr}
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _08078C6C @ =gTasks+0x8
adds r4, r1, r0
ldr r0, _08078C70 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0xB
ands r0, r1
cmp r0, 0
beq _08078C74
movs r1, 0
ldrsh r0, [r4, r1]
cmp r0, 0x3
beq _08078C74
cmp r0, 0x4
beq _08078C74
cmp r0, 0x5
beq _08078C74
bl sub_8079620
bl sub_8079648
movs r2, 0xA
ldrsh r0, [r4, r2]
bl sub_8079A10
adds r0, r4, 0
movs r1, 0x3
bl sub_8078C90
b _08078C86
.align 2, 0
_08078C6C: .4byte gTasks+0x8
_08078C70: .4byte gMain
_08078C74:
ldr r0, _08078C8C @ =gUnknown_83BFB84
movs r2, 0
ldrsh r1, [r4, r2]
lsls r1, 2
adds r1, r0
ldr r1, [r1]
adds r0, r4, 0
bl _call_via_r1
_08078C86:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08078C8C: .4byte gUnknown_83BFB84
thumb_func_end sub_8078C24
thumb_func_start sub_8078C90
sub_8078C90: @ 8078C90
lsls r1, 24
lsrs r1, 24
movs r2, 0
strh r2, [r0, 0x2]
strh r1, [r0]
bx lr
thumb_func_end sub_8078C90
thumb_func_start sub_8078C9C
sub_8078C9C: @ 8078C9C
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x10
mov r8, r0
movs r0, 0
bl HideBg
movs r0, 0x1
bl ShowBg
movs r0, 0x2
bl ShowBg
movs r0, 0x3
bl ShowBg
ldr r0, _08078D14 @ =0x04000054
str r0, [sp]
ldr r0, _08078D18 @ =0xa2600001
str r0, [sp, 0x4]
mov r1, sp
movs r5, 0
movs r0, 0x1
strb r0, [r1, 0x8]
mov r0, sp
strb r5, [r0, 0x9]
add r0, sp, 0xC
strh r5, [r0]
ldr r4, _08078D1C @ =gScanlineEffectRegBuffers
ldr r6, _08078D20 @ =0x010000a0
adds r1, r4, 0
adds r2, r6, 0
bl CpuSet
mov r0, sp
adds r0, 0xE
strh r5, [r0]
movs r1, 0xF0
lsls r1, 3
adds r4, r1
adds r1, r4, 0
adds r2, r6, 0
bl CpuSet
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
bl ScanlineEffect_SetParams
mov r0, r8
movs r1, 0x1
bl sub_8078C90
add sp, 0x10
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08078D14: .4byte 0x04000054
_08078D18: .4byte 0xa2600001
_08078D1C: .4byte gScanlineEffectRegBuffers
_08078D20: .4byte 0x010000a0
thumb_func_end sub_8078C9C
thumb_func_start sub_8078D24
sub_8078D24: @ 8078D24
push {r4,lr}