C/A/T codes

William LeFebvre phil at RICE.ARPA
Sat Apr 20 04:00:45 AEST 1985


I just saw some messages fly by about the elusive C/A/T codes, and I
think I might have something that will be of interest.  After making a
similar request several years ago, I got a copy of the following manual
page from Henry Spencer of U of T.  It is a manual page that has a
rather thorough description of the codes understood by a Graphic Systems
C/A/T phototypesetter.

Just as a clarification, the original troff text processor produces
codes for a C/A/T phototypesetter.  The device-independent troff, which
is sold as a separate system by AT&TBL, produces completely different
output.  The two should not be confused.

I have attached a shar file to the end of this message that contains
the manual page.  Use your favorite shell to unpack it.  Enjoy!

                                William LeFebvre
				Department of Computer Science
				Rice University
                                <phil at Rice.arpa>

-------------------- Cut along dotted line --------------------
echo 'Start of distribution file cat.5:'
echo 'Extracting cat.5...'
sed 's/^X//' > cat.5 << '/'
X.TH CAT 5 local writeup
X.DA 4 April 1981
X.SH NAME
Xcat \- C/A/T phototypesetter code
X.SH DESCRIPTION
XThe Graphic Systems C/A/T phototypesetter is driven by sending it a
Xsequence of one-byte codes
Xwhich specify characters, fonts, sizes, and other control information.
X.PP
XThe C/A/T's basic unit of length is 1/432 of an inch (6 units to a
Xtypesetter's ``point'').
XThe quantum of horizontal motion is one unit.
XThe quantum of vertical motion is three units (1/144 of an inch, 1/2 point).
X.PP
XThe top two bits of the code classify it as one of three major
Xtypes:
Xan \fIescape\fR code (top bit 1),
Xa \fIflash\fR code (top bits 00),
Xor a control code (top bits 01).
XA code of all zeros is ignored;  a code of all ones is illegal.
X.PP
XA flash code specifies flashing one of 63 characters, as given by the
Xremaining six bits.
XSince this is not enough to specify all possible characters, or even
Xall characters in a single font \(em there are 108 per font \(em
Xvarious control codes (described later) select a font and either
Xthe Lower or Upper half of the font.
XThe Lower half is the first 63 characters of the font;  the Upper
Xhalf is the remaining 45.
XA flash code of 46 or higher in the Upper half is illegal.
X.PP
XAn escape code specifies horizontal motion.
XThe size of the motion, in horizontal quanta, is the one's-complement
Xof the low seven bits of the code.
XThe direction of the motion is set by control codes.
XHitting the right or left margin limit switch is illegal and will
Xcause the machine to stop.
XThe machine starts out, after initialization, hard against the left
Xmargin limit switch;  an initial escape of 16 units \fImust\fR
Xbe given before starting work, and the position after this motion
Xshould be the limit of all future leftward motions.
XFrom this point, the distance to the right margin limit switch
Xis about 7.5 inches.
X.PP
XA code with the top three bits 011 is a \fIlead\fR code,
Xspecifying vertical motion.
XThe remaining five bits are the one's-complement of the size of
Xthe motion, in vertical quanta.
XThe direction of motion is set by control codes.
XThe amount of vertical motion is, in principle, limited only by
Xrunning off the paper in the upward direction and by the limited
Xcapacity of the output cartridge in the downward direction.
X.PP
XA code with the top four bits 0101 is a size-change code, which
Xspecifies movement of the lens turret and the doubler lens to
Xchange point size.
XThese codes are as follows:
X.PP
X.RS
X.nf
X.ta 2c
XSize	Code
X
X6	0101\|1000
X7	0101\|0000
X8	0101\|0001
X9	0101\|0111
X10	0101\|0010
X11	0101\|0011
X12	0101\|0100
X14	0101\|0101
X16	0101\|1001
X18	0101\|0110
X20	0101\|1010
X22	0101\|1011
X24	0101\|1100
X28	0101\|1101
X36	0101\|1110
X.DT
X.fi
X.RE
X.PP
XSize changes involving the doubler lens alter the horizontal position.
XChanges from single to double sizes should be followed by a forward
Xescape of 55 quanta;  changes from double to single sizes should be
Xfollowed by a reverse escape of 55 quanta.
XThe single sizes are 6, 7, 8, 9, 10, 11, 12, 14, and 18;
Xthe double sizes are 16, 20, 22, 24, 28, and 36.
X.PP
XThe control codes with the top four bits 0100 specify miscellaneous
Xcontrol codes, not all of which have valid meanings.
XThey are:
X.PP
X.RS
X.ta 6c
X.nf
Xinitialize	0100\|0000
Xstop	0100\|1001
Xupper rail	0100\|0010
Xlower rail	0100\|0001
Xupper mag	0100\|0011
Xlower mag	0100\|0100
Xtilt up	0100\|1110
Xtilt down	0100\|1111
Xupper font half	0100\|0110
Xlower font half	0100\|0101
Xescape forward	0100\|0111
Xescape backward	0100\|1000
Xlead forward	0100\|1010
Xlead backward	0100\|1100
X.fi
X.DT
X.RE
X.PP
XThe \fIinitialize\fR code causes leftward motion to the left margin limit
Xswitch,
Xand sets the following modes:
Xescape forward, lead forward, lower font half,
Xlower rail, lower mag, tilt down.
XNote that the left margin limit switch does not define a precise
Xposition, and hence reinitializing the machine
Xwill destroy precise left-margin alignment.
X.PP
XThe \fIstop\fR code stops the machine, which must be manually
Xrestarted (normally after changing output cartridges);
Xthis code should be used only at the end of a run.
X.PP
XFonts are selected by the combination of \fIrail\fR, \fImag\fR, and \fItilt\fR.
XThe tilt codes do not exist on the 4-font C/A/T;  this is the only user-visible
Xdifference between the 4-font and 8-font machines.
XThe correspondence between rail/mag/tilt and font number is as follows:
X.PP
X.RS
X.nf
X.ta 2c 4c 6c 8c
Xrail	mag	tilt	4font	8font
X
Xlower	lower	up	1	1
Xlower	lower	down	1	2
Xupper	lower	up	2	3
Xupper	lower	down	2	4
Xlower	upper	up	3	5
Xlower	upper	down	3	6
Xupper	upper	up	4	7
Xupper	upper	down	4	8
X.DT
X.fi
X.RE
X.PP
XA complete C/A/T file should begin with an \fIinitialize\fR code following
Xby an \fIescape\fR-16 code,
Xand should end with 14 inches of trailer and a \fIstop\fR code.
X.SH HISTORY
XThis manual page written at U of T by Henry Spencer.
X.SH BUGS
XThe documentation and the hardware disagree on the initial tilt setting;
Xthe above describes the hardware.
X.PP
XIt's not the fastest or most modern typesetter.
/
echo 'Distribution file cat.5 complete.'



More information about the Comp.unix.wizards mailing list