Heading:
PD Printer Operation
Page Numbers: Yes X: 527 Y: 10.5"
Copyright Xerox Corporation 1983
XEROX
PALO ALTO RESEARCH CENTER
Imaging Sciences Laboratory
March 30, 1983


To:PDPrint Users

From:Bob Sproull

Subject:
PD Printer Operation

Filed on:
<PrintingDocs>PDPrintOps.Press
This memo outlines the procedures for printing PD files on a number of ROS (raster-scanned) Xerox experimental printers. It is also a reference manual for the PDPrint program and includes detailed instructions concerning its use. The format of PD files is described in a separate document [1].
0. Server operation
In most cases, printers will be set up with a server that allows both PD files and Press files to be printed. The EFTP protocol is used to transmit a PD file to the server. The server stores the file on the Trident disk and invokes the PDPrint program to print it.
The PD server is not designed for unattended operation. The PDPrint program will halt if it detects any difficulty during printing, such as a jam, low paper, or printer malfunction. Your intervention will be required to fix the printer. You will also need to take special steps to reprint your file, since the error recovery in PDPrint is not exceptional.
The server is actually a simple Alto command file named "server.cm", which reads as follows:
TridentEftp/T TridentTemp.press from 0’#0’#0
Decide TridentTemp.press
@server.cm
The first command receives a file using the EFTP prototol and saves it on the Trident disk. The Decide program examines the file named in its argument to decide whether it is a Press file or a PD file. If it is a Press file, it invokes the command "Press/O print TridentTemp.press"; if it is a PD file, it invokes the command "PDPrint print TridentTemp.press". When the printing finishes, the Alto executive interprets the command file once again, in an infinite loop.
1. Printing PD Files
The PD printing program is named "PDPrint," and may be run by hand. Because the printer is shared by many users, it is considerate to delete your PD file after you have finished printing. If the printer is normally operated as a server, please type "@server" to the Alto executive before leaving the printer.
The basic command to PDPrint is "Print," followed by a file name. Thus
>PDPrint print memo-1.pd
will print the file "memo-1.pd." The PDPrint command words (e.g., "print" above) can be abbreviated as long as they remain unambiguous. The file to be printed may reside on the Trident disk or on the Model 31 disk—PDPrint looks on the Trident first.
If you wish to override the number of copies specified in the PDPrint file (usually 1), append the clause "copies n" to the end of the command:
>PDPrint print memo-1.pd copies 3
PDPrint takes some time to format the files properly and begin printing. If you simply wish additional copies of a file you have previously printed, you may avoid the formatting delay by using the "reprint" clause in place of the "print file" clause:
>PDPrint reprint
>PDPrint rep cop 2
If you wish to reprint only certain pages, e.g., if the printer mangled only one of your pages, you may append the clause "page n" or "pages n to m" to the reprint command:
>PDPrint rep page 2
>PDPrint rep pages 3 to 4
Additional commands are explained in the "PDPrint Reference Manual," below.
Troubles While Printing
PDPrint lets you know that it is working by flashing a cursor at you. The top of the cursor displays a character denoting the pass (C=scan convert, P=print) and a digit denoting the page number it is working on.
When PDPrint encounters an error during the scan-conversion pass, it will fall into Swat with an error message. You may try continuing from any of these errors by typing CONTROL P to Swat, but many of the errors are essentially fatal. If you wish to abort the printing, type CONTROL K to Swat. Errors encountered during printing are also reported in this way. In many cases, problems with the printer can be fixed and you can continue execution.
2. Care of printers
[Info from Julian about our printers. Is there anything special that has to be done after powering up Lilac?]
3. Powering Up and Down
The optical systems in some ROS printers are delicate. Please observe any locally posted cautions when you turn your system on or off.
Powering Up
1. The Alto. Make sure that a Model 31 disk pack that contains PDPrint is in the machine and loaded. If the disk will not boot or if it demonstrates other bad behavior, there is no sense in continuing.
2. The Trident drive. If the green light on the front of the drive is illuminated, a pack is mounted and running. The chances are excellent that this is the correct pack and that you can proceed to step 3. If you doubt, read on:
Make sure power is on: If the Trident drive is making no noise whatsoever, the power is off. At the back of the drive is a toggle switch that should be flipped up to the "on" position. Noise should ensue.
To dismount a pack: Flip the black switch next to the green light to the "stop" position, and wait for the green light to stop flashing. Open the cover of the drive carefully by releasing the latch near the forward edge of the lid. Now you are in a position to read the label on the top of the disk pack. If you wish to remove the pack, retrieve the plastic pack housing (the top part, with the handle), lower it slowly over the pack, and carefully rotate the handle counter-clockwise ("unscrewing") until faint clicks are heard repeatedly. Now carefully lift the pack out by the handle and place it on the pack housing base.
To mount a pack: Retrieve the pack in its housing, and remove the base. Lower the pack into the Trident drive, and turn the handle clockwise ("screwing in") until it stops. Do not over-tighten. Now lift out the pack housing by the handle. Close the lid to the Trident. Flip the black switch from "stop" to "start." The green light should flash for several seconds and then remain lighted. If this is not the case, something is wrong.
3. The printer. Follow the appropriate procedures for your model.
Powering Down
1. The Trident drive. Turn the black switch on the front panel to "stop" and wait for the green light to stop flashing. If you wish to power down completely, find the toggle switch at the rear of the drive and turn it off (down).
2. The Alto. Use the normal procedures for powering down the Alto.
PDPrint Reference Manual
PDPrint version 1.0

The repertoire of PDPrint commands offers several options when a file is printed. The format of the command line is:
>PDPrint/switches option <arg> option <arg> ...
The "switches" govern the overall operation of PDPrint; the "options" label the specific options being used and can be abbreviated as long as they remain unambiguous; most of these options require arguments.
The options control two aspects of PDPrint: what is done during the scan-conversion pass, and what is done during the printing pass. Scan-conversion is controlled with the following options:
PrintScan-convert a PD file. This is the main command to print a PD file. The argument is the name of the file to be printed. Example: "PDPrint print memo-1.pd". PDPrint will look for the file on the Trident drive first, then on the Model 31.
RePrintUse previously scan-converted information saved on the disk. The file most recently printed is re-printed—this usually avoids time-consuming scan-conversion processes. The "pages" option applies to reprinting.
On most installations, PDPrint and Press share a large disk file that contains scan-converted information. Thus, a PDPrint "reprint" option can be used after PDPrint has been run to create the scan-converted information, but if Press is run in between the PDPrint scan-conversion and the "reprint" request, PDPrint will not do the right thing.
PagesThis option governs which pages of a file will be reprinted. Page ranges are specified with the "to" option: "PDPrint reprint pages 2 to 3".
PatternsUse a built-in procedure to scan-convert eight test pages.
Printing is controlled with the following options:
(default)Print on the attached printer. The "copies" option applies in this case.
CopiesThis option takes a single number as an argument, and is used to control the number of copies of the document that should be printed. If no "copies" option is given, the number of copies requested in the PD file is honored.
NoPrintDo nothing with the scan-converted result.
DisplayShow the image on the Alto screen.
Switches:
Several global switches can alter the use of PDPrint:
/VVerbose — gives better error messages
/R
Reverse — makes a mirror image (sort of)
/N
Negative — makes a photographic negative (on some printers)
/D
Debug
/M
Meter — inverts the normal setting of statistics-taking
/I
Install PDPrint
Errors. When PDPrint encounters an error, it uses Swat to print an error message from the file PDPrint.Errors. You may attempt to continue from an error by typing CONTROL P to Swat, or you may kill PDPrint by typing CONTROL K.

Installing PDPrint
The command "PDPrint/i" is used to "install" PDPrint. This process sets a large number of parameters and initializes all the necessary scratch files. This section attempts to explain the procedure used for getting it all going.
Disks
PDPrint can build its scratch files on either Model 31 disk (drives 0 or 1) or on a Trident T-80 disk. In both cases, a "file system" must have been created on the disk before PDPrint can be installed. The easiest way to create a file system on a Model 31 disk pack is to use the "erase a disk" option when installing the operating system (but don’t burden the disk with a lot of files if you want the space available for PDPrint use). The TFU command "erase" can be used to initialize a T-80 pack with a file system.
Files
PDPrint requires a number of files in order to operate properly. The scratch files used by PDPrint are usually shared with those used by Press installed on the same disks. Thus if a file named "Press.Bits" is allocated on the Trident disk, PDPrint will let you use it for its "Bits" scratch file. In the list of files below, the name "Either" is used to stand for either "Press" or "PDPrint".
PDPrint.Run (* %)
PDPrint.Errors (* %)
PDPrint.State (%)

Either.Bits
Either.Scratch
Either.LO1
Either.LO2
Either.Meter

Decide.run (* if running a server)
Server.cm (* if running a server)
TridentEftp.run (* if running a server)
The files marked with * are files that you must provide before beginning to install PDPrint (they can be obtained from [indigo]<pd>); the remainder are scratch files that will be created if necessary. Files marked with % must reside on the Model 31 system disk.
PDPrint.Run. This file is distributed as part of the PDPrint system. It is approximately 40K words long.
PDPrint.Errors. This file contains error messages for use by Swat.
PDPrint.State. This tiny file contains the results of installing PDPrint.
Either.Bits. This scratch file is used to buffer the raster image for pages to be printed by Press. This file can be as big as you like, but must be at least big enough to hold one full-page image. This minimum is computed as (k(s+15)/16l)(k(32k(b+31)/32l+1023)/1024l) K words, where s is the number of scan-lines on the page, and b is the number of bits per scan-line.

If PDPrint attempts to print a PD file with enough pages to overflow the buffering available in Either.Bits, PDPrint will break up the scan-conversion and printing passes into several segments. First it will scan-convert pages until it exhausts the buffering in Either.Bits, then it will actually print those pages on the output device. Then it will repeat this sequence until the entire file has been properly printed. Note that this process may destroy the collation sequence.
Either.Scratch. This scratch file is used to hold the "load" between printing passes.
Either.LO1 and Either.LO2. These scratch files are used during the scan-conversion process to hold leftover lists.
Either.Meter. This scratch file holds statistical information about PD files as they are printed. This feature is intended primarily for diagnostic use during system development. Consequently, you should disable the recording of metering information when you install PDPrint. However, the file Either.Meter must exist in any case, although it can be of negligible length (1K words).
The list of files below gives a rough idea of appropriate sizes (remember that a "disk page" is 0.25K words on a Model 31 and 1K words on a Trident):
Either.BitsTrident15000 pages
Either.Scratch
Trident64 pages (Press requires a much larger Scratch file.)
Either.LO1
Trident100 pages
Either.LO2
Trident100 pages
Either.Meter
Trident1 page
It is not essential that you get the file sizes exactly right. If PDPrint exhausts one of the files during operation, it will generate a reasonable error message that identifies the short file. You can then re-install PDPrint to enlarge the file and try printing again.
The PDPrint installation dialog
If you have retrieved all the files necessary to run PDPrint and decided on the sizes of the scratch files you wish, you are ready to embark on the installation dialog.

Installation is invoked with the command "PDPrint/i". Once PDPrint has been properly installed, subsequent installation is considerably simpler: simply typing
RETURN to each installation prompt will use the same value used in the previous installation—the previous value is given inside parentheses. The paragraphs below describe the various questions you will be asked. Each response must be terminated with a RETURN; typein to PDPrint is edited by typing BS to backspace one character (\ will be typed to indicate a character has been rubbed out); N RETURN is sufficient to mean No; Y RETURN is sufficient for Yes. If you make a catastrophic mistake during the installation, simply type SHIFT SWAT (or boot the machine) and begin again.
General installation parameters.
Record metering information? Normal answer: "N"
Meter each page transfer? Normal answer: "N"
Normally use extended memory? Normal answer: "Y"
PDPrint will use extended memory, if it is available, to hold the PD "load". Up to 63K words of load can be held in extended memory. If extended memory is not available or if PDPrint is not instructed to use it, the load must be smaller (somewhat less than 30K words).
Printer parameters. Because PD format is a device-dependent one, the installation parameters used may affect the kinds of PD files that are acceptable to the device (e.g., resolution requested in the file must match that of the installation). At the end of this document are installation parameters for several devices.
Output device? Type in the name of the output device you are using—the prompt gives a list of possible answers. Depending on the device you select, some of the following questions may be omitted.
Resolution in bits/inch? Enter the resolution of the device.
Resolution in scans/inch? Usually the same as bits/inch.
Paper speed (inches/second)? This is the speed of the paper transport system. Changing this value will change the size of the image along the transport direction. PDPrint records this value to a precision of 1/10 ips.
Number of printer colors? Black-and-white printers answer this question with "1". A color printer will answer either "3" or "4" depending whether it has a black developer.
Use standard n-color printing queue? Pimlico and Puffin require control information to select a toner color for each printing cycle. This control information can be obtained in two ways: (1) from a fixed standard queue, or (2) from the PDPrint program. In the first case, the PD file toner colors and feed/strip information must correspond to the standard queue built into the printer; in the second, the PD file specifications are interpreted and used to build the printing queue. The standard queues are:
3-color: Magenta+feed; Yellow; Cyan+strip
4-color: Magenta+feed; Yellow; Cyan; Black+strip
Does the machine use a Pimlico ROS? Some Puffins (notably Lilac) use a different ROS.
Scan line length in bits? The response to this question is used to servo the bit-clock on some devices. The value can be adjusted until the size of the image appears correct.
Scan margin adjustment? This value specifies the number of scan-lines that are passed up before imaging begins. Changing this value changes the position of the image along the paper transport direction.
Bit margin adjustment? This value specifies the alignment of the image along the scanning direction.
How many seconds before timing out printer? This value is chosen to be a bit longer than the maximum time it takes to image a page.
Do you want scan-lines doubled? Devices driven by the Slot card can repeat scan-lines if you answer this question affirmatively. For example, you might claim that a device has a resolution of 300 scans/inch and enable scan-line doubling, if the printer will actually put down 600 scans/inch.
Number of form-feeds prior to printing? (Versatec) This is the number of pages to spew out of the printer before printing.
Number of form-feeds after printing? (Versatec) This governs how much paper is ejected after printing.
Paper parameters.
Scan dimension? Answer with the size of the medium, in inches, measured along the scanning (scan-line) direction.
Transport dimension? Answer with the size of the medium, in inches, measured along the transport direction.
Disks. PDPrint will ask if you want to use the Trident disk. It will also ask if you want to make use of drive 1 of the Model 31 controller. (If you have two Model 31 disks with a single file system installed on both, answer No.)
Files. Now PDPrint will cycle through all the scratch files, asking you to specify the treatment for each one. If a file already exists, its location and size are printed, and you are asked if that is proper ("Y" or simply RETURN implies Yes). If you respond that the allocation is not proper, or if the file does not exist, PDPrint prompts to determine which disk the file should use, and how big (in disk pages for the disk you select) the file should be.
Installation parameters
The information below gives installation parameters for several interesting devices.
Hornet. (Instances: Stinger)
Device: Slot
Resolution: 384
Number of printer colors: 1
Scan line length: 5597
Scan margin adjustment: 85
Bit margin adjustment: 290
Scan lines doubled: No
Printer timeout: 10
Paper dimension, scan direction: 14
Paper dimension, transport direction: 8.5
Raven. (Instances: Quoth)
Device: Slot
Resolution: 300
Number of printer colors: 1
Scan line length: 5597
Scan margin adjustment: 85
Bit margin adjustment: 145
Scan lines doubled: No
Printer timeout: 10
Paper dimension, scan direction: 14
Paper dimension, transport direction: 8.5
Puffin. (Instances: Lilac)
Device: Puffin
Resolution: 384
Paper speed: 4
Number of printer colors: 3
Use standard color queue: No (Yes is OK, but N preferred)
Use a Pimlico ROS: Yes
Scan line length: 3920
Scan margin adjustment: 3700
Bit margin adjustment: 320
Printer timeout: 20
Paper dimension, scan direction: 8.5
Paper dimension, transport direction: 11
Note that with devices controlled by ROS adapters [2] it is possible to change the resolution over some range without making any engine modifications, since the bit clock and polygon motor speeds are servoed according to the installation parameters.
References
[1] "Printing Device File Format," March 3, 1983. Filed on [maxc]<printingdocs>pdformat.press.
[2] "Programmer’s Guide to Orbit, the ROS Adapter, and the Dover Printer," June 1977. Filed on [maxc]<printingdocs>orbitguide.press.