Move demo screen into own file

This commit is contained in:
octorock 2021-06-23 22:53:11 +02:00
parent ae2d83a1ae
commit 813a824e8a
8 changed files with 373 additions and 462 deletions

View File

@ -0,0 +1,111 @@
.syntax unified
push {r4, r5, lr}
ldr r0, _080A2FF4 @ =gFadeControl
ldrb r0, [r0]
cmp r0, #0
bne _080A30A8
movs r5, #0
ldr r0, _080A2FF8 @ =gInput
ldrh r0, [r0]
cmp r0, #0x10
beq _080A3020
cmp r0, #0x10
bgt _080A2FFC
cmp r0, #1
beq _080A303C
cmp r0, #8
beq _080A303C
b _080A3052
.align 2, 0
_080A2FF4: .4byte gFadeControl
_080A2FF8: .4byte gInput
_080A2FFC:
cmp r0, #0x40
beq _080A3052
cmp r0, #0x40
bgt _080A3052
cmp r0, #0x20
bne _080A3052
ldr r1, _080A301C @ =gChooseFileState
ldrb r0, [r1]
cmp r0, #0
bne _080A3052
movs r5, #1
rsbs r5, r5, #0
adds r1, #0x20
movs r0, #0xfc
b _080A302E
.align 2, 0
_080A301C: .4byte gChooseFileState
_080A3020:
ldr r1, _080A3038 @ =gChooseFileState
ldrb r0, [r1]
cmp r0, #0
bne _080A3052
movs r5, #1
adds r1, #0x20
movs r0, #4
_080A302E:
strb r0, [r1]
movs r0, #0x69
bl SoundReq
b _080A3052
.align 2, 0
_080A3038: .4byte gChooseFileState
_080A303C:
ldr r0, _080A3090 @ =gChooseFileState
ldrb r2, [r0]
cmp r2, #0
bne _080A3052
ldr r1, _080A3094 @ =gMain
movs r0, #2
strb r0, [r1, #3]
strb r2, [r1, #4]
movs r0, #0x6a
bl SoundReq
_080A3052:
movs r4, #0x80
lsls r4, r4, #0x12
ldrb r0, [r4, #4]
adds r1, r5, #3
adds r0, r0, r1
movs r1, #3
bl __modsi3
strb r0, [r4, #4]
ldr r5, _080A3090 @ =gChooseFileState
movs r0, #0x10
ldrsh r2, [r5, r0]
ldrb r1, [r4, #4]
movs r0, #0x68
muls r0, r1, r0
cmp r0, r2
beq _080A3098
adds r0, r5, #0
adds r0, #0x20
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r0, r2, r0
movs r1, #0x9c
lsls r1, r1, #1
adds r0, r0, r1
bl __modsi3
strh r0, [r5, #0x10]
movs r0, #1
b _080A309A
.align 2, 0
_080A3090: .4byte gChooseFileState
_080A3094: .4byte gMain
_080A3098:
movs r0, #0
_080A309A:
strb r0, [r5]
movs r0, #0x80
lsls r0, r0, #0x12
ldrb r0, [r0, #4]
movs r1, #0
bl sub_080A3198
_080A30A8:
pop {r4, r5, pc}
.align 2, 0
.syntax divided

View File

@ -0,0 +1,107 @@
.syntax unified
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
ldr r4, _080A3188 @ =gOamCmd
movs r1, #0
movs r0, #0x80
lsls r0, r0, #6
strh r0, [r4, #4]
strh r1, [r4, #6]
movs r0, #0xc0
lsls r0, r0, #4
strh r0, [r4, #8]
movs r0, #0x40
strh r0, [r4, #2]
ldr r0, _080A318C @ =gChooseFileState
movs r1, #0x10
ldrsh r6, [r0, r1]
ldr r1, _080A3190 @ =0xFFFFFED8
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r0, _080A3194 @ =0x08A068BF
mov r8, r0
ldr r1, [r0]
mov r5, r8
subs r5, #0xc
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0xc0
rsbs r1, r1, #0
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #4]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0x58
rsbs r1, r1, #0
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #8]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r0, #0x10
subs r0, r0, r6
strh r0, [r4]
mov r0, r8
ldr r1, [r0]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r0, #0x78
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #4]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r0, #0xe0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #8]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0xa4
lsls r1, r1, #1
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
mov r0, r8
ldr r1, [r0]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0xd8
lsls r1, r1, #1
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #4]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0x86
lsls r1, r1, #2
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #8]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
pop {r3}
mov r8, r3
pop {r4, r5, r6, pc}
.align 2, 0
_080A3188: .4byte gOamCmd
_080A318C: .4byte gChooseFileState
_080A3190: .4byte 0xFFFFFED8
_080A3194: .4byte gUnk_08A068BF
.syntax divided

View File

@ -0,0 +1,34 @@
.syntax unified
push {r4, r5, lr}
ldr r1, _080A31D0 @ =0x08127CC8
lsls r0, r0, #1
adds r0, r0, r1
ldrh r4, [r0]
ldr r1, _080A31D4 @ =gChooseFileState
ldrh r0, [r1, #0x12]
cmp r0, r4
beq _080A31CC
strh r4, [r1, #0x12]
ldr r5, _080A31D8 @ =something2
ldr r0, [r5]
subs r0, #0x1e
movs r1, #0xc0
lsls r1, r1, #1
bl MemClear
cmp r4, #0
beq _080A31C6DEMO
adds r0, r4, #0
adds r1, r5, #0
bl sub_0805F46C
_080A31C6DEMO:
ldr r1, _080A31DC @ =gScreen
movs r0, #1
strh r0, [r1, #0xe]
_080A31CC:
pop {r4, r5, pc}
.align 2, 0
_080A31D0: .4byte gUnk_08127CC8
_080A31D4: .4byte gChooseFileState
_080A31D8: .4byte gUnk_08127C98
_080A31DC: .4byte gScreen
.syntax divided

View File

@ -203,451 +203,3 @@ _080A3200:
// DEMO only functions
.ifdef DEMO
thumb_func_start HandleChooseDemoScreen
HandleChooseDemoScreen: @ 0x080A2E18
push {lr}
bl FlushSprites
ldr r1, _080A2E38 @ =demoFunctions
ldr r0, _080A2E3C @ =gMain
ldrb r0, [r0, #3]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
bl sub_080A30AC
bl sub_080AD918
pop {pc}
.align 2, 0
_080A2E38: .4byte demoFunctions
_080A2E3C: .4byte gMain
thumb_func_start sub_080A2E40
sub_080A2E40: @ 0x080A2E40
push {r4, r5, r6, lr}
mov r6, sb
mov r5, r8
push {r5, r6}
movs r0, #1
bl DispReset
bl InitSoundPlayingInfo
movs r0, #0xc0
lsls r0, r0, #0x13
mov sb, r0
movs r1, #0x80
bl MemClear
bl MessageInitialize
bl EraseAllEntities
bl sub_080ADD30
movs r0, #0
bl sub_0801CFA8
ldr r0, _080A2F4C @ =gUnk_02032EC0
movs r1, #0xed
lsls r1, r1, #2
bl MemClear
ldr r0, _080A2F50 @ =gChooseFileState
movs r1, #0x30
bl MemClear
ldr r0, _080A2F54 @ =gBG0Buffer
movs r1, #0x80
lsls r1, r1, #4
mov r8, r1
bl MemClear
bl sub_08053320
movs r0, #0xb5
bl LoadPaletteGroup
movs r0, #0x56
bl LoadGfxGroup
ldr r5, _080A2F58 @ =0x089FD1B4
ldr r4, _080A2F5C @ =0x02017760
movs r6, #0x80
lsls r6, r6, #1
adds r0, r5, #0
adds r1, r4, #0
adds r2, r6, #0
bl MemCopy
movs r0, #0x80
lsls r0, r0, #2
adds r4, r4, r0
adds r0, r5, #0
adds r1, r4, #0
adds r2, r6, #0
bl MemCopy
ldr r4, _080A2F60 @ =0x089FD2F4
movs r5, #0x80
lsls r5, r5, #8
adds r0, r4, #0
mov r1, sb
adds r2, r5, #0
bl MemCopy
ldr r1, _080A2F64 @ =0x06010000
adds r0, r4, #0
adds r2, r5, #0
bl MemCopy
ldr r4, _080A2F68 @ =0x08A05751
ldr r1, _080A2F6C @ =gBG1Buffer
adds r0, r4, #0
mov r2, r8
bl MemCopy
movs r1, #0x80
lsls r1, r1, #4
adds r4, r4, r1
ldr r1, _080A2F70 @ =gBG2Buffer
adds r0, r4, #0
mov r2, r8
bl MemCopy
ldr r1, _080A2F74 @ =gScreen
movs r2, #0
movs r0, #0xf8
lsls r0, r0, #5
strh r0, [r1]
ldr r0, _080A2F78 @ =0x00001C81
strh r0, [r1, #0x14]
ldr r0, _080A2F7C @ =0x00001D82
strh r0, [r1, #0x20]
adds r0, #0x89
strh r0, [r1, #0x2c]
movs r4, #1
movs r0, #1
strh r0, [r1, #0x1a]
strh r0, [r1, #0x26]
strh r0, [r1, #0x32]
adds r3, r1, #0
adds r3, #0x66
ldr r0, _080A2F80 @ =0x00001044
strh r0, [r3]
adds r1, #0x68
ldr r0, _080A2F84 @ =0x00000B04
strh r0, [r1]
movs r0, #0x80
lsls r0, r0, #0x12
strb r2, [r0, #4]
movs r0, #0
movs r1, #0
bl sub_080A3198
ldr r0, _080A2F88 @ =gMain
strb r4, [r0, #3]
movs r0, #7
bl SoundReq
movs r0, #4
movs r1, #8
bl DoFade
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, pc}
.align 2, 0
_080A2F4C: .4byte gUnk_02032EC0
_080A2F50: .4byte gChooseFileState
_080A2F54: .4byte gBG0Buffer
_080A2F58: .4byte gUnk_089FD1B4
_080A2F5C: .4byte 0x02017760
_080A2F60: .4byte gUnk_089FD2F4
_080A2F64: .4byte 0x06010000
_080A2F68: .4byte gUnk_08A05751
_080A2F6C: .4byte gBG1Buffer
_080A2F70: .4byte gBG2Buffer
_080A2F74: .4byte gScreen
_080A2F78: .4byte 0x00001C81
_080A2F7C: .4byte 0x00001D82
_080A2F80: .4byte 0x00001044
_080A2F84: .4byte 0x00000B04
_080A2F88: .4byte gMain
thumb_func_start sub_080A2F8C
sub_080A2F8C: @ 0x080A2F8C
push {lr}
ldr r0, _080A2FA4 @ =gFadeControl
ldrb r0, [r0]
cmp r0, #0
bne _080A2FCC
ldr r2, _080A2FA8 @ =gMain
ldrb r0, [r2, #4]
cmp r0, #0
beq _080A2FAC
cmp r0, #1
beq _080A2FC6
b _080A2FCC
.align 2, 0
_080A2FA4: .4byte gFadeControl
_080A2FA8: .4byte gMain
_080A2FAC:
movs r0, #1
strb r0, [r2, #4]
movs r1, #0x80
lsls r1, r1, #0x12
strb r0, [r1, #5]
strb r0, [r1, #6]
movs r0, #2
strb r0, [r2, #3]
movs r0, #5
movs r1, #8
bl DoFade
b _080A2FCC
_080A2FC6:
movs r0, #2
bl InitScreen
_080A2FCC:
pop {pc}
.align 2, 0
thumb_func_start sub_080A2FD0
sub_080A2FD0: @ 0x080A2FD0
push {r4, r5, lr}
ldr r0, _080A2FF4 @ =gFadeControl
ldrb r0, [r0]
cmp r0, #0
bne _080A30A8
movs r5, #0
ldr r0, _080A2FF8 @ =gInput
ldrh r0, [r0]
cmp r0, #0x10
beq _080A3020
cmp r0, #0x10
bgt _080A2FFC
cmp r0, #1
beq _080A303C
cmp r0, #8
beq _080A303C
b _080A3052
.align 2, 0
_080A2FF4: .4byte gFadeControl
_080A2FF8: .4byte gInput
_080A2FFC:
cmp r0, #0x40
beq _080A3052
cmp r0, #0x40
bgt _080A3052
cmp r0, #0x20
bne _080A3052
ldr r1, _080A301C @ =gChooseFileState
ldrb r0, [r1]
cmp r0, #0
bne _080A3052
movs r5, #1
rsbs r5, r5, #0
adds r1, #0x20
movs r0, #0xfc
b _080A302E
.align 2, 0
_080A301C: .4byte gChooseFileState
_080A3020:
ldr r1, _080A3038 @ =gChooseFileState
ldrb r0, [r1]
cmp r0, #0
bne _080A3052
movs r5, #1
adds r1, #0x20
movs r0, #4
_080A302E:
strb r0, [r1]
movs r0, #0x69
bl SoundReq
b _080A3052
.align 2, 0
_080A3038: .4byte gChooseFileState
_080A303C:
ldr r0, _080A3090 @ =gChooseFileState
ldrb r2, [r0]
cmp r2, #0
bne _080A3052
ldr r1, _080A3094 @ =gMain
movs r0, #2
strb r0, [r1, #3]
strb r2, [r1, #4]
movs r0, #0x6a
bl SoundReq
_080A3052:
movs r4, #0x80
lsls r4, r4, #0x12
ldrb r0, [r4, #4]
adds r1, r5, #3
adds r0, r0, r1
movs r1, #3
bl __modsi3
strb r0, [r4, #4]
ldr r5, _080A3090 @ =gChooseFileState
movs r0, #0x10
ldrsh r2, [r5, r0]
ldrb r1, [r4, #4]
movs r0, #0x68
muls r0, r1, r0
cmp r0, r2
beq _080A3098
adds r0, r5, #0
adds r0, #0x20
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r0, r2, r0
movs r1, #0x9c
lsls r1, r1, #1
adds r0, r0, r1
bl __modsi3
strh r0, [r5, #0x10]
movs r0, #1
b _080A309A
.align 2, 0
_080A3090: .4byte gChooseFileState
_080A3094: .4byte gMain
_080A3098:
movs r0, #0
_080A309A:
strb r0, [r5]
movs r0, #0x80
lsls r0, r0, #0x12
ldrb r0, [r0, #4]
movs r1, #0
bl sub_080A3198
_080A30A8:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_080A30AC
sub_080A30AC: @ 0x080A30AC
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
ldr r4, _080A3188 @ =gOamCmd
movs r1, #0
movs r0, #0x80
lsls r0, r0, #6
strh r0, [r4, #4]
strh r1, [r4, #6]
movs r0, #0xc0
lsls r0, r0, #4
strh r0, [r4, #8]
movs r0, #0x40
strh r0, [r4, #2]
ldr r0, _080A318C @ =gChooseFileState
movs r1, #0x10
ldrsh r6, [r0, r1]
ldr r1, _080A3190 @ =0xFFFFFED8
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r0, _080A3194 @ =0x08A068BF
mov r8, r0
ldr r1, [r0]
mov r5, r8
subs r5, #0xc
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0xc0
rsbs r1, r1, #0
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #4]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0x58
rsbs r1, r1, #0
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #8]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r0, #0x10
subs r0, r0, r6
strh r0, [r4]
mov r0, r8
ldr r1, [r0]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r0, #0x78
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #4]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r0, #0xe0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #8]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0xa4
lsls r1, r1, #1
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
mov r0, r8
ldr r1, [r0]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0xd8
lsls r1, r1, #1
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #4]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
movs r1, #0x86
lsls r1, r1, #2
adds r0, r1, #0
subs r0, r0, r6
strh r0, [r4]
ldr r1, [r5, #8]
adds r1, r1, r5
adds r0, r4, #0
bl sub_080ADA04
pop {r3}
mov r8, r3
pop {r4, r5, r6, pc}
.align 2, 0
_080A3188: .4byte gOamCmd
_080A318C: .4byte gChooseFileState
_080A3190: .4byte 0xFFFFFED8
_080A3194: .4byte gUnk_08A068BF
thumb_func_start sub_080A3198
sub_080A3198: @ 0x080A3198
push {r4, r5, lr}
ldr r1, _080A31D0 @ =0x08127CC8
lsls r0, r0, #1
adds r0, r0, r1
ldrh r4, [r0]
ldr r1, _080A31D4 @ =gChooseFileState
ldrh r0, [r1, #0x12]
cmp r0, r4
beq _080A31CC
strh r4, [r1, #0x12]
ldr r5, _080A31D8 @ =something2
ldr r0, [r5]
subs r0, #0x1e
movs r1, #0xc0
lsls r1, r1, #1
bl MemClear
cmp r4, #0
beq _080A31C6DEMO
adds r0, r4, #0
adds r1, r5, #0
bl sub_0805F46C
_080A31C6DEMO:
ldr r1, _080A31DC @ =gScreen
movs r0, #1
strh r0, [r1, #0xe]
_080A31CC:
pop {r4, r5, pc}
.align 2, 0
_080A31D0: .4byte gUnk_08127CC8
_080A31D4: .4byte gChooseFileState
_080A31D8: .4byte gUnk_08127C98
_080A31DC: .4byte gScreen
.endif

18
data/const/demoScreen.s Normal file
View File

@ -0,0 +1,18 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
.ifdef DEMO
@ TODO choose demo screen
demoFunctions::
.4byte sub_080A2E40
.4byte sub_080A2FD0
.4byte sub_080A2F8C
gUnk_08127C98::
.incbin "baserom_demo.gba", 0x127c98, 0x30
gUnk_08127CC8::
.incbin "baserom_demo.gba", 0x127CC8, 0x8
.endif

View File

@ -11,17 +11,3 @@ gUnk_08127270:: @ 08127270
gUnk_08127278:: @ 08127278
.incbin "baserom.gba", 0x127278, 0x0000008
.ifdef DEMO
@ TODO choose demo screen
demoFunctions::
.4byte sub_080A2E40
.4byte sub_080A2FD0
.4byte sub_080A2F8C
gUnk_08127C98::
.incbin "baserom_demo.gba", 0x127c98, 0x30
gUnk_08127CC8::
.incbin "baserom_demo.gba", 0x127CC8, 0x8
.endif

View File

@ -69,6 +69,7 @@ SECTIONS {
. = 0x000176A0; gPaletteBuffer = .;
. = 0x000176E0; gUnk_020176E0 = .;
. = 0x00017700; gUnk_02017700 = .;
. = 0x00017760; gUnk_02017760 = .;
. = 0x00017830; gUnk_02017830 = .;
. = 0x000178E0; gUnk_020178E0 = .;
. = 0x00017AA0; gUnk_02017AA0 = .;
@ -920,6 +921,9 @@ SECTIONS {
asm/code_080A29BC.o(.text);
asm/playerItem/playerItemShield.o(.text);
asm/playerItem/playerItem15.o(.text);
#ifdef DEMO
src/demoScreen.o(.text);
#endif
src/audio.o(.text);
asm/code_080A3480.o(.text);
src/sub_080A3B84.o(.text);
@ -1652,6 +1656,9 @@ data/const/object/object1D.o(.rodata);
data/data_08125104.o(.rodata);
data/const/playerItem/playerItemShield.o(.rodata);
data/const/playerItem/playerItem15.o(.rodata);
#ifdef DEMO
data/const/demoScreen.o(.rodata);
#endif
data/data_08127280.o(.rodata);
data/const/playerItem/playerItemSword.o(.rodata);
data/data_08129320.o(.rodata);

96
src/demoScreen.c Normal file
View File

@ -0,0 +1,96 @@
#include "global.h"
#include "functions.h"
#include "main.h"
#include "utils.h"
#include "textbox.h"
#include "fileScreen.h"
#include "screen.h"
extern void (*const demoFunctions[])(void);
void sub_080A30AC();
extern u8 gUnk_02000004;
void sub_080A3198(u32, u32);
extern u8 gUnk_02017760[];
extern u8 gUnk_08A05751[];
// sprite_table
extern void gUnk_089FD1B4;
extern void gUnk_089FD2F4;
extern u8 gUnk_02000006;
void HandleChooseDemoScreen(void) {
FlushSprites();
demoFunctions[gMain.funcIndex]();
sub_080A30AC();
sub_080AD918();
}
void sub_080A2E40(void) {
DispReset(1);
InitSoundPlayingInfo();
MemClear((void*)0x6000000, 0x80);
MessageInitialize();
EraseAllEntities();
sub_080ADD30();
sub_0801CFA8(0);
MemClear(&gUnk_02032EC0, 0x3b4);
MemClear(&gChooseFileState, 0x30);
MemClear(&gBG0Buffer, 0x800);
sub_08053320();
LoadPaletteGroup(0xb5);
LoadGfxGroup(0x56);
MemCopy(&gUnk_089FD1B4, &gUnk_02017760[0], 0x100);
MemCopy(&gUnk_089FD1B4, &gUnk_02017760[0x200], 0x100);
MemCopy(&gUnk_089FD2F4, (void*)0x6000000, 0x8000);
MemCopy(&gUnk_089FD2F4, (void*)0x6010000, 0x8000);
MemCopy(&gUnk_08A05751, &gBG1Buffer, 0x800);
MemCopy(&gUnk_08A05751[0x800], &gBG2Buffer, 0x800);
gScreen.lcd.displayControl = 0x1f00;
gScreen.bg.bg1Control = 0x1c81;
gScreen.affine.bg2Control = 0x1d82;
gScreen.affine.bg3Control = 0x1e0b;
gScreen.bg.bg1Updated = 1;
gScreen.affine.bg2Updated = 1;
gScreen.affine.bg3Updated = 1;
gScreen.controls.layerFXControl = 0x1044;
gScreen.controls.alphaBlend = 0xb04;
{
// TODO write to 0x2000004
u32 addr = (0x80 << 0x12);
*(u8*)(addr + 4) = 0;
}
sub_080A3198(0, 0);
gMain.funcIndex = 1;
SoundReq(BGM_FILE_SELECT);
DoFade(4, 8);
}
void sub_080A2F8C(void) {
if (gFadeControl.active == 0) {
switch (gMain.transition) {
case 0:
gMain.transition = 1;
{
// TODO write to 0x2000005
u32 addr = (0x80 << 0x12);
*(u8*)(addr + 5) = 1;
*(u8*)(addr + 6) = 1;
}
gMain.funcIndex = 2;
DoFade(5, 8);
break;
case 1:
InitScreen(2);
break;
}
}
}
ASM_FUNC("asm/non_matching/demoScreen/sub_080A2FD0.inc", void sub_080A2FD0(void))
ASM_FUNC("asm/non_matching/demoScreen/sub_080A30AC.inc", void sub_080A30AC(void))
ASM_FUNC("asm/non_matching/demoScreen/sub_080A3198.inc", void sub_080A3198(u32 param_1, u32 param_2))