diff options
Diffstat (limited to 'home/video.asm')
-rw-r--r-- | home/video.asm | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/home/video.asm b/home/video.asm index 4b519fca0..6f90cb518 100644 --- a/home/video.asm +++ b/home/video.asm @@ -3,17 +3,17 @@ DMATransfer:: ; Return carry if the transfer is completed. - ld a, [hDMATransfer] + ldh a, [hDMATransfer] and a ret z ; Start transfer - ld [rHDMA5], a + ldh [rHDMA5], a ; Execution is halted until the transfer is complete. xor a - ld [hDMATransfer], a + ldh [hDMATransfer], a scf ret @@ -25,11 +25,11 @@ UpdateBGMapBuffer:: ; Return carry on success. - ld a, [hBGMapUpdate] + ldh a, [hBGMapUpdate] and a ret z - ld a, [rVBK] + ldh a, [rVBK] push af ld [hSPBuffer], sp @@ -50,7 +50,7 @@ rept 2 ; Palettes ld a, 1 - ld [rVBK], a + ldh [rVBK], a ld a, [hli] ld [bc], a @@ -61,7 +61,7 @@ rept 2 ; Tiles ld a, 0 - ld [rVBK], a + ldh [rVBK], a ld a, [de] inc de @@ -73,35 +73,35 @@ rept 2 endr ; We've done 2 16x8 blocks - ld a, [hBGMapTileCount] + ldh a, [hBGMapTileCount] dec a dec a - ld [hBGMapTileCount], a + ldh [hBGMapTileCount], a jr nz, .next - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl pop af - ld [rVBK], a + ldh [rVBK], a xor a - ld [hBGMapUpdate], a + ldh [hBGMapUpdate], a scf ret WaitTop:: ; Wait until the top third of the BG Map is being updated. - ld a, [hBGMapMode] + ldh a, [hBGMapMode] and a ret z - ld a, [hBGMapThird] + ldh a, [hBGMapThird] and a jr z, .done @@ -110,13 +110,13 @@ WaitTop:: .done xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a ret UpdateBGMap:: ; Update the BG Map, in thirds, from wTileMap and wAttrMap. - ld a, [hBGMapMode] + ldh a, [hBGMapMode] and a ret z @@ -129,18 +129,18 @@ UpdateBGMap:: ; BG Map 1 dec a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a push hl xor a ; LOW(vBGMap1) - ld [hBGMapAddress], a + ldh [hBGMapAddress], a ld a, HIGH(vBGMap1) - ld [hBGMapAddress + 1], a + ldh [hBGMapAddress + 1], a - ld a, [hBGMapMode] + ldh a, [hBGMapMode] push af cp 3 call z, .Tiles @@ -150,20 +150,20 @@ UpdateBGMap:: pop hl ld a, l - ld [hBGMapAddress], a + ldh [hBGMapAddress], a ld a, h - ld [hBGMapAddress + 1], a + ldh [hBGMapAddress + 1], a ret .Attr: ld a, 1 - ld [rVBK], a + ldh [rVBK], a hlcoord 0, 0, wAttrMap call .update ld a, 0 - ld [rVBK], a + ldh [rVBK], a ret .Tiles: @@ -173,7 +173,7 @@ UpdateBGMap:: ld [hSPBuffer], sp ; Which third? - ld a, [hBGMapThird] + ldh a, [hBGMapThird] and a ; 0 jr z, .top dec a ; 1 @@ -187,9 +187,9 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 add hl, de ld sp, hl - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a ld de, 2 * THIRD_HEIGHT * BG_MAP_WIDTH @@ -204,9 +204,9 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 add hl, de ld sp, hl - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a ld de, THIRD_HEIGHT * BG_MAP_WIDTH @@ -219,9 +219,9 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 .top ld sp, hl - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a ; Next time: middle third @@ -229,7 +229,7 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 .start ; Which third to update next time - ld [hBGMapThird], a + ldh [hBGMapThird], a ; Rows of tiles in a third ld a, SCREEN_HEIGHT / 3 @@ -255,9 +255,9 @@ endr dec a jr nz, .row - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl ret @@ -270,7 +270,7 @@ Serve1bppRequest:: ret z ; Back out if we're too far into VBlank - ld a, [rLY] + ldh a, [rLY] cp LY_VBLANK ret c cp LY_VBLANK + 2 @@ -333,9 +333,9 @@ endr ld [wRequested1bppSource], sp - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl ret @@ -348,7 +348,7 @@ Serve2bppRequest:: ret z ; Back out if we're too far into VBlank - ld a, [rLY] + ldh a, [rLY] cp LY_VBLANK ret c cp LY_VBLANK + 2 @@ -410,9 +410,9 @@ endr ld [wRequested2bppSource], sp - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl ret @@ -420,38 +420,38 @@ endr AnimateTileset:: ; Only call during the first fifth of VBlank - ld a, [hMapAnims] + ldh a, [hMapAnims] and a ret z ; Back out if we're too far into VBlank - ld a, [rLY] + ldh a, [rLY] cp LY_VBLANK ret c cp LY_VBLANK + 7 ret nc - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(_AnimateTileset) rst Bankswitch - ld a, [rSVBK] + ldh a, [rSVBK] push af ld a, BANK(wTilesetAnim) - ld [rSVBK], a + ldh [rSVBK], a - ld a, [rVBK] + ldh a, [rVBK] push af ld a, 0 - ld [rVBK], a + ldh [rVBK], a call _AnimateTileset pop af - ld [rVBK], a + ldh [rVBK], a pop af - ld [rSVBK], a + ldh [rSVBK], a pop af rst Bankswitch ret |