diff options
Diffstat (limited to 'home/vblank.asm')
-rw-r--r-- | home/vblank.asm | 41 |
1 files changed, 15 insertions, 26 deletions
diff --git a/home/vblank.asm b/home/vblank.asm index f69d4a86..9cc8d42f 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -5,6 +5,11 @@ VBlank:: 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 @@ -48,40 +55,22 @@ VBlank:: jr z, .skipDec dec a ld [H_FRAMECOUNTER], a - .skipDec + call FadeOutAudio - ld a, [wAudioROMBank] ; music ROM bank - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a + callbs Music_DoLowHealthAlarm + callbs Audio1_UpdateMusic - cp BANK(Audio1_UpdateMusic) - jr nz, .checkForAudio2 -.audio1 - call Audio1_UpdateMusic - jr .afterMusic -.checkForAudio2 - cp BANK(Audio2_UpdateMusic) - jr nz, .audio3 -.audio2 - 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 + call SerialFunction ld a, [wVBlankSavedROMBank] ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a + pop af + ld [rVBK],a + pop hl pop de pop bc |