mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
eb1e3636bb
Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
56 lines
573 B
NASM
56 lines
573 B
NASM
PlaceGraphic:
|
|
; Fill wBoxAlignment-aligned box width b height c
|
|
; with iterating tile starting from hGraphicStartTile at hl.
|
|
|
|
ld de, SCREEN_WIDTH
|
|
|
|
ld a, [wBoxAlignment]
|
|
and a
|
|
jr nz, .right
|
|
|
|
ldh a, [hGraphicStartTile]
|
|
.x1
|
|
push bc
|
|
push hl
|
|
|
|
.y1
|
|
ld [hl], a
|
|
add hl, de
|
|
inc a
|
|
dec c
|
|
jr nz, .y1
|
|
|
|
pop hl
|
|
inc hl
|
|
pop bc
|
|
dec b
|
|
jr nz, .x1
|
|
ret
|
|
|
|
.right
|
|
; Right-aligned.
|
|
push bc
|
|
ld b, 0
|
|
dec c
|
|
add hl, bc
|
|
pop bc
|
|
|
|
ldh a, [hGraphicStartTile]
|
|
.x2
|
|
push bc
|
|
push hl
|
|
|
|
.y2
|
|
ld [hl], a
|
|
add hl, de
|
|
inc a
|
|
dec c
|
|
jr nz, .y2
|
|
|
|
pop hl
|
|
dec hl
|
|
pop bc
|
|
dec b
|
|
jr nz, .x2
|
|
ret
|