mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-22 15:12:18 +13:00
Split more code out of home.asm.
This commit is contained in:
parent
d424eb4438
commit
6d8c6055b5
9 changed files with 1624 additions and 1619 deletions
105
home/vblank.asm
Normal file
105
home/vblank.asm
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
VBlank::
|
||||
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
|
||||
ld a, [H_LOADEDROMBANK]
|
||||
ld [wd122], a
|
||||
|
||||
ld a, [$ffae]
|
||||
ld [rSCX], a
|
||||
ld a, [$ffaf]
|
||||
ld [rSCY], a
|
||||
|
||||
ld a, [wd0a0]
|
||||
and a
|
||||
jr nz, .ok
|
||||
ld a, [$ffb0]
|
||||
ld [rWY], a
|
||||
.ok
|
||||
|
||||
call AutoBgMapTransfer
|
||||
call VBlankCopyBgMap
|
||||
call RedrawExposedScreenEdge
|
||||
call VBlankCopy
|
||||
call VBlankCopyDouble
|
||||
call UpdateMovingBgTiles
|
||||
call $ff80 ; hOAMDMA
|
||||
ld a, Bank(PrepareOAMData)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [MBC3RomBank], a
|
||||
call PrepareOAMData
|
||||
|
||||
; VBlank-sensitive operations end.
|
||||
|
||||
call Random
|
||||
|
||||
ld a, [H_VBLANKOCCURRED]
|
||||
and a
|
||||
jr z, .vblanked
|
||||
xor a
|
||||
ld [H_VBLANKOCCURRED], a
|
||||
.vblanked
|
||||
|
||||
ld a, [H_FRAMECOUNTER]
|
||||
and a
|
||||
jr z, .decced
|
||||
dec a
|
||||
ld [H_FRAMECOUNTER], a
|
||||
.decced
|
||||
|
||||
call Func_28cb
|
||||
|
||||
ld a, [wc0ef] ; music ROM bank
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
cp BANK(Func_9103)
|
||||
jr nz, .notbank2
|
||||
.bank2
|
||||
call Func_9103
|
||||
jr .afterMusic
|
||||
.notbank2
|
||||
cp 8
|
||||
jr nz, .bank1F
|
||||
.bank8
|
||||
call Func_2136e
|
||||
call Func_21879
|
||||
jr .afterMusic
|
||||
.bank1F
|
||||
call Func_7d177
|
||||
.afterMusic
|
||||
|
||||
callba Func_18dee ; keep track of time played
|
||||
|
||||
ld a, [$fff9]
|
||||
and a
|
||||
call z, ReadJoypad
|
||||
|
||||
ld a, [wd122]
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
reti
|
||||
|
||||
|
||||
DelayFrame::
|
||||
; Wait for the next vblank interrupt.
|
||||
; As a bonus, this saves battery.
|
||||
|
||||
NOT_VBLANKED EQU 1
|
||||
|
||||
ld a, NOT_VBLANKED
|
||||
ld [H_VBLANKOCCURRED], a
|
||||
.halt
|
||||
halt
|
||||
ld a, [H_VBLANKOCCURRED]
|
||||
and a
|
||||
jr nz, .halt
|
||||
ret
|
||||
Loading…
Add table
Add a link
Reference in a new issue