diff options
Diffstat (limited to 'home/vblank.asm')
-rw-r--r-- | home/vblank.asm | 53 |
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. |