ReC98/th04/hardware/grcg.inc

33 lines
927 B
PHP
Raw Normal View History

; Redefined versions of master.lib's grcg_setmode() and grcg_setcolor().
GRCG_SETMODE_RMW_DEF macro instance
; void grcg_setmode_rmw(void);
public _grcg_setmode_rmw_&instance
_grcg_setmode_rmw_&instance proc near
GRCG_SETMODE_VIA_MOV al, GC_RMW
ret
_grcg_setmode_rmw_&instance endp
nop
endm
GRCG_SETCOLOR_DIRECT_NOINT_DEF macro instance
; Takes the GC_* color parameter in AH.
; void grcg_setcolor_direct_noint(void);
public _grcg_setcolor_direct_noint_&instance
_grcg_setcolor_direct_noint_&instance proc near
cli
GRCG_SETCOLOR_DIRECT_CLOBBERING dx, ah
sti
ret
_grcg_setcolor_direct_noint_&instance endp
endm
; Convenience macro to prepare ES:DI.
GRCG_FILL_PLAYFIELD_ROWS macro y:req, num_rows:req, scratch_sgm:=<ax>
mov scratch_sgm, GRAM_400 + (((y + PLAYFIELD_Y) * ROW_SIZE) shr 4)
mov es, scratch_sgm
mov di, ((num_rows - 1) * ROW_SIZE) + PLAYFIELD_VRAM_X
call _grcg_fill_playfield_rows
endm