summaryrefslogtreecommitdiff
path: root/engine/gfx/dma_transfer.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/gfx/dma_transfer.asm')
-rw-r--r--engine/gfx/dma_transfer.asm166
1 files changed, 83 insertions, 83 deletions
diff --git a/engine/gfx/dma_transfer.asm b/engine/gfx/dma_transfer.asm
index 241649dc5..5c84a23ca 100644
--- a/engine/gfx/dma_transfer.asm
+++ b/engine/gfx/dma_transfer.asm
@@ -10,11 +10,11 @@ HDMATransferAttrMapAndTileMapToWRAMBank3::
ld hl, wScratchTileMap
call PadTilemapForHDMATransfer
ld a, $0
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchTileMap
call HDMATransferToWRAMBank3
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchAttrMap
call HDMATransferToWRAMBank3
ret
@@ -28,7 +28,7 @@ HDMATransferTileMapToWRAMBank3::
ld hl, wScratchTileMap
call PadTilemapForHDMATransfer
ld a, $0
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchTileMap
call HDMATransferToWRAMBank3
ret
@@ -42,7 +42,7 @@ HDMATransferAttrMapToWRAMBank3:
ld hl, wScratchAttrMap
call PadAttrMapForHDMATransfer
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchAttrMap
call HDMATransferToWRAMBank3
ret
@@ -61,18 +61,18 @@ ReloadMapPart::
call DelayFrame
di
- ld a, [rVBK]
+ ldh a, [rVBK]
push af
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchAttrMap
call HDMATransfer_Wait127Scanlines_toBGMap
ld a, $0
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchTileMap
call HDMATransfer_Wait127Scanlines_toBGMap
pop af
- ld [rVBK], a
+ ldh [rVBK], a
ei
ret
@@ -92,18 +92,18 @@ Mobile_ReloadMapPart:
call DelayFrame
di
- ld a, [rVBK]
+ ldh a, [rVBK]
push af
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchAttrMap
call HDMATransfer_NoDI
ld a, $0
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchTileMap
call HDMATransfer_NoDI
pop af
- ld [rVBK], a
+ ldh [rVBK], a
ei
ret
@@ -114,20 +114,20 @@ Mobile_ReloadMapPart:
.unreferenced_1040da
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld a, BANK(w3_d800)
- ld [rSVBK], a
+ ldh [rSVBK], a
ld de, w3_d800
- ld a, [hBGMapAddress + 1]
- ld [rHDMA1], a
- ld a, [hBGMapAddress]
- ld [rHDMA2], a
+ ldh a, [hBGMapAddress + 1]
+ ldh [rHDMA1], a
+ ldh a, [hBGMapAddress]
+ ldh [rHDMA2], a
ld a, d
- ld [rHDMA3], a
+ ldh [rHDMA3], a
ld a, e
- ld [rHDMA4], a
+ ldh [rHDMA4], a
ld a, $23
- ld [hDMATransfer], a
+ ldh [hDMATransfer], a
call WaitDMATransfer
ret
@@ -137,9 +137,9 @@ Mobile_ReloadMapPart:
.unreferenced_104101
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld a, BANK(w3_d800)
- ld [rSVBK], a
+ ldh [rSVBK], a
ld hl, w3_d800
call HDMATransferToWRAMBank3
ret
@@ -162,18 +162,18 @@ OpenAndCloseMenu_HDMATransferTileMapAndAttrMap::
call DelayFrame
di
- ld a, [rVBK]
+ ldh a, [rVBK]
push af
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchAttrMap
call HDMATransfer_Wait123Scanlines_toBGMap
ld a, $0
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchTileMap
call HDMATransfer_Wait123Scanlines_toBGMap
pop af
- ld [rVBK], a
+ ldh [rVBK], a
ei
ret
@@ -194,40 +194,40 @@ Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:
call PadMapForHDMATransfer
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchAttrMap
call HDMATransfer_Wait127Scanlines_toBGMap
ld a, $0
- ld [rVBK], a
+ ldh [rVBK], a
ld hl, wScratchTileMap
call HDMATransfer_Wait127Scanlines_toBGMap
ret
CallInSafeGFXMode:
- ld a, [hBGMapMode]
+ ldh a, [hBGMapMode]
push af
- ld a, [hMapAnims]
+ ldh a, [hMapAnims]
push af
xor a
- ld [hBGMapMode], a
- ld [hMapAnims], a
- ld a, [rSVBK]
+ ldh [hBGMapMode], a
+ ldh [hMapAnims], a
+ ldh a, [rSVBK]
push af
ld a, BANK(wScratchTileMap)
- ld [rSVBK], a
- ld a, [rVBK]
+ ldh [rSVBK], a
+ ldh a, [rVBK]
push af
call ._hl_
pop af
- ld [rVBK], a
+ ldh [rVBK], a
pop af
- ld [rSVBK], a
+ ldh [rSVBK], a
pop af
- ld [hMapAnims], a
+ ldh [hMapAnims], a
pop af
- ld [hBGMapMode], a
+ ldh [hBGMapMode], a
ret
._hl_
@@ -236,12 +236,12 @@ CallInSafeGFXMode:
HDMATransferToWRAMBank3:
call _LoadHDMAParameters
ld a, $23
- ld [hDMATransfer], a
+ ldh [hDMATransfer], a
WaitDMATransfer:
.loop
call DelayFrame
- ld a, [hDMATransfer]
+ ldh a, [hDMATransfer]
and a
jr nz, .loop
ret
@@ -250,9 +250,9 @@ HDMATransfer_Wait127Scanlines_toBGMap:
; HDMA transfer from hl to [hBGMapAddress]
; hBGMapAddress -> de
; 2 * SCREEN_HEIGHT -> c
- ld a, [hBGMapAddress + 1]
+ ldh a, [hBGMapAddress + 1]
ld d, a
- ld a, [hBGMapAddress]
+ ldh a, [hBGMapAddress]
ld e, a
ld c, 2 * SCREEN_HEIGHT
jr HDMATransfer_Wait127Scanlines
@@ -262,9 +262,9 @@ HDMATransfer_Wait123Scanlines_toBGMap:
; hBGMapAddress -> de
; 2 * SCREEN_HEIGHT -> c
; $7b --> b
- ld a, [hBGMapAddress + 1]
+ ldh a, [hBGMapAddress + 1]
ld d, a
- ld a, [hBGMapAddress]
+ ldh a, [hBGMapAddress]
ld e, a
ld c, 2 * SCREEN_HEIGHT
jr HDMATransfer_Wait123Scanlines
@@ -273,25 +273,25 @@ HDMATransfer_NoDI:
; HDMA transfer from hl to [hBGMapAddress]
; [hBGMapAddress] --> de
; 2 * SCREEN_HEIGHT --> c
- ld a, [hBGMapAddress + 1]
+ ldh a, [hBGMapAddress + 1]
ld d, a
- ld a, [hBGMapAddress]
+ ldh a, [hBGMapAddress]
ld e, a
ld c, 2 * SCREEN_HEIGHT
; [rHDMA1, rHDMA2] = hl & $fff0
ld a, h
- ld [rHDMA1], a
+ ldh [rHDMA1], a
ld a, l
and $f0
- ld [rHDMA2], a
+ ldh [rHDMA2], a
; [rHDMA3, rHDMA4] = de & $1ff0
ld a, d
and $1f
- ld [rHDMA3], a
+ ldh [rHDMA3], a
ld a, e
and $f0
- ld [rHDMA4], a
+ ldh [rHDMA4], a
; b = c | %10000000
ld a, c
dec c
@@ -303,19 +303,19 @@ HDMATransfer_NoDI:
ld d, a
; while [rLY] >= d: pass
.loop1
- ld a, [rLY]
+ ldh a, [rLY]
cp d
jr nc, .loop1
; while not [rSTAT] & 3: pass
.loop2
- ld a, [rSTAT]
+ ldh a, [rSTAT]
and $3
jr z, .loop2
; load the 5th byte of HDMA
ld a, b
- ld [rHDMA5], a
+ ldh [rHDMA5], a
; wait until rLY advances (c + 1) times
- ld a, [rLY]
+ ldh a, [rLY]
inc c
ld hl, rLY
.loop3
@@ -338,17 +338,17 @@ _continue_HDMATransfer:
; a lot of waiting around for hardware registers
; [rHDMA1, rHDMA2] = hl & $fff0
ld a, h
- ld [rHDMA1], a
+ ldh [rHDMA1], a
ld a, l
and $f0 ; high nybble
- ld [rHDMA2], a
+ ldh [rHDMA2], a
; [rHDMA3, rHDMA4] = de & $1ff0
ld a, d
and $1f ; lower 5 bits
- ld [rHDMA3], a
+ ldh [rHDMA3], a
ld a, e
and $f0 ; high nybble
- ld [rHDMA4], a
+ ldh [rHDMA4], a
; e = c | %10000000
ld a, c
dec c
@@ -360,26 +360,26 @@ _continue_HDMATransfer:
ld d, a
; while [rLY] >= d: pass
.ly_loop
- ld a, [rLY]
+ ldh a, [rLY]
cp d
jr nc, .ly_loop
di
; while [rSTAT] & 3: pass
.rstat_loop_1
- ld a, [rSTAT]
+ ldh a, [rSTAT]
and $3
jr nz, .rstat_loop_1
; while not [rSTAT] & 3: pass
.rstat_loop_2
- ld a, [rSTAT]
+ ldh a, [rSTAT]
and $3
jr z, .rstat_loop_2
; load the 5th byte of HDMA
ld a, e
- ld [rHDMA5], a
+ ldh [rHDMA5], a
; wait until rLY advances (c + 1) times
- ld a, [rLY]
+ ldh a, [rLY]
inc c
ld hl, rLY
.final_ly_loop
@@ -396,14 +396,14 @@ _continue_HDMATransfer:
_LoadHDMAParameters:
ld a, h
- ld [rHDMA1], a
+ ldh [rHDMA1], a
ld a, l
- ld [rHDMA2], a
- ld a, [hBGMapAddress + 1]
+ ldh [rHDMA2], a
+ ldh a, [hBGMapAddress + 1]
and $1f
- ld [rHDMA3], a
- ld a, [hBGMapAddress]
- ld [rHDMA4], a
+ ldh [rHDMA3], a
+ ldh a, [hBGMapAddress]
+ ldh [rHDMA4], a
ret
PadTilemapForHDMATransfer:
@@ -416,10 +416,10 @@ PadAttrMapForHDMATransfer:
PadMapForHDMATransfer:
; pad a 20x18 map to 32x18 for HDMA transfer
; back up the padding value in c to hMapObjectIndexBuffer
- ld a, [hMapObjectIndexBuffer]
+ ldh a, [hMapObjectIndexBuffer]
push af
ld a, c
- ld [hMapObjectIndexBuffer], a
+ ldh [hMapObjectIndexBuffer], a
; for each row on the screen
ld c, SCREEN_HEIGHT
@@ -435,7 +435,7 @@ PadMapForHDMATransfer:
jr nz, .loop2
; load the original padding value of c into hl for 32 - 20 = 12 rows
- ld a, [hMapObjectIndexBuffer]
+ ldh a, [hMapObjectIndexBuffer]
ld b, BG_MAP_WIDTH - SCREEN_WIDTH
.loop3
ld [hli], a
@@ -447,16 +447,16 @@ PadMapForHDMATransfer:
; restore the original value of hMapObjectIndexBuffer
pop af
- ld [hMapObjectIndexBuffer], a
+ ldh [hMapObjectIndexBuffer], a
ret
_Get2bpp::
; 2bpp when [rLCDC] & $80
; switch to WRAM bank 6
- ld a, [rSVBK]
+ ldh a, [rSVBK]
push af
ld a, BANK(wScratchTileMap)
- ld [rSVBK], a
+ ldh [rSVBK], a
push bc
push hl
@@ -491,7 +491,7 @@ _Get2bpp::
; restore the previous bank
pop af
- ld [rSVBK], a
+ ldh [rSVBK], a
ret
_Get1bpp::
@@ -521,10 +521,10 @@ _Get1bpp::
jr .loop
.bankswitch
- ld a, [rSVBK]
+ ldh a, [rSVBK]
push af
ld a, BANK(wScratchTileMap)
- ld [rSVBK], a
+ ldh [rSVBK], a
push bc
push hl
@@ -555,7 +555,7 @@ _Get1bpp::
call HDMATransfer_Wait127Scanlines
pop af
- ld [rSVBK], a
+ ldh [rSVBK], a
ret
HDMATransfer_OnlyTopFourRows:
@@ -570,13 +570,13 @@ HDMATransfer_OnlyTopFourRows:
decoord 0, 0, wAttrMap
call .Copy
ld a, $1
- ld [rVBK], a
+ ldh [rVBK], a
ld c, $8
ld hl, wScratchTileMap + $80
debgcoord 0, 0, vBGMap1
call HDMATransfer_Wait127Scanlines
ld a, $0
- ld [rVBK], a
+ ldh [rVBK], a
ld c, $8
ld hl, wScratchTileMap
debgcoord 0, 0, vBGMap1