mirror of https://github.com/nmlgc/ReC98.git
80 lines
1.2 KiB
NASM
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
|