title_screen: data and code thru sub_8078C9C
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user