2019-09-13 09:44:21 +00:00
|
|
|
|
; Fills the playfield around the 256×256 pixels starting at (64, 56) with the
|
|
|
|
|
; current GRCG tile.
|
|
|
|
|
; Assumes that the GRCG is set to TDW mode.
|
|
|
|
|
|
2022-04-02 23:03:58 +00:00
|
|
|
|
public @REIMU_MARISA_BACKDROP_COLORFILL$QV
|
|
|
|
|
public @MAI_YUKI_BACKDROP_COLORFILL$QV
|
|
|
|
|
label @mai_yuki_backdrop_colorfill$qv near
|
|
|
|
|
@reimu_marisa_backdrop_colorfill$qv proc near
|
2019-09-13 09:44:21 +00:00
|
|
|
|
push di
|
2020-08-25 18:29:24 +00:00
|
|
|
|
mov ax, GRAM_400 + (PLAYFIELD_TOP * ROW_SIZE) shr 4
|
2019-09-13 09:44:21 +00:00
|
|
|
|
mov es, ax
|
|
|
|
|
assume es:nothing
|
2020-08-25 18:29:24 +00:00
|
|
|
|
mov di, (55 * ROW_SIZE) + PLAYFIELD_VRAM_LEFT
|
2019-09-13 09:44:21 +00:00
|
|
|
|
nop
|
|
|
|
|
|
|
|
|
|
@@rows_next:
|
|
|
|
|
mov cx, PLAYFIELD_VRAM_W / 4
|
|
|
|
|
|
|
|
|
|
@@rows_top_and_bottom:
|
|
|
|
|
mov es:[di+(312 * ROW_SIZE)], eax
|
|
|
|
|
stosd
|
|
|
|
|
loop @@rows_top_and_bottom
|
|
|
|
|
sub di, ROW_SIZE + PLAYFIELD_VRAM_W
|
|
|
|
|
jge short @@rows_next
|
2020-08-25 18:29:24 +00:00
|
|
|
|
mov ax, GRAM_400 + ((56 + PLAYFIELD_TOP) * ROW_SIZE) shr 4
|
2019-09-13 09:44:21 +00:00
|
|
|
|
mov es, ax
|
|
|
|
|
assume es:nothing
|
2020-08-25 18:29:24 +00:00
|
|
|
|
mov di, (255 * ROW_SIZE) + PLAYFIELD_VRAM_LEFT
|
2019-09-13 09:44:21 +00:00
|
|
|
|
nop
|
|
|
|
|
|
|
|
|
|
@@cols:
|
|
|
|
|
mov es:[di+(320 / 8)], eax
|
|
|
|
|
stosd
|
|
|
|
|
mov es:[di+(320 / 8)], eax
|
|
|
|
|
stosd
|
|
|
|
|
sub di, ROW_SIZE + 8
|
|
|
|
|
jge short @@cols
|
|
|
|
|
pop di
|
|
|
|
|
retn
|
2022-04-02 23:03:58 +00:00
|
|
|
|
@reimu_marisa_backdrop_colorfill$qv endp
|
2019-09-13 09:44:21 +00:00
|
|
|
|
even
|