ReC98/libs/master.lib/grcg_pset.asm

80 lines
1.2 KiB
NASM

PAGE 98,120
; graphics - grcg - pset - PC98V
;
; DESCRIPTION:
; 点の描画
;
; FUNCTION:
; void far _pascal grcg_pset( int x, int y )
; PARAMETERS:
; int x,y 点の座標
;
; BINDING TARGET:
; Microsoft-C / Turbo-C
;
; RUNNING TARGET:
; NEC PC-9801 Normal mode
;
; REQUIRING RESOURCES:
; CPU: V30
; GRAPHICS ACCELARATOR: GRAPHIC CHARGER
;
; COMPILER/ASSEMBLER:
; TASM 3.0
; OPTASM 1.6
;
; NOTES:
; ・グラフィック画面の青プレーンにのみ描画します。
; ・色をつけるには、グラフィックチャージャーを利用してください。
; ・grc_setclip()によるクリッピングに対応しています。
;
; AUTHOR:
; 恋塚昭彦
;
; 関連関数:
; grc_setclip()
;
; HISTORY:
; 92/6/12 Initial
; 92/7/16 bugfix(^^;
func GRCG_PSET
mov BX,BP ; save BP
mov BP,SP
; parameters
@@x = (RETSIZE+1)*2
@@y = (RETSIZE+0)*2
mov CX,[BP+@@x]
mov DX,[BP+@@y]
mov BP,BX ; restore BP
cmp CX,ClipXL
jl short @@RETURN
cmp CX,ClipXR
jg short @@RETURN
sub DX,ClipYT
jl short @@RETURN
cmp DX,ClipYH
jg short @@RETURN
mov AX,DX
shl AX,2
add DX,AX
add DX,ClipYT_seg
mov ES,DX
mov BX,CX
shr BX,3
and CL,7
mov AL,80h
shr AL,CL
mov ES:[BX],AL
@@RETURN:
ret 4
endfunc