]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/DEV/PRINTER/CPSPEQU.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / DEV / PRINTER / CPSPEQU.INC
1
2 PAGE ,132
3
4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 ;;
6 ;; FILENAME: CPS Printer Device Driver EQUAL Include
7 ;; MODULE NAME: CPSEQU
8 ;; TYPE: Include File
9 ;;
10 ;; LINK PROCEDURE: See CPSPx.ASM
11 ;;
12 ;; INCLUDE FILES:
13 ;;
14 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15 ;;
16 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
17 ;;
18 ;; Request Header (Common portion)
19 ;;
20 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
21 ;;
22 RH EQU ES:[DI] ;; addressability to Request Header
23 ;;
24 RHC STRUC ;; fields common to all request types
25 RHC_LEN DB ? ;; length of Request Header
26 DB ? ;; unit code (subunit)
27 RHC_CMD DB ? ;; command code
28 RHC_STA DW ? ;; status
29 DQ ? ;; reserved for DOS
30 RHC ENDS ;; end of common portion
31 ;;
32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
33 ;;
34 ;; Command in the Request Header
35 ;; (see CMD_CODES table)
36 ;;
37 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
38 ;;
39 CMD_INI EQU 0 ;; init command
40 CMD_WRT EQU 8 ;; write command
41 CMD_GIO EQU 19 ;; generic IOCTL command
42 ;; (see major/minor GIO functions)
43 ;;
44 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
45 ;;
46 ;; status values for RHC_STA
47 ;;
48 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
49 ;;
50 STAT_DONE EQU 01H ;; function complete - high order byte
51 STAT_CMDERR EQU 8003H ;; invalid command code error
52 STAT_ERROR EQU 8000H ;; error returned by normal driver
53 ;;
54 ;; see Generic IOCTL Request Header section
55 ;; for more errorneous status. ;;
56 ;;
57 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
58 ;;
59 ;; Request Header for INIT
60 ;;
61 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
62 ;;
63 ;;
64 RH0 STRUC ;;
65 DB (TYPE RHC) DUP (?) ;; common portion
66 ;;
67 DB ? ;; not used for CHAR devices
68 RH0_ENDO DW ? ;; offset of ending address
69 RH0_ENDS DW ? ;; segment of ending address
70 RH0_BPBA DD ? ;; pointer to BPBA
71 db ?
72 RH0_CONFIG_ERRMSG dw 0 ;DCR D493 "Error in CONFIG.SYS..." msg flag.
73 RH0 ENDS ;;
74 ;;
75 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
76 ;;
77 ;; Request Header for IOCTL
78 ;;
79 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
80 ;;
81 RH3 STRUC ;;
82 DB (TYPE RHC) DUP (?) ;; common portion
83 ;;
84 ;;
85 DB ? ;; media descriptor
86 RH3_DTAO DW ? ;; offset of transfer address
87 RH3_DTAS DW ? ;; segment of transfer address
88 RH3_CNT DW ? ;; byte count
89 RH3 ENDS ;;
90 ;;
91 ;;
92 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
93 ;;
94 ;; Request Header for GENERIC IOCTL
95 ;;
96 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
97 ;;
98 GIH STRUC ;;
99 DB (TYPE RHC) DUP (?) ;; common portion
100 ;;
101 ;;
102 GIH_MAF DB ? ;; major function
103 GIH_MIF DB ? ;; minor function
104 GIH_SI DW ? ;; content of SI
105 GIH_DI DW ? ;; content of DI
106 GIH_GBA DD ? ;; Address of Generic Buffer
107 GIH ENDS ;;
108 ;;
109 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
110 ;;
111 ;; GIO major/minor functions
112 ;; (see GIO_CODES table)
113 ;;
114 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
115 MAF_CON EQU 03 ;; major function for CON device
116 MAF_PTR EQU 05 ;; major function for LPTX device
117 ;;
118 MIF_DST EQU 4CH ;; minor function : designate start
119 MIF_DEN EQU 4DH ;; designate end
120 MIF_IVK EQU 4AH ;; invoke
121 MIF_QIV EQU 6AH ;; query-invoked
122 MIF_QLS EQU 6BH ;; query-list
123 ;;
124 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
125 ;; Designate Start (MIF_DST)Flags
126 ;; see GBIS structure
127 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
128 ;;
129 DSF_FIFOCP EQU 08000H ;; Single code page FIFO command
130 DSF_CARTCP EQU 00001H ;; Code page for Cartridge/semi-
131 ;; hardware RAM
132 ;;
133 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
134 ;; Generic IOCTL errorneous status
135 ;; upon return
136 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
137 ;;
138 STAT_DELETE EQU 08000H ;; previous degignate deleted (DST)
139 ;; STAT_DELETE : only for FIFO
140 STAT_NOFIND EQU 08008H ;; codepage,device not found (DST)
141 STAT_DEVERR EQU 0800AH ;; Device error (DST,IVK,QIV,QLS,WRT)
142 STAT_BADATA EQU 0800CH ;; bad font file (DST)
143 STAT_NOBUFF EQU 0800CH ;; no font buffer for (REFRESH)
144 STAT_BADDEN EQU 0800CH ;; no DST (DEN)
145 STAT_bffDEN EQU 08000H ;; bad font file (DEN)
146 STAT_TOMANY EQU 0800aH ;; too manay codepages (DST)
147 STAT_DUPLCP EQU 0800aH ;; too manay codepages (DST)
148 STAT_NOCPIV EQU 08007H ;; no codepage designated/invoked
149 STAT_NOCP EQU 08007H ;; no codepage designated/invoked
150 ;; (IVK, QIV, QLS)
151 ;;
152 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
153 ;;
154 ;; Generic IOCTL Buffer DS:[SI]
155 ;;
156 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
157 GIOB EQU DS:[SI] ;;
158 ;;
159 GB1S STRUC ;;
160 GB1_FLAG DW ? ;; flag
161 GB1_LEN DW ? ;; length
162 GB1_NUM DW ? ;; length
163 GB1_CP DW ? ;;
164 GB1S ENDS ;;
165 ;;
166 ;;
167 GB2S STRUC ;;
168 GB2_LEN DW ? ;; length
169 GB2_CP DW ? ;;
170 GB2S ENDS ;;
171 ;;
172 ;;
173 GB3S STRUC ;;
174 GB3_LEN DW ? ;; length
175 GB3_GBL DW ? ;; hardware code page number
176 GB3S ENDS ;;
177 ;;
178 GB3_MINILEN EQU 4 ;; minimium length of GB3
179 ;;
180 GBLS STRUC ;;
181 GBL_LEN DW ? ;; length
182 GBL_CP DW ? ;; hardware code page number
183 GBLS ENDS ;;
184 ;;
185 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
186 ;;
187 ;; DEVICE Header DS:[SI] -- to locate the next LPTn header
188 ;; NEXT device header ES:[DI]
189 ;;
190 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
191 HP EQU DS:[SI] ;;
192 NHD EQU ES:[DI] ;;
193 ;;
194 NAME_LEN EQU 8 ;;
195 ;;
196 DHS STRUC ;;
197 DH_NEXTO DW ? ;; offset of pointer to next header
198 DH_NEXTS DW ? ;; segment of pointer to next header
199 DW ? ;; attribute
200 DH_STRAO DW ? ;; offset to strategy routine
201 DH_INTRO DW ? ;; offset to interrupt routine
202 DH_NAME DB NAME_LEN DUP(0) ;; device name in this header
203 DHS ENDS ;; end of common portion
204 ;;
205 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
206 ;;
207 ;; FONT_PARSER data
208 ;;
209 ;; -- Interface table : FTABLE
210 ;;
211 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
212 ;;
213 FPKT EQU DS:[SI] ;;
214 ;;
215 FTP EQU ES:[BX] ;;
216 ;; ( I=Input O=Output )
217 FTBLK STRUC ;;
218 FTB_LENGTH DW TYPE FTBLK ;; (NOT TO BE CHANGED)
219 FTB_STATUS DW 0FFFFH ;; (O) parsing compelte
220 FTB_TYPE DW 0 ;; (O)
221 FTB_TID DB 8 DUP(?) ;; (I)
222 FTB_CP DW 0FFFFH ;; (I)
223 FTB_MOD DW 0 ;; (O)
224 FTB_FONTS DW 0 ;; (O)
225 FTB_ROWS DB 0 ;; (O) DISPLAY TYPE DEVICE
226 FTB_COLS DB 0 ;; (O) DISPLAY TYPE DEVICE
227 FTB_X DB 0 ;; (O) DISPLAY TYPE DEVICE
228 FTB_Y DB 0 ;; (O) DISPLAY TYPE DEVICE
229 FTB_COUNT DW 0 ;; (O) DISPLAY TYPE DEVICE
230 FTB_SELECT DW 0 ;; (O) PRINTER TYPE DEVICE
231 FTB_SELLEN DW 0 ;; (O) PRINTER TYPE DEVICE
232 FTB_DLEFT DW 0 ;; (O) =0, none to come
233 FTB_DLEN DW 0 ;; (O) =0, not in this packet
234 FTB_DALO DW 0 ;; (O) in the DOS "packet" buffer
235 FTB_DAHI DW 0 ;; (O) " " " " "
236 TARGET_LO DW 0 ;; internal registers
237 TARGET_HI DW 0 ;; internal registers
238 FTBLK ENDS ;;
239 ;;
240 TYPE_DISPLAY EQU 01H ;; display type device
241 TYPE_PRINTER EQU 02H ;; printer type device
242 ;;
243 FBUFS STRUC ;;
244 FLAG DW 0 ;;
245 BUFFER_LEN DW 0 ;;
246 BUFFER_ADDR DD 0 ;;
247 NUM_FTBLK DW 0 ;; no. of FTBKL entries
248 FBUFS ENDS ;;
249 ;;
250 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
251 ;; FLAGS :
252 FLAG_RESTART EQU 000001H ;; bit 1 = restart the parsing
253 ;;
254 ;;
255 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
256 ;; STATUS : (in FTB_STATUS)
257 ;;
258 FSTAT_COMPLETE EQU 0FFFFH ;; parsing compeleted. (good status)
259 FSTAT_FONT EQU 0FFFEH ;; font data is defined and returned
260 FSTAT_FOUND EQU 0FFFDH ;; informations including font-length
261 FSTAT_MATCH EQU 0FFFCH ;; font header matches FTBLK
262 FSTAT_SEARCH EQU 0FFFBH ;; seraching for header & font
263 FSTAT_BOTTOM EQU 0FFF0H ;; below this are the DOS_STATUS.
264 ;;
265 ;; the FSTAT with value lower than 0FFF0H is to be returned to the DOS
266 ;;
267 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
268 ;
269 ; DEVICE Command Parser Table ES:[DI]
270 ;
271 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
272 ;;
273 table_len equ 290 ;;
274 ;;
275 PSE EQU ES:[DI] ;;
276 ;;
277 PAR_OT STRUC ;;
278 PAR_DEV_NUM DW ? ;;
279 PAR_OFF DW ? ;;
280 PAR_OT ENDS ;;
281 ;;
282 PAR_DEVOT STRUC ;; OFFSET to the parameters of a device
283 PAR_onum DW ? ;; number of offsets in the table
284 PAR_DNMO DW ? ;; device-name table offset
285 PAR_DIDO DW ? ;; device-id table offset
286 PAR_HWCPO DW ? ;; hwcp table offset
287 PAR_DESGO DW ? ;; designate table offset
288 PAR_PARMO DW ? ;; parameter table offset
289 PAR_DEVOT ENDS ;;
290 ;;
291 PAR_DNMT STRUC ;; DEVICE NAME table
292 PAR_DNML DW ? ;; length of device name
293 PAR_DNM DB ? ;; device name
294 PAR_DNMT ENDS ;;
295 ;;
296 PAR_DIDT STRUC ;; DEVICE ID table
297 PAR_DIDL DW ? ;; device ID length
298 PAR_DID DB ? ;; device ID
299 PAR_DIDT ENDS ;;
300 ;;
301 PAR_HWCPT STRUC ;; hwcp table
302 PAR_HWCPL DW ? ;; hwcp entry number
303 PAR_HWCP DW ? ;; hwcp
304 PAR_HWCPT ENDS ;;
305 ;;
306 ;;
307 PAR_DESGT STRUC ;; DESIGNATE table
308 PAR_DESGL DW ? ;; entry number
309 PAR_DESG DW ? ;; designate
310 PAR_FONT DW ? ;; fonts
311 PAR_DESGT ENDS ;;
312 ;;
313 ;;
314 PAR_PARMT STRUC ;; parameter table
315 PAR_PARML DW ? ;; length
316 PAR_PARM DW ? ;;
317 PAR_PARMT ENDS ;;
318 ;;
319 ;;
320 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
321 ;
322 ; LPTn printer data structure CS:[BX]
323 ;
324 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
325 ;;
326 BUF EQU CS:[BX] ;;
327 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
328 ;; STATES
329 ;;
330 NORMAL EQU 0 ;; normal state
331 CPSW EQU 1 ;;
332 DESG_WR EQU 2 ;; designate write
333 DESG_END EQU 3 ;; designate end
334 LOCKED EQU 4 ;; WGR locked
335 ;;
336 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
337 GOOD EQU 0 ;; STATUS :
338 REPLX EQU 8000H ;; codepage replaced in DST
339 FAIL EQU 4000H ;; fail in designate
340 LOADED EQU 2000H ;; the font has just been loaded to
341 REFRESH EQU 0800H ;; there was a refresh via DST
342 ;;
343 ;; also
344 ;; -- DSF_CARTCP
345 ;;
346 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
347 ;;
348 ;; for BFLAG :
349 BF_PRN EQU 0 ;; 0 = PRN initialized (interrupt)
350 BF_LPT1 EQU 1 ;; 1 = LPT1 initialized (interrupt)
351 BF_LPT2 EQU 2 ;; 2 = LPT2 initialized (interrupt)
352 BF_LPT3 EQU 3 ;; 3 = LPT3 initialized (interrupt)
353 BF_MEM_DONE EQU 08000H ;; memory done for this device
354 ;;
355 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
356 ;; BUFFER DATA structure
357 BUF_DATA STRUC ;;.................................
358 BFLAG DW -1 ;; buf flag for initialisation
359 ;; -1 = buf not yet initialised
360 ;; (see BF_PRN, BF_LPT's)
361 ;;
362 DEV_HDRO DW -1 ;; device driver n header offset
363 DEV_HDRS DW -1 ;;
364 LPT_STRAO DW -1 ;; dos lptn strategy offset
365 LPT_STRAS DW -1 ;;
366 LPT_INTRO DW -1 ;; dos lptn strategy offset
367 LPT_INTRS DW -1 ;;
368 RH_PTRO DW -1 ;; request header offset
369 RH_PTRS DW -1 ;; segment ....................(unique)
370 ;;
371 ;; (following is replicated for LPT1 )
372 ;;
373 RNORMO DW -1 ;; request-normal driver header offset
374 prn_bufo dw -1 ;; offset to prn buffer
375 did_prn dw 0 ;; where PRN is in the DID order
376 PCLASS DW 0 ;;
377 STATE DW NORMAL ;;
378 STATUS DW GOOD ;;
379 ;; (the followings should be used
380 ;; IFF BUT.STATE <> NORMAL : )
381 ;;
382 PDESCO DW -1 ;; offset to printer description table.
383 ;;
384 ;;===== hwcp and designated slots ====
385 HSLMX DW 0 ;; HSLMX is the size of HARDslot (at
386 ;; HARDSO) and the buffer(at HRBUFO)
387 ;;
388 HARDMX DW 0 ;; no. of HWCP+cart slots supported
389 ;; (less than or equal to .HSLOTS)
390 HARDSO DW -1 ;; offset to hardware slots n
391 ;;
392 HCARMX DW 0 ;; no. of cart slots supported
393 HRBUFO DW -1 ;; offset to cart slots' buffer
394 ;;
395 ;;===== physical and designated RAM ===
396 ;;
397 RSLMX DW 0 ;; RSLMX is the size of RAMslot (at
398 ;; RAMSO) and the RAM buffer(at RMBUFO)
399 ;;
400 ;;
401 RAMMX DW 0 ;; no. of physical RAM slots(max.=1)
402 RAMSO DW -1 ;; offset to RAM slots(incl. designated
403 ;;
404 RBUFMX DW 0 ;; no. of designated RAM slots supported
405 RMBUFO DW -1 ;; offset to RAM slots's buffer
406 ;;
407 FTSZPA DW -1 ;; font buffer in paragraph = FONTSZ
408 FTSIZE DW 0 ;; font buffer size = FTSZPA x 16
409 FTSTART DW -1 ;; start of font buffer
410 FTSLOTO DW -1 ;; segment address of font buffer
411 ;; -- of the one to be designated to
412 FTDLO DW -1 ;; offset to where the FTSTART:OFFSET
413 ;; (next destination = total length
414 ;; so far)
415 FSELEN DW 0 ;; length of selection control copied
416 ;; to the selection buffer
417 ;; (USED BY SELECT TYPE = 1 ONLY)
418 ;; -- initialized to 0, if selection
419 ;; is not 0, copied the selection
420 ;; from the font file until the
421 ;; length is reached. After copying
422 ;; to selection buffer, reset to 0
423 FSELMAX DW 0 ;; max. room reserved for selection
424 ;; controls.
425 ;;
426 PAR_EXTRACTO DB (TYPE PAR_DEVOT) DUP (-1);; Offset to parameter extracts
427 SAVED_CP DW -1 ;; WGR saved code page during lock ;AN000;
428 BUFEND DW 0 ;; END OF BUFFER, for LPT1 copy.
429 BUF_DATA ENDS ;;
430 ;;
431 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
432 ;
433 ; Printer Description Table
434 ;
435 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
436 ;;
437 DEVN_LEN EQU 8 ;; device name (type-id) length
438 ;;
439 PDSH STRUC ;;
440 PD_LEN DW 30 ;; length of each entry
441 TYPEID DB ' ' ;; device name (id), length DEVN_LEN
442 VMINOR DB 0 ;; version : .00
443 VMAJOR DB 1 ;; version : 1.
444 CLASS DW ? ;; reserved
445 FONTSZ DW ? ;; font buffer size in paragraph (max)
446 HSLOTS DW ? ;; hard-slots number (max # of Hslots)
447 HWCPMIN DW ? ;; what left by min_hwcp can be cart.
448 RSLOTS DW ? ;; ram-slots number (max # of Rslots)
449 PDSH ENDS ;; the SELH_O, and SELR_O are defined
450 ;; in the next two entries in PDS
451 ;;
452 ;;
453 PDS STRUC ;;
454 DB (TYPE PDSH) DUP (?) ;; common portion
455 SELH_O DW ? ;; offset to select controls on Hslots
456 SELR_O DW ? ;; offset to select controls on Rslots
457 SELB_O DW ? ;; offset to buffered select controls
458 PDS ENDS ;;
459 ;;
460 ;;
461 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
462 ;
463 ; HARD / RAM slots table structure/constants
464 ;
465 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
466 ;; NOTE : must be only FOUR bytes for
467 ;; codepage positioning
468 ;; calculation as compared
469 ;; with each entry in FTDL_OFF
470 ;;
471 SLTS STRUC ;; slots-table structure
472 SLT_CP DW -1 ;; code page : no code page
473 SLT_AT DW 0 ;; attribute : empty
474 SLTS ENDS ;;
475 ;;
476 ;; ATTRIBUTES :
477 AT_RAM1 EQU 00001H ;; in the 1st physical RAM slot
478 AT_RAM2 EQU 00002H ;; in the 2nd physical RAM slot
479 AT_RAM3 EQU 00004H ;; in the 3rd physical RAM slot
480 AT_RAM4 EQU 00008H ;; in the 4th physical RAM slot
481 AT_RAMS EQU 0000FH ;;(note the current logic supports
482 ;; only ONE physical RAM slot)
483 ;;
484 AT_OCC EQU 01000H ;; slot occupied
485 AT_ACT EQU 02000H ;; slot active
486 AT_HWCP EQU 04000H ;; slot is hwcp
487 AT_OLD EQU 08000H ;; codepage in buffer is not newly
488 ;; designated.
489 AT_LOAD EQU 00100H ;; slot with font to be loaded
490 AT_FONT EQU 00200H ;; font in this slot has been loaded
491 AT_NO_LOAD EQU NOT AT_LOAD ;; to reset the bit
492 AT_NO_FONT EQU NOT AT_FONT ;; to reset the bit
493 AT_SELECT EQU 00400H ;; for SELECT TYPE = 1
494 ;; -- mark the FTBLK where control is
495 ;; copied from.
496 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
497 ;; constants on SLOTS
498 HARDSL_MAX EQU 12 ;;
499 ;;
500 RAMSL_MAX EQU 12 ;;
501 ;;
502 CTL_MAX EQU 32 ;; max.length of each selection control
503 CTL5202_OFFS EQU 8 ;; offset to CTL5202_H for codepage
504 ;;
505 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
506 ;
507 ; General Constants
508 ;
509 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
510 ;;
511 STACK_SIZE EQU 28H ;; in paragraph, total 200H bytes
512 ;;
513 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
514 ;
515 ;
516 ; STRUCS AND EQUATES
517 ;
518 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
519 ;;
520 PARSE_NAME STRUC ;; ;AN000;
521 N_LENGTH DW ? ;; ;AN000;
522 FNAME DB " " ;; ;AN000;
523 PARSE_NAME ENDS ;; ;AN000;
524 ;;
525 PARSE_OFFSETS STRUC ;; ;AN000;
526 DW ? ;; ;AN000;
527 DN_OFFSET DW ? ;; ;AN000;
528 DI_OFFSET DW ? ;; ;AN000;
529 DCP_OFFSET DW ? ;; ;AN000;
530 DD_OFFSET DW ? ;; ;AN000;
531 DW ? ;; ;AN000;
532 PARSE_OFFSETS ENDS ;; ;AN000;
533 ;;
534 PARSE_HWCP STRUC ;; ;AN000;
535 NUM_HWCPS DW ? ;; ;AN000;
536 HWCP_1 DW ? ;; ;AN000;
537 HWCP_2 DW ? ;; ;AN000;
538 HWCP_3 DW ? ;; ;AN000;
539 HWCP_4 DW ? ;; ;AN000;
540 HWCP_5 DW ? ;; ;AN000;
541 HWCP_6 DW ? ;; ;AN000;
542 HWCP_7 DW ? ;; ;AN000;
543 HWCP_8 DW ? ;; ;AN000;
544 HWCP_9 DW ? ;; ;AN000;
545 HWCP_10 DW ? ;; ;AN000;
546 PARSE_HWCP ENDS ;; ;AN000;
547 ;;
548 PARSE_DESG STRUC ;; ;AN000;
549 NUM_VALUES DW ? ;; ;AN000;
550 NUM_DESGS DW ? ;; ;AN000;
551 NUM_FONTS DW ? ;; ;AN000;
552 PARSE_DESG ENDS ;; ;AN000;
553 ;;
554 ;;
555 ZERO EQU 0H ;; ;AN000;
556 ONE EQU 1H ;; ;AN000;
557 TWO EQU 2H ;; ;AN000;
558 THREE EQU 3H ;; ;AN000;
559 FOUR EQU 4H ;; ;AN000;
560 FIVE EQU 5H ;; ;AN000;
561 SIX EQU 6H ;; ;AN000;
562 SEVEN EQU 7H ;; ;AN000;
563 EIGHT EQU 8H ;; ;AN000;
564 NINE EQU 9H ;; ;AN000;
565 TEN EQU 0AH ;; ;AN000;
566 NUMBER EQU 1 ;; ;AN000;
567 STRING EQU 3 ;; ;AN000;
568 COMPLEX EQU 4 ;; ;AN000;
569 RC_EOL EQU -1 ;; ;AN000;
570 RC_NO_ERROR EQU 0 ;; ;AN000;
571 RC_OP_MISSING EQU 2 ;; ;AN000;
572 ON EQU 1 ;; ;AN000;
573 OFF EQU 0 ;; ;AN000;
574 BAD_SYNTAX_MSG EQU 12 ;; ;AN000;
575 BAD_DEVICE_MSG EQU 2 ;; ;AN000;
576 ;
577