Redo partial decomp of intro (force push)

This commit is contained in:
PikalaxALT
2019-07-01 22:10:35 -04:00
parent 74d771ef90
commit 2c953c5baf
6 changed files with 309 additions and 702 deletions
-702
View File
@@ -5,708 +5,6 @@
.text
thumb_func_start sub_80EC5A4
sub_80EC5A4: @ 80EC5A4
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_80EC5A4
thumb_func_start sub_80EC5B8
sub_80EC5B8: @ 80EC5B8
push {lr}
bl UpdatePaletteFade
lsls r0, 24
cmp r0, 0
bne _080EC5CA
ldr r0, _080EC5D0 @ =sub_80EC870
bl SetMainCallback2
_080EC5CA:
pop {r0}
bx r0
.align 2, 0
_080EC5D0: .4byte sub_80EC870
thumb_func_end sub_80EC5B8
thumb_func_start load_copyright_graphics
load_copyright_graphics: @ 80EC5D4
push {r4-r6,lr}
adds r3, r0, 0
adds r4, r1, 0
adds r5, r2, 0
lsls r3, 16
lsrs r3, 16
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
ldr r0, _080EC610 @ =gUnknown_8402280
movs r6, 0xC0
lsls r6, 19
adds r3, r6
adds r1, r3, 0
bl LZ77UnCompVram
ldr r0, _080EC614 @ =gUnknown_84024E4
adds r4, r6
adds r1, r4, 0
bl LZ77UnCompVram
ldr r0, _080EC618 @ =gUnknown_8402260
adds r1, r5, 0
movs r2, 0x20
bl LoadPalette
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080EC610: .4byte gUnknown_8402280
_080EC614: .4byte gUnknown_84024E4
_080EC618: .4byte gUnknown_8402260
thumb_func_end load_copyright_graphics
thumb_func_start SerialCb_CopyrightScreen
SerialCb_CopyrightScreen: @ 80EC61C
push {lr}
ldr r0, _080EC628 @ =gUnknown_203AAD4
bl GameCubeMultiBoot_HandleSerialInterrupt
pop {r0}
bx r0
.align 2, 0
_080EC628: .4byte gUnknown_203AAD4
thumb_func_end SerialCb_CopyrightScreen
thumb_func_start sub_80EC62C
sub_80EC62C: @ 80EC62C
push {r4-r6,lr}
sub sp, 0xC
ldr r0, _080EC64C @ =gMain
movs r1, 0x87
lsls r1, 3
adds r5, r0, r1
ldrb r4, [r5]
cmp r4, 0x8C
bne _080EC640
b _080EC778
_080EC640:
cmp r4, 0x8C
bgt _080EC650
cmp r4, 0
beq _080EC65E
b _080EC732
.align 2, 0
_080EC64C: .4byte gMain
_080EC650:
cmp r4, 0x8D
bne _080EC656
b _080EC7A4
_080EC656:
cmp r4, 0x8E
bne _080EC65C
b _080EC808
_080EC65C:
b _080EC732
_080EC65E:
movs r0, 0
bl SetVBlankCallback
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 r1, 0xA0
lsls r1, 19
ldr r2, _080EC74C @ =0x00007fff
adds r0, r2, 0
strh r0, [r1]
movs r0, 0
movs r1, 0
bl SetGpuReg
movs r0, 0x10
movs r1, 0
bl SetGpuReg
movs r0, 0x12
movs r1, 0
bl SetGpuReg
add r0, sp, 0x4
strh r4, [r0]
ldr r1, _080EC750 @ =0x040000d4
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080EC754 @ =0x8100c000
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
str r4, [sp, 0x8]
add r0, sp, 0x8
str r0, [r1]
movs r0, 0xE0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080EC758 @ =0x85000100
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
add r0, sp, 0x4
strh r4, [r0]
str r0, [r1]
ldr r0, _080EC75C @ =0x05000002
str r0, [r1, 0x4]
ldr r0, _080EC760 @ =0x810001ff
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl ResetPaletteFade
movs r1, 0xE0
lsls r1, 6
movs r0, 0
movs r2, 0
bl load_copyright_graphics
bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
movs r0, 0x1
negs r0, r0
ldr r1, _080EC764 @ =0x0000ffff
str r1, [sp]
movs r1, 0
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
movs r1, 0xE0
lsls r1, 3
movs r0, 0x8
bl SetGpuReg
movs r0, 0x1
bl EnableInterrupts
ldr r0, _080EC768 @ =sub_80EC5A4
bl SetVBlankCallback
movs r1, 0xA0
lsls r1, 1
movs r0, 0
bl SetGpuReg
ldr r0, _080EC76C @ =SerialCb_CopyrightScreen
bl SetSerialCallback
ldr r0, _080EC770 @ =gUnknown_203AAD4
bl GameCubeMultiBoot_Init
_080EC732:
bl UpdatePaletteFade
ldr r0, _080EC774 @ =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
ldrb r1, [r0]
adds r1, 0x1
strb r1, [r0]
ldr r0, _080EC770 @ =gUnknown_203AAD4
bl GameCubeMultiBoot_Main
b _080EC812
.align 2, 0
_080EC74C: .4byte 0x00007fff
_080EC750: .4byte 0x040000d4
_080EC754: .4byte 0x8100c000
_080EC758: .4byte 0x85000100
_080EC75C: .4byte 0x05000002
_080EC760: .4byte 0x810001ff
_080EC764: .4byte 0x0000ffff
_080EC768: .4byte sub_80EC5A4
_080EC76C: .4byte SerialCb_CopyrightScreen
_080EC770: .4byte gUnknown_203AAD4
_080EC774: .4byte gMain
_080EC778:
ldr r4, _080EC7A0 @ =gUnknown_203AAD4
adds r0, r4, 0
bl GameCubeMultiBoot_Main
ldrb r0, [r4, 0x2]
cmp r0, 0x1
beq _080EC812
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
b _080EC812
.align 2, 0
_080EC7A0: .4byte gUnknown_203AAD4
_080EC7A4:
bl UpdatePaletteFade
lsls r0, 24
cmp r0, 0
bne _080EC812
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
ldr r5, _080EC7E4 @ =gUnknown_203AAD4
ldrb r0, [r5, 0x2]
cmp r0, 0
beq _080EC7F4
ldrb r0, [r5, 0x2]
cmp r0, 0x2
bne _080EC7FE
ldr r6, _080EC7E8 @ =0x020000ac
ldr r4, [r6]
ldr r0, _080EC7EC @ =0x65366347
cmp r4, r0
bne _080EC7DC
ldr r0, _080EC7F0 @ =gMultiBootProgram_PokemonColosseum_Start
movs r1, 0x80
lsls r1, 18
movs r2, 0xA0
lsls r2, 9
bl CpuSet
str r4, [r6]
_080EC7DC:
adds r0, r5, 0
bl GameCubeMultiBoot_ExecuteProgram
b _080EC7FE
.align 2, 0
_080EC7E4: .4byte gUnknown_203AAD4
_080EC7E8: .4byte 0x020000ac
_080EC7EC: .4byte 0x65366347
_080EC7F0: .4byte gMultiBootProgram_PokemonColosseum_Start
_080EC7F4:
bl GameCubeMultiBoot_Quit
ldr r0, _080EC804 @ =SerialCB
bl SetSerialCallback
_080EC7FE:
movs r0, 0
b _080EC814
.align 2, 0
_080EC804: .4byte SerialCB
_080EC808:
bl sub_800B388
ldr r0, _080EC81C @ =sub_80EC5B8
bl SetMainCallback2
_080EC812:
movs r0, 0x1
_080EC814:
add sp, 0xC
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_080EC81C: .4byte sub_80EC5B8
thumb_func_end sub_80EC62C
thumb_func_start c2_copyright_1
c2_copyright_1: @ 80EC820
push {lr}
bl sub_80EC62C
lsls r0, 24
cmp r0, 0
bne _080EC858
bl ResetMenuAndMonGlobals
bl Save_ResetSaveCounters
movs r0, 0
bl Save_LoadGameData
ldr r0, _080EC85C @ =gSaveFileStatus
ldrh r0, [r0]
cmp r0, 0
beq _080EC846
cmp r0, 0x2
bne _080EC84A
_080EC846:
bl Sav2_ClearSetDefault
_080EC84A:
ldr r0, _080EC860 @ =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x15]
lsls r0, 31
lsrs r0, 31
bl SetPokemonCryStereo
_080EC858:
pop {r0}
bx r0
.align 2, 0
_080EC85C: .4byte gSaveFileStatus
_080EC860: .4byte gSaveBlock2Ptr
thumb_func_end c2_copyright_1
thumb_func_start sub_80EC864
sub_80EC864: @ 80EC864
push {lr}
bl sub_80EC62C
pop {r0}
bx r0
thumb_func_end sub_80EC864
thumb_func_start sub_80EC870
sub_80EC870: @ 80EC870
push {r4,lr}
sub sp, 0xC
ldr r0, _080EC88C @ =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
ldrb r4, [r0]
cmp r4, 0x1
beq _080EC944
cmp r4, 0x1
bgt _080EC890
cmp r4, 0
beq _080EC8A0
b _080EC894
.align 2, 0
_080EC88C: .4byte gMain
_080EC890:
cmp r4, 0x2
beq _080EC988
_080EC894:
ldr r0, _080EC928 @ =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
movs r1, 0
strb r1, [r0]
_080EC8A0:
movs r0, 0
bl SetVBlankCallback
movs r0, 0
movs r1, 0
bl SetGpuReg
ldr r0, _080EC92C @ =gHeap
movs r1, 0xE0
lsls r1, 9
bl InitHeap
bl ResetTasks
bl ResetSpriteData
bl ResetPaletteFade
bl ResetTempTileDataBuffers
bl sub_80ECA00
add r1, sp, 0x4
movs r0, 0
strh r0, [r1]
ldr r1, _080EC930 @ =0x040000d4
add r0, sp, 0x4
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080EC934 @ =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, _080EC938 @ =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, _080EC93C @ =0x81000200
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r2, 0x80
lsls r2, 3
movs r0, 0
movs r1, 0
bl FillPalette
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, _080EC940 @ =gUnknown_840BB80
movs r0, 0
movs r2, 0x2
bl InitBgsFromTemplates
b _080EC9B8
.align 2, 0
_080EC928: .4byte gMain
_080EC92C: .4byte gHeap
_080EC930: .4byte 0x040000d4
_080EC934: .4byte 0x8100c000
_080EC938: .4byte 0x85000100
_080EC93C: .4byte 0x81000200
_080EC940: .4byte gUnknown_840BB80
_080EC944:
ldr r0, _080EC978 @ =gUnknown_8402630
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r1, _080EC97C @ =gUnknown_8402650
movs r0, 0
str r0, [sp]
movs r0, 0x3
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r1, _080EC980 @ =gUnknown_8402668
str r4, [sp]
movs r0, 0x3
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
ldr r0, _080EC984 @ =gUnknown_840270C
movs r1, 0xD0
movs r2, 0x20
bl LoadPalette
b _080EC9B8
.align 2, 0
_080EC978: .4byte gUnknown_8402630
_080EC97C: .4byte gUnknown_8402650
_080EC980: .4byte gUnknown_8402668
_080EC984: .4byte gUnknown_840270C
_080EC988:
bl FreeTempTileDataBuffersIfPossible
lsls r0, 24
cmp r0, 0
bne _080EC9C6
bl sub_80ECA70
movs r0, 0x1
negs r0, r0
movs r1, 0x10
movs r2, 0
bl BlendPalettes
ldr r0, _080EC9B0 @ =sub_80EC9D4
bl SetMainCallback2
ldr r0, _080EC9B4 @ =sub_80EC9EC
bl SetVBlankCallback
b _080EC9C6
.align 2, 0
_080EC9B0: .4byte sub_80EC9D4
_080EC9B4: .4byte sub_80EC9EC
_080EC9B8:
ldr r1, _080EC9D0 @ =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_080EC9C6:
add sp, 0xC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080EC9D0: .4byte gMain
thumb_func_end sub_80EC870
thumb_func_start sub_80EC9D4
sub_80EC9D4: @ 80EC9D4
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_80EC9D4
thumb_func_start sub_80EC9EC
sub_80EC9EC: @ 80EC9EC
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_80EC9EC
thumb_func_start sub_80ECA00
sub_80ECA00: @ 80ECA00
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
movs r1, 0x82
lsls r1, 5
movs r0, 0
bl SetGpuRegBits
pop {r0}
bx r0
thumb_func_end sub_80ECA00
thumb_func_start sub_80ECA70
sub_80ECA70: @ 80ECA70
push {r4,lr}
ldr r0, _080ECA9C @ =0x000028bc
bl Alloc
adds r4, r0, 0
ldr r1, _080ECAA0 @ =sub_80ECAF0
bl sub_80ECAA8
ldr r0, _080ECAA4 @ =sub_80ECAB0
movs r1, 0x3
bl CreateTask
strb r0, [r4, 0x5]
ldrb r0, [r4, 0x5]
movs r1, 0
adds r2, r4, 0
bl SetWordTaskArg
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080ECA9C: .4byte 0x000028bc
_080ECAA0: .4byte sub_80ECAF0
_080ECAA4: .4byte sub_80ECAB0
thumb_func_end sub_80ECA70
thumb_func_start sub_80ECAA8
sub_80ECAA8: @ 80ECAA8
str r1, [r0]
movs r1, 0
strb r1, [r0, 0x4]
bx lr
thumb_func_end sub_80ECAA8
thumb_func_start sub_80ECAB0
sub_80ECAB0: @ 80ECAB0
push {r4,lr}
lsls r0, 24
lsrs r0, 24
movs r1, 0
bl GetWordTaskArg
adds r4, r0, 0
ldr r0, _080ECAE8 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0xD
ands r0, r1
cmp r0, 0
beq _080ECAD8
ldr r0, [r4]
ldr r1, _080ECAEC @ =sub_80EDBE8
cmp r0, r1
beq _080ECAD8
adds r0, r4, 0
bl sub_80ECAA8
_080ECAD8:
ldr r1, [r4]
adds r0, r4, 0
bl _call_via_r1
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080ECAE8: .4byte gMain
_080ECAEC: .4byte sub_80EDBE8
thumb_func_end sub_80ECAB0
thumb_func_start sub_80ECAF0
sub_80ECAF0: @ 80ECAF0
push {r4,r5,lr}
sub sp, 0xC
adds r5, r0, 0
ldrb r0, [r5, 0x4]
cmp r0, 0
beq _080ECB02
cmp r0, 0x1
beq _080ECB78
b _080ECB8A
_080ECB02:
ldr r0, _080ECB68 @ =gUnknown_840BBA8
bl InitWindows
ldr r0, _080ECB6C @ =gUnknown_840272C
ldr r1, _080ECB70 @ =0x0000043c
adds r4, r5, r1
adds r1, r4, 0
bl LZ77UnCompWram
ldr r0, _080ECB74 @ =gUnknown_84028F8
adds r1, r5, 0
adds r1, 0x3C
bl LZ77UnCompWram
movs r0, 0x20
str r0, [sp]
str r0, [sp, 0x4]
movs r0, 0x11
str r0, [sp, 0x8]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect
movs r0, 0
movs r1, 0
bl FillWindowPixelBuffer
movs r0, 0x90
str r0, [sp]
movs r0, 0x10
str r0, [sp, 0x4]
movs r0, 0
adds r1, r4, 0
movs r2, 0
movs r3, 0x28
bl BlitBitmapToWindow
movs r0, 0
bl PutWindowTilemap
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
ldrb r0, [r5, 0x4]
adds r0, 0x1
strb r0, [r5, 0x4]
b _080ECB8A
.align 2, 0
_080ECB68: .4byte gUnknown_840BBA8
_080ECB6C: .4byte gUnknown_840272C
_080ECB70: .4byte 0x0000043c
_080ECB74: .4byte gUnknown_84028F8
_080ECB78:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
bne _080ECB8A
ldr r1, _080ECB94 @ =sub_80ECB98
adds r0, r5, 0
bl sub_80ECAA8
_080ECB8A:
add sp, 0xC
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080ECB94: .4byte sub_80ECB98
thumb_func_end sub_80ECAF0
thumb_func_start sub_80ECB98
sub_80ECB98: @ 80ECB98
push {r4,r5,lr}