mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 01:44:21 +00:00
82 lines
3.5 KiB
Plaintext
82 lines
3.5 KiB
Plaintext
/* Concurrent CP/M Character Control Block Structure */
|
|
|
|
/* +---------+---------+---------+---------+
|
|
00 | attach | queue |
|
|
+---------+---------+---------+---------+
|
|
04 | flag | startcol| column | nchar |
|
|
+---------+---------+---------+---------+
|
|
08 | mimic | msource | pc | vc |
|
|
+---------+---------+---------+---------+
|
|
0C | btmp | resrvd | state |
|
|
+---------+---------+---------+---------+
|
|
10 | maxbufsiz | vinq |
|
|
+---------+---------+---------+---------+
|
|
14 | voutq | vcmxq |
|
|
+---------+---------+---------+---------+
|
|
18 | qpbflgs | qpbfill | qpbqaddr |
|
|
+---------+---------+---------+---------+
|
|
1C | qpbnmsgs | qpbbuffptr |
|
|
+---------+---------+---------+---------+
|
|
20 | qbuff | cosleep |
|
|
+---------+---------+---------+---------+
|
|
24 | usleep | vsleep |
|
|
+---------+---------+---------+---------+
|
|
28 | ... reserved ... |
|
|
+---------+---------+---------+---------+
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
dcl ccb$structure lit 'structure (attach address, queue address,
|
|
flag byte, startcol byte, column byte, nchar byte, mimic byte, msource byte,
|
|
ccb$tail1';
|
|
dcl ccb$tail1 lit
|
|
'pc byte, vc byte, btmp byte, reservd byte, state word, maxbufsiz word,
|
|
ccb$tail2';
|
|
dcl ccb$tail2 lit
|
|
'vinq address, voutq address, vcmxq address,
|
|
qpbflags byte, qpbresrvd byte, qpbqaddr address,
|
|
qpbnmsgs address, qpbbuffptr address, qbuff address, cosleep word,
|
|
usleep word, vsleep word, r1 word, r2 word)';
|
|
|
|
declare /* flag values */
|
|
cf$listcp lit '001h', /* control P toggle */
|
|
cf$compc lit '002h', /* suppress output */
|
|
cf$switchs lit '004h', /* XIOS supports switch screening */
|
|
cf$conout lit '008h', /* XIOS console output ownership */
|
|
cf$vout lit '010h', /* process writing to VOUTQ */
|
|
cf$bufp lit '020h'; /* toggle to control printer echo */
|
|
/* on control P when background */
|
|
/* and buffered */
|
|
/* values of state byte */
|
|
/* conout goes to XIOS */
|
|
|
|
/* state word flags */
|
|
|
|
dcl
|
|
csm$buffered lit '0001h',
|
|
csm$background lit '0002h',
|
|
csm$purging lit '0004h',
|
|
csm$noswitch lit '0008h',
|
|
csm$suspend lit '0010h',
|
|
csm$abort lit '0020h',
|
|
csm$filefull lit '0040h',
|
|
csm$ctrlS lit '0080h',
|
|
csm$ctrlO lit '0100h',
|
|
csm$ctrlP lit '0200h';
|
|
|
|
dcl x$init$offset lit '0Ch',
|
|
x$init$pointer pointer,
|
|
x$init$ptr structure (offset word, segment word) at (@x$init$pointer),
|
|
x$init based x$init$pointer structure
|
|
(tick byte, ticks$sec byte, door byte, resrvd1 (2) byte,
|
|
nvcns byte, nccb byte, nlst byte, ccb word, lcb word);
|
|
|
|
|
|
dcl lcb$structure lit 'structure (attach address, queue address,
|
|
flag byte, startcol byte, column byte, nchar byte,
|
|
mimic byte, msource byte)';
|
|
|