2329
|
1 ********************************************************************
|
|
2 * SCFDefs - Sequential Character File Manager Definitions
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * SCF stands for 'Sequential Character Filemanager' and is a package of subroutines
|
|
7 * that define the logical structure of a serial device.
|
|
8 *
|
|
9 * The data structures in this file give SCF its 'personality' and are used
|
|
10 * by SCF itself, as well as applications that will require disk I/O.
|
|
11 *
|
|
12 * Edt/Rev YYYY/MM/DD Modified by
|
|
13 * Comment
|
|
14 * ------------------------------------------------------------------
|
|
15 * 1984/01/11 YO
|
|
16 * Added V.KANJI, V.KBUF, V.MODADR for new kanji input process.
|
|
17 *
|
|
18 * 1985/04/20 Mark G. Hawkins
|
|
19 * Added V.PDLHd Path Descriptor List Head.
|
|
20 *
|
|
21 * 1985/04/21 Mark G. Hawkins
|
|
22 * Added PD.PLP and PD.PST for modem handling.
|
|
23 *
|
|
24 * 1987/06/23 Kevin K. Darling
|
|
25 * Updated with Dev Desc info.
|
|
26 *
|
|
27 * 1998/10/03 Boisy G. Pitre
|
|
28 * Consolidated L1/L2 scfdefs.
|
|
29 *
|
|
30 * 2003/01/21 Boisy G. Pitre
|
|
31 * Added symbolics for enhanced SCF line editing.
|
|
32 *
|
|
33 * 2003/06/02 Boisy G. Pitre
|
|
34 * Updated comments for clarity.
|
|
35 *
|
|
36 * 2004/05/17 Boisy G. Pitre
|
|
37 * Added higher baud rates.
|
|
38
|
|
39 NAM SCFDefs
|
|
40 TTL Sequential File Manager Definitions
|
|
41
|
|
42 PAG
|
|
43 *******************************
|
|
44 * SCF Device Descriptor Offsets
|
|
45 *
|
|
46 * These definitions are for SCF device descriptors.
|
|
47
|
|
48 csect
|
|
49 RMB M$DTyp
|
|
50 IT.DVC: RMB 1 Device type (DT.SCF)
|
|
51 IT.UPC: RMB 1 Uppercase flag
|
|
52 IT.BSO: RMB 1 Backspace behavior
|
|
53 IT.DLO: RMB 1 Delete behavior
|
|
54 IT.EKO: RMB 1 Echo flag
|
|
55 IT.ALF: RMB 1 Auto linefeed flag
|
|
56 IT.NUL: RMB 1 End-of-line null count
|
|
57 IT.PAU: RMB 1 Page pause flag
|
|
58 IT.PAG: RMB 1 Number of lines per page
|
|
59 IT.BSP: RMB 1 Backspace character
|
|
60 IT.DEL: RMB 1 Delete-line character
|
|
61 IT.EOR: RMB 1 End-of-record character
|
|
62 IT.EOF: RMB 1 End-of-file character
|
|
63 IT.RPR: RMB 1 Reprint-line character
|
|
64 IT.DUP: RMB 1 Duplicate-last-line character
|
|
65 IT.PSC: RMB 1 Pause character
|
|
66 IT.INT: RMB 1 Interrupt character
|
|
67 IT.QUT: RMB 1 Quit character
|
|
68 IT.BSE: RMB 1 Backspace echo character
|
|
69 IT.OVF: RMB 1 Bell character
|
|
70 IT.PAR: RMB 1 Parity
|
|
71 IT.BAU: RMB 1 Baud rate
|
|
72 IT.D2P: RMB 2 Attached device name string offset
|
|
73 IT.XON: RMB 1 X-ON character
|
|
74 IT.XOF: RMB 1 X-OFF character
|
|
75 IT.COL: RMB 1 Number of columns for display
|
|
76 IT.ROW: RMB 1 Number of rows for display
|
|
77 IT.XTYP: RMB 1 Extended type (added by BRI)
|
|
78
|
|
79 * IFGT Level-1
|
|
80 * Window Descriptor Additions
|
|
81 * For CoCo window, where IT.PAR = $80
|
|
82 RMB IT.ROW+1
|
|
83 IT.WND: RMB 1 Window number (matches device name) ($2E)
|
|
84 IT.VAL: RMB 1 Use defaults on Init (0=no, 1=yes)
|
|
85 IT.STY: RMB 1 Screen type default
|
|
86 IT.CPX: RMB 1 Column start default
|
|
87 IT.CPY: RMB 1 Row start default
|
|
88 IT.FGC: RMB 1 Foreground color default
|
|
89 IT.BGC: RMB 1 Background color default
|
|
90 IT.BDC: RMB 1 Border color default
|
|
91 * ENDC
|
|
92 endsect
|
|
93
|
|
94 PAG
|
|
95 ********************
|
|
96 * SCF Static Storage
|
|
97 *
|
|
98 * SCF devices must reserve this space for SCF
|
|
99 *
|
|
100 csect
|
|
101 RMB V.USER
|
|
102 V.TYPE: RMB 1 Device type or parity
|
|
103 V.LINE: RMB 1 Lines left until end of page
|
|
104 V.PAUS: RMB 1 Immediate Pause request
|
|
105 V.DEV2: RMB 2 Attached device's static
|
|
106 V.INTR: RMB 1 Interrupt char
|
|
107 V.QUIT: RMB 1 Quit char
|
|
108 V.PCHR: RMB 1 Pause char
|
|
109 V.ERR: RMB 1 Accumulated errors
|
|
110 V.XON: RMB 1 X-On char
|
|
111 V.XOFF: RMB 1 X-Off char
|
|
112 V.KANJI: RMB 1 Kanji mode flag
|
|
113 V.KBUF: RMB 2 Kana - Kanji convert routine work address
|
|
114 V.MODADR: RMB 2 Kana - Kanji convert module address
|
|
115 V.PDLHd: RMB 2 Open path descriptor list head pointer
|
|
116 V.RSV: RMB 5 Reserve bytes for future expansion
|
|
117 V.SCF: EQU * Total SCF manager static overhead
|
|
118 endsect
|
|
119
|
|
120 PAG
|
|
121 ***********************
|
|
122 * Character Definitions
|
|
123 *
|
|
124 C$NULL: SET 0 Null char
|
|
125 C$RPET: SET $01 (CTRL-A - SOH) Repeat last input line
|
|
126 C$INTR: SET $03 (CTRL-C - ETX) Keyboard interrupt
|
|
127 C$RPRT: SET $04 (CTRL-D - EOT) Reprint current input line
|
|
128 C$QUIT: SET $05 (CTRL-E - ENQ) Keyboard Abort
|
|
129 C$BELL: SET $07 (CTRL-G - BEL) Line overflow warning
|
|
130 C$BSP: SET $08 (CTRL-H - BS ) Back space
|
|
131 C$RARR: SET $09 Right Arrow
|
|
132 C$EL: SET $05 Erase Line
|
|
133 C$LF: SET $0A Line feed
|
|
134 C$HOME: SET $0B Home position Code
|
|
135 C$Clsgr: SET $15 Graphic screen clear (use FM-11)
|
|
136 C$Clsall: SET $16 Graphic & character clear (use FM-11)
|
|
137 C$CR: SET $0D Carriage return
|
|
138 C$FORM: SET $0C (CTRL-L - FF ) Form Feed ... screen clear
|
|
139 C$SI: SET $0F Shift IN Code
|
|
140 C$SO: SET $0E Shift OUT Code
|
|
141 C$DELETE: SET $10 Delete char (for SCF enhanced line editing)
|
|
142 C$XON: SET $11 (CTRL-Q - DC1) Transmit Enable
|
|
143 C$INSERT: SET C$XON Insert char (for SCF enhanced line editing)
|
|
144 C$XOFF: SET $13 (CTRL-S - DC3) Transmit Disable
|
|
145 C$PLINE: SET C$XOFF Print remaining line (for SCF enhanced line editing)
|
|
146 C$PAUS: SET $17 (CTRL-W - ETB) Pause character
|
|
147 C$DEL: SET $18 (CTRL-X - CAN) Delete line
|
|
148 C$SHRARR: SET $19 Shift Right-Arrow
|
|
149 C$EOF: SET $1B (CTRL-[ - ESC) END of file
|
|
150 C$RGT: SET $1C Cursor right
|
|
151 C$LFT: SET $1D Cursor left
|
|
152 C$UP: SET $1E Cursor up
|
|
153 C$DWN: SET $1F Cursor down
|
|
154 C$SPAC: SET $20 Space
|
|
155 C$PERD: SET '.
|
|
156 C$COMA: SET ',
|
|
157
|
|
158
|
|
159 PAG
|
|
160 *********************************************
|
|
161 * Sequential Character Path Descriptor Format
|
|
162 *
|
|
163 * A path descriptor is created for every new path that is open
|
|
164 * via the I$Open system call (processed by IOMan). Process
|
|
165 * descriptors track state information of a path.
|
|
166 *
|
|
167 csect
|
|
168 RMB PD.FST
|
|
169 PD.DV2: RMB 2 Output device table pointer
|
|
170 PD.RAW: RMB 1 Read/Write or ReadLn/WritLn mode
|
|
171 PD.MAX: RMB 2 ReadLn high byte count
|
|
172 PD.MIN: RMB 1 Devices are "mine" if clear
|
|
173 PD.STS: RMB 2 Status routine module addr
|
|
174 PD.STM: RMB 2 Reserved for status routine
|
|
175 endsect
|
|
176
|
|
177 csect
|
|
178 RMB PD.OPT
|
|
179 RMB 1 Device type
|
|
180 PD.UPC: RMB 1 Case (0=both, 1=upper only)
|
|
181 PD.BSO: RMB 1 Backspace (0=BSE, 1=BSE,SP,BSE)
|
|
182 PD.DLO: RMB 1 Delete (0=BSE over line, 1=CRLF)
|
|
183 PD.EKO: RMB 1 Echo (0=No Echo)
|
|
184 PD.ALF: RMB 1 Auto linefeed (0=No auto LF)
|
|
185 PD.NUL: RMB 1 End of Line null count
|
|
186 PD.PAU: RMB 1 Page pause (0=No end of page pause)
|
|
187 PD.PAG: RMB 1 Lines per page
|
|
188 PD.BSP: RMB 1 Backspace character
|
|
189 PD.DEL: RMB 1 Delete Line character
|
|
190 PD.EOR: RMB 1 End of Record character (read only)
|
|
191 PD.EOF: RMB 1 End of File character
|
|
192 PD.RPR: RMB 1 Repront Line character
|
|
193 PD.DUP: RMB 1 Dup Last Line character
|
|
194 PD.PSC: RMB 1 Pause character
|
|
195 PD.INT: RMB 1 Keyboard interrupt character (CTRL-C)
|
|
196 PD.QUT: RMB 1 Keyboard quit character (CTRL-E)
|
|
197 PD.BSE: RMB 1 Backspace echo character
|
|
198 PD.OVF: RMB 1 Line overflow character (BELL)
|
|
199 PD.PAR: RMB 1 Parity code
|
|
200 PD.BAU: RMB 1 ACIA baud rate (Color Computer)
|
|
201 PD.D2P: RMB 2 Offset of DEV2 name
|
|
202 PD.XON: RMB 1 ACIA X-ON character
|
|
203 PD.XOFF: RMB 1 ACIA X-OFF character
|
|
204 OPTCNT EQU *-PD.OPT Total user settable options
|
|
205 PD.ERR: RMB 1 Most recent I/O error status
|
|
206 PD.TBL: RMB 2 Device table addr (copy)
|
|
207 PD.PLP: RMB 2 Path Descriptor List Pointer
|
|
208 PD.PST: RMB 1 Current path status
|
|
209 endsect
|
|
210
|
|
211 * PD.PST values Path Descriptor Status byte
|
|
212 *
|
|
213 PST.DCD: EQU %00000001 Set if DCD is lost on Serial port
|
|
214
|
|
215
|
|
216 * PD.PAR definitions
|
|
217 *
|
|
218 * Parity
|
|
219 PARNONE: EQU %00000000
|
|
220 PARODD: EQU %00100000
|
|
221 PAREVEN: EQU %01100000
|
|
222 PARMARK: EQU %10100000
|
|
223 PARSPACE: EQU %11100000
|
|
224
|
|
225 * PD.BAU definitions
|
|
226 *
|
|
227 * Baud rate
|
|
228 B110: EQU %00000000
|
|
229 B300: EQU %00000001
|
|
230 B600: EQU %00000010
|
|
231 B1200: EQU %00000011
|
|
232 B2400: EQU %00000100
|
|
233 B4800: EQU %00000101
|
|
234 B9600: EQU %00000110
|
|
235 B19200: EQU %00000111
|
|
236 B38400: EQU %00001000
|
|
237 B57600: EQU %00001001
|
|
238 B115200: EQU %00001010
|
|
239 * Word size
|
|
240 WORD8: EQU %00000000
|
|
241 WORD7: EQU %00100000
|
|
242 * Stop bits
|
|
243 STOP1: EQU %00000000
|
|
244 STOP2: EQU %00010000
|