359
|
1
|
|
2 * miscellaneous definitions
|
|
3 HResMaxX equ 639 high resolution X limit
|
|
4 HResMaxY equ 191 high resolution Y limit
|
|
5 MousData equ $0008 arbitrary choice for mouse data area ($0008-$000E)
|
|
6 PcktSize equ 3 number of bytes in mouse data packet
|
|
7 SyncData equ %01000000 initial mouse data byte pattern
|
|
8
|
|
9 * 6551 register definitions
|
|
10 org 0
|
|
11 DataReg rmb 1 receive/transmit data
|
|
12 StatReg rmb 1 IRQ/DSR/DCD/error status (read only)
|
|
13 PRstReg equ StatReg programmed reset (write only)
|
|
14 CmdReg rmb 1 command (parity/echo/Tx IRQ/Rx IRQ/DTR)
|
|
15 CtrlReg rmb 1 control (stop bits/word length/Rx clock/baud rate)
|
|
16
|
|
17 * Status bit definitions
|
|
18 Stat.IRQ equ %10000000 IRQ occurred
|
|
19 Stat.DSR equ %01000000 current DSR input level (0=enabled, 1=disabled)
|
|
20 Stat.DCD equ %00100000 current DCD input level (0=enabled, 1=disabled)
|
|
21 Stat.TxE equ %00010000 Tx register empty
|
|
22 Stat.RxF equ %00001000 Rx register full
|
|
23 Stat.Ovn equ %00000100 overrun error
|
|
24 Stat.Frm equ %00000010 framing error
|
|
25 Stat.Par equ %00000001 parity error
|
|
26
|
|
27 Stat.Err equ Stat.Ovn!Stat.Frm!Stat.Par status error bits
|
|
28 Stat.Flp equ $00 all status bits active when set
|
|
29 Stat.Msk equ Stat.RxF!Stat.Ovn!Stat.Frm!Stat.Par active IRQ bits
|
|
30
|
|
31 * Command bit definitions
|
|
32 Cmd.Par equ %11100000 see parity table below
|
|
33 Cmd.Echo equ %00010000 Rx echo (0=disabled, 1=enabled)
|
|
34 Cmd.TxIC equ %00001100 see Tx IRQ control table below
|
|
35 Cmd.RxIE equ %00000010 Rx IRQ enable (0=enabled, 1=disabled)
|
|
36 Cmd.DTR equ %00000001 DTR output (0=disabled, 1=enabled)
|
|
37
|
|
38 * parity table
|
|
39 Par.None equ %00000000
|
|
40 Par.Odd equ %00100000
|
|
41 Par.Even equ %01100000
|
|
42 Par.Mark equ %10100000
|
|
43 Par.Spac equ %11100000
|
|
44
|
|
45 * Tx IRQ control table
|
|
46 TIC.Off equ %00000000 RTS disabled, Tx IRQ disabled
|
|
47 TIC.On equ %00000100 RTS enabled, Tx IRQ enabled
|
|
48 TIC.RTS equ %00001000 RTS enabled, Tx IRQ disabled
|
|
49 TIC.Brk equ %00001100 RTS enabled, Tx line break
|
|
50
|
|
51 * Control bit definitions
|
|
52 Ctl.Stop equ %10000000 stop bits (clear=1, set=2)
|
|
53 Ctl.DBit equ %01100000 see data bit table below
|
|
54 Ctl.RClk equ %00010000 Rx clock source (0=external, 1=internal)
|
|
55 Ctl.Baud equ %00001111 see baud rate table below
|
|
56
|
|
57 * data bit table
|
|
58 DB.5 equ %01100000 five data bits per character
|
|
59 DB.6 equ %01000000 six data bits per character
|
|
60 DB.7 equ %00100000 seven data bits per character
|
|
61 DB.8 equ %00000000 eight data bits per character
|
|
62
|
|
63 * baud rate table
|
|
64 org 0
|
|
65 BR.ExClk rmb 1 16x external clock
|
|
66 BR.00050 rmb 1 50 baud
|
|
67 BR.00075 rmb 1 75 baud
|
|
68 BR.00110 rmb 1 109.92 baud
|
|
69 BR.00135 rmb 1 134.58 baud
|
|
70 BR.00150 rmb 1 150 baud
|
|
71 BR.00300 rmb 1 300 baud
|
|
72 BR.00600 rmb 1 600 baud
|
|
73 BR.01200 rmb 1 1200 baud
|
|
74 BR.01800 rmb 1 1800 baud
|
|
75 BR.02400 rmb 1 2400 baud
|
|
76 BR.03600 rmb 1 3600 baud
|
|
77 BR.04800 rmb 1 4800 baud
|
|
78 BR.07200 rmb 1 7200 baud
|
|
79 BR.09600 rmb 1 9600 baud
|
|
80 BR.19200 rmb 1 19200 baud
|
|
81
|
|
82 * Buffer (0,u only) bit definitions
|
|
83 B.Butn1 equ %00100000 button #1 (left, 1 = pressed)
|
|
84 B.Butn2 equ %00010000 button #2 (right, 1 = pressed)
|
|
85
|
|
86 B.Butns equ B.Butn1!B.Butn2 mask for all buttons
|
|
87
|
|
88
|
|
89 * mouse static data area definitions
|
|
90 org 0
|
|
91 Buffer rmb 2 Rx buffer for mouse data (must start at 0,u)
|
|
92 Counter rmb 1 Rx data counter
|
|
93 CrntXPos rmb 2 mouse X position (0 to HResMaxX)
|
|
94 CrntYPos rmb 2 mouse Y position (0 to HResMaxY*2)
|
|
95
|