ReC98/libs/master.lib/graph_clear.asm

64 lines
1.0 KiB
NASM

; master library - PC98V - GRCG
;
; Description:
; 画面の消去
;
; Function/Procedures:
; void graph_clear( void ) ;
;
; Parameters:
; none
;
; Returns:
; none
;
; Binding Target:
; Microsoft-C / Turbo-C / Turbo Pascal
;
; Running Target:
; PC-9801
;
; Requiring Resources:
; CPU: 8086
; GRAPHICS ACCERALATOR: GRCG
;
; Notes:
; 現在のアクセス画面を消去します。
; GRCGのタイルレジスタは all zeroに、モードは offにします。
; 割り込みを許可してしまいます。
;
; Compiler/Assembler:
; TASM 3.0
; OPTASM 1.6
;
; Author:
; 恋塚昭彦
;
; Revision History:
; 92/11/16 Initial
; 92/11/20 bugfix
func GRAPH_CLEAR
mov AL,080h ; GRCG = TDW black
pushf
CLI
out 7ch,AL
popf
xor AX,AX
mov DX,7eh
out DX,AL
out DX,AL
out DX,AL
out DX,AL
mov BX,DI ; save DI
xor DI,DI ; 消去開始オフセットアドレス
mov CX,graph_VramWords
mov ES,graph_VramSeg
rep stosw ; 塗りつぶし
mov DI,BX ; restore DI
out 7ch,AL ; GRCG OFF
ret
endfunc