CCP_TO_GID_FILTER
button
; po 1 n t
t o t h.
"'0 U I •
1 I r
,no mOllement on
P,e
X-a)(il
; indu.t r'l standard upward move
;check for INS
,no movement on the X-axil
;l
n dustry standard down mo ....
;check for curlor
r1~ht
, neg a t i v e mo v eon the X- a xii
;no movement on the Y-axil
;check for OEl or button
; rec1eved an unlupported key
;.a". the keyboard'.
1.r
;I .... e new relative move (Xl
,lave new relative move (Y)
:14111
new absolute pOlition
; 14....
new • b
I 0
1 u t. POI it 10 n
;tranllat. the Icancode to GIO
,check for curlor up
;check for curlor left
;check for cursor down
, mo ... e r 1 9 h ton the X-
4 )(
1
I
;no ",ovement on the Y-aldl
;button one got pUlh.d
; but ton two got P u. he d
near
AH • RS_OONE
a.,
bp and dl
dl 0 REl X,blC
ds O-REL-Y,cx
dIO-ABS-X,bx
dl.O-ABS-Y,cx
dh,T-RF.lle
s h
0
r
f
9 i ... e _ to _p are n t
~::08
• h
0
r t
r e 1 __ mo ....
b)l.,O
cx,8
short
re1 __ molle
blC,O
ex -8
short
re1_mo ....
b)( , 8
c x,
0
I ho r t
re l_move
b l C ,0
.hort but_proce ••
bh,bh
bX,eOH
short ccp_up
bX,61H
short ccp left
bX,62H
-
Ihort ccp_down
blC,63H
short ccp_rlght
b1,07FH
bX,88H
short ccp __ but 1
bX,59H
:~~~~ g~~[b
u t 2
exit_Ilr
b
x,
1
Ihort but process
ax
word ptr CI:.all bx,bx
word ptr c':lall-cx,cX
wo r d p t r
C 1 : •
a
II -
d x , d x
wo r d p t rei:
1
a
"-=•• ,••
dle,dl
el,dx
mOil
mov
jmp
xo r
cmp
Je
cmp
je
cmp
je
cmp
je
and
cmp
je
cmp
J
e
mOil
J"'P
mo ...
mOil
jmp
mOil
jmp
OH • 41H ( T REl18
)
ES:O • de.crIbe record of V_CCPGIO
Ol • V_CCPGIO/8
~~
:
gO~HF=IS:r~ak
Button
001H -
break Button 2
080H
make But ton 1
081H -
make Button
2
OH • T KC BUTTON
CX • 0-
-
ES:
• th1. delllc. de.cribe record
OL • V_CCPGIO/e
mOil
mov
jmp
mOil
jmp
mov
a.,0001H
,get
the proper bit
let
1n
O_STATE
",Oy
c
1, b 1
1
hI
a1 ,c 1
mo...
byte ptr dl 0 TRANSITION,al
:rlcord in the delCrlbe record
,wh1cn button changed
label
pUI h
mOil
mOil
mOil
mOil
"'011
mov
jmp
"'0'1
"'0'"
"'0'"
",0'0'
add
add
mov
jmp
ON EXIT:
REGISTERS AL TEREO:
c
C
p __ but 1
B8 0000
89 FFF8
E8 18
B8 0000
89
0008
EB 08
BB 0000
EB 05
89 1f
0028
89 OE 002A
01 lE
0024
01 OE 0026
B8 41
EB 3C
88 FFF8
B8 0000
EB 10
BB 0008
88 0000
fB 00
8B 0001
EB 00
50
2E
8Q 1E 0020
2E
88
OE
0022
2E
89 18 0024
2E
ac 08 0028
ac
DA
IE C2
32 FF
83 FB 80
74 21
83 FB 81
74 24
83 FB
82
74 27
83 FB 83
74 2A
80 E3 7F
83 FB 81
74 3E
83 FB 89
74
3E
84 08
EB 7B 90
el
0001
8A CB
02
EO
A2 OOlC
003A
003A
003B
0040
0045
004A
004F
0051
0053
0055
0058
005A
0050
005F
0062
0064
0067
0069
008C
006F
0071
0074
0078
0078
007B
0078
007E
0081
0083
0083
0088
0089
0088
0088
OOSE
0091
0093
0093
0098
0099
0098
009B
009F
00A3
OOA7
OOAB
OOAO
OOAF
OOAF
00B2
00B4
00B4
0087
0089
0089
OOBC
OOBE
OOCO
283
284
285
286
287
2S1
289
290
291
292
293
294
285
296
297
2Q8
288
300
301
302
303
304
305
306
307
301
30Q
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
335
337
338
339
340
341
342
343
344
345
348
347
348
349
350
351
352
353
354
355
356
357
358
359
350
361
362
363
364
3f5S
3f56
387
38a
369
370
371
372
373
Driver Wr!ter's Guide
451
Need help?
Do you have a question about the Vectra and is the answer not in the manual?
Questions and answers