-
Notifications
You must be signed in to change notification settings - Fork 0
/
ICEMOUSE.PAS
85 lines (73 loc) · 1.02 KB
/
ICEMOUSE.PAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Unit iCEMouse;
Interface
Uses opCrt,Dos;
Procedure MouseOn;
Procedure MouseOff;
Procedure MouseXy(Var X,Y:Byte);
Function Button:Byte;
Function MouseReset:Boolean;
Implementation
Procedure MouseOn;
Begin
ASM
MOV AX,01
INT 33h
END;
End;
Procedure MouseOff;
Begin
ASM
MOV AX,02
INT 33h
END;
END;
Procedure MouseXy(Var X,Y:Byte);
Var XX,YY:Word;
Begin
ASM
MOV AX,03
INT 33h
MOV YY,DX
MOV XX,CX
END;
X:=(XX div 8)+1;
Y:=(YY div 8)+1;
End;
Function Button:Byte;
Var B:Byte;
Begin
ASM
MOV AX,03
INT 33h
MOV B,BL
END;
Button:=B;
{ B=1:Left
B=2:Right }
End;
Procedure MouseCursor;
Begin
ASM
MOV AX,09
INT 33h
END;
End;
Function MouseReset:Boolean;
Var B:Byte;
Begin
MouseReset:=False;
ASM
MOV AX,00
INT 33h
MOV B,AL;
END;
If B=0 then MouseReset:=false else MouseReset:=True;
End;
Procedure CheckMouse;
Begin
If Button=1 Then
Begin
End;
End;
Begin
End.