home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 12
/
CD_ASCQ_12_0294.iso
/
maj
/
4383
/
xpoint.asm
< prev
next >
Wrap
Assembly Source File
|
1994-01-01
|
1KB
|
86 lines
include model.inc
;
; VGAKIT Version 6.0
;
; Copyright 1988,89,90,91,92,93,94 John Bridges
; Free for use in commercial, shareware or freeware applications
;
; XPOINT.ASM
;
;
.data
extrn curbk:word,adrtbl:dword,ourseg:word
extrn maxx:word,maxy:word,scanline:word
.code
extrn newbank:proc
public xpoint
public xpoint13x
xpoint proc xpos:word,ypos:word,color:word
mov dx,[xpos]
cmp dx,0
jl nope1
cmp dx,[maxx]
jge nope1
mov bx,[ypos]
cmp bx,0
jl nope1
cmp bx,[maxy]
jge nope1
shl bx,1
shl bx,1
add dx,word ptr adrtbl[bx]
mov ax,word ptr adrtbl[bx+2]
adc ax,0
mov bx,dx
cmp ax,[curbk]
jz nonew
call newbank ;switch banks if a new bank entered
nonew: mov es,[ourseg] ;setup screen segment
mov al,byte ptr [color] ;get color of pixel to plot
xor es:[bx],al
nope1: ret
xpoint endp
xpoint13x proc xpos:word,ypos:word,color:word
mov dx,[xpos]
cmp dx,0
jl nope2
cmp dx,[maxx]
jge nope2
mov bx,[ypos]
cmp bx,0
jl nope2
cmp bx,[maxy]
jge nope2
shl bx,1
shl bx,1
mov cx,dx
shr dx,1
shr dx,1
add dx,word ptr adrtbl[bx]
mov bx,dx
mov ax,102h
and cl,3
shl ah,cl ;create bit plane mask
mov dx,3c4h
out dx,ax ;set EGA bit plane mask register
mov dl,0ceh
mov al,4
mov ah,cl
out dx,ax ;set EGA bit plane read regsiter
mov es,[ourseg] ;setup screen segment
mov al,byte ptr [color] ;get color of pixel to plot
xor es:[bx],al
nope2: ret
xpoint13x endp
end