summaryrefslogtreecommitdiff
path: root/home/vblank.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/vblank.asm')
-rw-r--r--home/vblank.asm53
1 files changed, 23 insertions, 30 deletions
diff --git a/home/vblank.asm b/home/vblank.asm
index f69d4a86..8eff5bab 100644
--- a/home/vblank.asm
+++ b/home/vblank.asm
@@ -1,10 +1,15 @@
-VBlank::
+VBlank:: ; 1de5 (0:1de5)
push af
push bc
push de
push hl
+ ld a, [rVBK] ; vram bank
+ push af
+ xor a
+ ld [rVBK], a ; reset vram bank to 0
+
ld a, [H_LOADEDROMBANK]
ld [wVBlankSavedROMBank], a
@@ -27,14 +32,16 @@ VBlank::
call VBlankCopyDouble
call UpdateMovingBgTiles
call $ff80 ; hOAMDMA
- ld a, Bank(PrepareOAMData)
+ ld a, BANK(PrepareOAMData)
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
call PrepareOAMData
; VBlank-sensitive operations end.
-
+ call TrackPlayTime ; keep track of time played
+
call Random
+ call ReadJoypad
ld a, [H_VBLANKOCCURRED]
and a
@@ -49,39 +56,25 @@ VBlank::
dec a
ld [H_FRAMECOUNTER], a
-.skipDec
call FadeOutAudio
-
- ld a, [wAudioROMBank] ; music ROM bank
- ld [H_LOADEDROMBANK], a
- ld [MBC1RomBank], a
-
- cp BANK(Audio1_UpdateMusic)
- jr nz, .checkForAudio2
-.audio1
- call Audio1_UpdateMusic
- jr .afterMusic
-.checkForAudio2
- cp BANK(Audio2_UpdateMusic)
- jr nz, .audio3
-.audio2
+
+ ld a, $8
+ call BankswitchCommon
call Music_DoLowHealthAlarm
- call Audio2_UpdateMusic
- jr .afterMusic
-.audio3
- call Audio3_UpdateMusic
-.afterMusic
-
- callba TrackPlayTime ; keep track of time played
-
- ld a, [hDisableJoypadPolling]
- and a
- call z, ReadJoypad
+
+ ld a, $2
+ call BankswitchCommon
+ call Music2_UpdateMusic
+
+ call SerialFunction ; add this
ld a, [wVBlankSavedROMBank]
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
+ pop af
+ ld [rVBK],a
+
pop hl
pop de
pop bc
@@ -89,7 +82,7 @@ VBlank::
reti
-DelayFrame::
+DelayFrame:: ; 1e64 (0:1e64)
; Wait for the next vblank interrupt.
; As a bonus, this saves battery.