LaserWriter: Clarifying Serial Switch Documentation



The LaserWriter IINTX manual says that revision 3.0 ROMs can switch between
ports using software. The manual says I can disable the RS-422 port to
connect an IBM to the RS-232-C port, but it's not clear whether the RS-422
and the RS-232-C ports can be switched while using the IBM.

I have been disabling the RS-232-C port by sending the following program to
the printer from the IBM:

serverdist begin 0 exitserver
statusdict begin
25 0 0 setsccbatch
25 0 0 setsccinteractive

This sets the serial port to a null baud rate. The manual states that the
RS-422 port can then be reenabled by typing the same program but using 9
instead of 25 and substituting the desired baud rate for the first zero and
the Options Number from the chart labeled C-5 for the second number. This
is found on page 141 of the LaserWriter IINTX manual.

However, in apparent contradiction to this, the LaserWriter Reference
Manual from Addison Wesley states on page 143 that the setsccbatch and the
setsccinteractive commands use the port assignment for the first digit, the

baud rate for the second digit, and the parity for the third digit (not the
options number!)

Is this third digit supposed to be the options number from the LaserWriter
IINTX owners manual, or is it the Parity from the listing of parity digits
available on page 144 of the LaserWriter Reference Manual? What IS the
options number or the parity selection?

I also am having trouble with the baud rate selection for the AppleTalk
port. AppleTalk is supposed to be 235K baud, but there is no selection
above 56K baud.

The setsccbatch and setsccinteractive operators set a port's baud rate, but
for asynchronous communications only. More specifically, they set the rate
used when the hardwareiomode is set to 0. The only time AppleTalk
communications are affected by these operators is if the baud rate of the 9
(or 8) pin port is set to 0.

Setting a port's baud rate to 0 has the effect of disabling it entirely,
whether asynchronous serial or AppleTalk is in use. To reactivate the
port, either set the baud rate to whatever is desired, or for AppleTalk,
set the hardwareiomode to 2 and don't bother with the baud rate.

Page 141 of the LaserWriter IINT/IINTX Owner's Guide contains a misleading
paragraph that states the RS-422 port is reactivated by setting its baud
rate. You could, in fact, enable it this way for asynchronous
communications, but AppleTalk can only be activated by setting
hardwareiomode to 2.

As for the apparent contradiction between the Addison Wesley manual and the
Owner's Guide, they're both right - they just tell a different part of the
same story. The options number used with setsccbatch and setsccinteractive
is an 8-bit value made up of 4 separate bit-fields; 2 bits for parity, 3
bits for flow control, 2 bits for data bits, and 1 bit for stop bits, in
that order. They are arranged with parity being the least significant 2
bits, and stop bits being the most significant bit of the byte. Since each
parameter can be computed and set independently, any value from the table
on page 153 can be used individually. Though it's more common to add each
parameter's value and set them all at once, it is possible to use something
like "3" for the options value to set mark parity. This will leave the
other parameters as they are. Likewise, data bits could be set to 8 by
using "64" as the options value. Parity, flow control and stop bits would
remain unchanged.

Currently the easiest way to set LaserWriter parameters is to use a
PostScript downloading utility to send PostScript programs written in a
word processor. This downloading function is available in recent versions
(7.0 or later) of the LaserWriter Font Utility. A more direct method is
available with Microsoft Word by using its PostScript style. Text that is
of the style PostScript will be passed to the LaserWriter as a PostScript
program instead of as text to be printed.


Published Date: Feb 18, 2012