perm filename CANON.RAS[UP,DOC]7 blob
sn#623884 filedate 1981-11-17 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00013 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 ---- ImPrint-10 Printer system overview --- by RAS ----
C00012 00003 TEX to ImPress, and TEX fonts
C00016 00004 CPrint: printing your IMP file
C00021 00005 Fonts for the ImPrint-10
C00024 00006 DviImp: switches
C00028 00007 text output and errors
C00034 00008 ImPress format, Read-IMP program
C00036 00009 ImPrint-10: starting the CPU
C00040 00010 Console messages while printing
C00042 00011 Starting the ImPrint-10 Printer
C00047 00012 Diagrams
C00050 00013
C00055 ENDMK
C⊗;
---- ImPrint-10 Printer system overview --- by RAS ----
Note: parts of this file are somewhat old and need updating!
Address questions, suggestions and bug sightings to RAS.
(incl questions on DviImp, CPrint and Rst fonts, font
conversion, using an ImPrint, supplies and quality of the output.)
----------------------------------------------------------------------
NOTE this file is under construction. Each page is correct from the
NOTE first line to the line that contains the sign:
NOTE "---- CLOSED DUE TO REMODELLING ----".
NOTE Do NOT imagine any further info on the page is of any use
NOTE whatsoever. You are hereby warned -RAS
----------------------------------------------------------------------
OVERVIEW:
There is no such thing as a Canon printer at Margaret Jacks Hall. We do
have its successor, an ImPrint-10, manufactured and `maintained' by the
Imagen Corporation. The ImPrint-10 in our basement is hereby named
`Canon' to honor its ancestor.
The ImPrint-10 printer system is made up of a Canon LBP-10 printer, a
printer controller board, an M68000 based micro, a serial line connected
to a console terminal and either a 9600 baud serial line or an ethernet
board on which printing requests are received.
The ImPrint-10 is a stand-alone entity. We (at Sail) talk to it via a
9600 baud terminal port and protocol. The HeathKit console terminal
alongside allows direct communication with the ImPrint micro for
initialization, indecipherable status messages and debugging.
ImPrint software:
ImPress Translater, Painter program
Texto currently at Diablo- will be in ImPrint-10 someday
currently can only be used from IAZ's account at Diablo
with output sent to the ImPrint in LTP's office
Sail software:
PTex, to create DVI files from TEX files;
DviImp, to translate DVI into IMP files;
Troff→ImP, coming soon to a CPU near you;
Scribe→ImP, is it coming? Only its hairdresser knows for sure;
CPrint, to send an IMP file to the ImPrint for printing.
Roughly, the procedure for using the ImPrint is:
Prepare your ImP file, run PTex on a TEX file, then run DviImp;
Make sure the ImPrint CPU is ready (page 9);
Make sure the ImPrint printer is ready (page 11);
Send your file to Canon with DO CPrint[can,sys] (page 4).
NOTES:
There is no spooling process; only one person may print a file at a time.
There is currently no way to print listings, only TEX DVI output
IF Canon SPEWS PAPER, PULL OUT THE PAPER TRAY and reinitialize (page 9).
There are no headers or title pages yet, so any listings lying around
are fair game for use as samples.
Since there is no spooler, your printing is done WHILE YOU WAIT, so
when it has started printing, instead of waiting, PICK UP YOUR OUTPUT.
But don't stop here, the details are vital. Read on!
TEX to ImPress, and TEX fonts
PREPARING YOUR TEX FILE
TEX:
Compile your program in MYFILE.TEX with:
.R PTex (report any problems to IAZ)
*\input myfile
This will create a file MYFILE.DVI on your directory.
DVIIMP:
Make a .ImP file from your .DVI file with DviImp:
.R DviImp (report any problems to RAS)
and to the prompt, type MYFILE (it only accepts .DVI files).
DviImp reworks the DVI file so that it is well-ordered and includes
pictures of the characters needed on each page. More information about
DviImp and switches is on the next page.
TEX FONTS:
There are two types of font files, TFM files contain dimensions of
characters in a device independent format. Rst files contain the images
of the characters at a particular resolution and magnification as well as
pertinent dimensions.
PTex gets its font information from TFM files in some directory; the
default is [TEX,SYS]. Most fonts currently have TFM there. DviImp only
uses Rst files. The default directory is [Can,Sys]. Below are
instructions on creating fonts.
Both PTex and DviImp look for a font file first on the directory
specified in the TEX declaration, then on the default directory. If no
directory is specified in the declaration, your current directory is used.
(TEX may not try the default if you specify an incorrect directory)
If I have my own special TFM and Rst files in my FON directory, a
proper TEX font definition is thus "\font z=cmsy10[fon,ras]". If I wish
to use system fonts, I would say "\font z=cmsy10". Note that there is no
guarantee that the Rst font in [Can,sys] actually corresponds to the TFM
file in [Tex,sys].
If a font file is not found, DviImp will try substituting the same
font unmagnified and if this fails it will give you lots of error
messages. Someday it will allow you to specify an alternative font.
For more information on Rst fonts, see page 5.
CPrint: printing your IMP file
To print IMP (Impress) files, DO CPRINT[can,sys]. It will ask you for
the filename, on the end of which it will append the string `.IMP'. Thus
you can not specify a directory, you must print from your current
directory.
If someone else is using Canon, you will be asked to wait. Sometimes
this program never finished, even though the printing job is done. You
might go downstairs and, if she is not using Canon, send her a message to
type <call> and run some other program to free up the serial line.
Currently, as the sending program runs, it dumps a horendous amount of
garbage on the screen (try ESC O on a Sail terminal to suppress output) as
well as into a file IS.LOG. You should, meanwhile, hop downstairs and
pick up your listing, checking Canon's error and supply lights.
Canon can not yet print listings.
--- CLOSED DUE TO REMODELLING ---
If you have text in a file MYFILE.ANY, to the prompt type MYFILE.ANY
and you will be prompted for a font file. If you have a special one in
mind, give its name (it MUST be an FNT file available on (XGP,SYS) or
hit return and FIX20 will be selected. If you do choose another font
and your listing contains characters not in the font, TS may very well
blow up (spewing forth many lines of hex code) in which case you will
have to reset the interface (with CStart) and run CPrint with a better
choice of font.
If all goes well, you will be reprompted. Typically the whole process
takes 10-30 seconds/page. To leave TS, type "/q" as a file name.
MULTIPLE COPIES of a listing can be produced by typing "#n" where n is
an integer > 0. After this file has printed, this is reset to 1.
Fonts for the ImPrint-10
Currently, only Rst fonts are used by programs that talk to the ImPrint-10,
namely DviImp and Texto. At Sail, they are kept in the directory [can,sys],
and can be made by running a special version of metafont that resides there.
MAKING Rst FONTS:
You can make an Rst font file by running the copy of MetaFont that is
in [Can,sys] using mode=5. Make sure you use the CMBASE file in [can,sys]
too. The surest way to do this is by connecting to [can,sys] with the
monitor command: ".al can,sys".
Rst fonts come in different magnifications; an Rst font's name is
NAME.R## where ## is one or two digits that specify the magnification
times 10. Thus cmr10 at twice magnification is in a file cmr10.r20, at
half magnification is called cmr10.r5.
So, to make an Rst file on can,sys:
.al can,sys
.ru mf
*mode=5; input cmr10 % to make a font at magnification 1.0 or:
*mode=-5; mag=1.2 input cmr10 % to make a font at magnification 1.2
OTHER PROGRAMS:
RdRst allows you to look at the inside of an Rst file. It sends its
output either to the screen or to a file. Type \? to it for more
information. RdRstI is similar, but only gives information on each
character's dimensions.
Soon, hopefully, RdRst's ascii output file will have a standard format
that can be edited and there will be a MakRst program to convert it back
into an Rst file.
Also, we'll want a program to convert FNT files into the standard ascii
format.
SAMPLE FONTS
The programs MakSam and MakSsm make samples of Rst fonts. They are not
quite upto date, but will be up soon. MakSam is for text fonts, displaying
each character plus text. MakSsm makes a smaller sample excluding the text.
DviImp: switches
DviImp excepts several switches. After the file name, type "/"
and any combination of the following:
(Note: currently there is no way to produce multiple copies)
S s/l Size of paper- standard is 8.5x11 (the default), legal is 8x14.
P # # PAGE RANGE (default 1-250) If you only want to compile some of the
pages of your dvi file, type a first and last page number.
eg /p1:2. For just one page, enter its number.
For DVI files, the numbers are TEX page numbers. So if your
pages are not numbered, every page is page number zero.
D # DATA (default 16k, range 8k-48k); the maximum
number of storage bytes available for glyphs on a page.
These are allocated in 8k bytes, so your # entered is rounded
up to the next 8k.
L # LMARG (default 264, range 0-2000); is the default left
margin offset from the ImPrint's X=0. This default currently
gives the text a one inch left margin.
TEX assumes there will be a margin and may write left of it
by giving negative x-coordinates. DviImp will get violent if s
TEX location is left of zero. If this happens, look at the
number DviImp tells you and recompile, increasing the margin
to at least that absolute quantity. And do not increase it so
much that the page goes too far to the right!
T # TMARG (default 132, range 0-2000); is the default top margin.
This currently gives a one inch top margin.
M # Magnification (range 0.1-9.9); This magnifies the whole document
by #. Note that you can get into trouble by making the text
larger than the page. Tex files include a recommended
magnification. This magnification overrides that one.
E # Expand-a-font; this is a special procedure written into DviImp.
Giving "cmr10/e" will produce a blow up of the font cmr10 so
you can see indiviual pixels- try it and see.
! The following are not up to date;
B# deBugging flags, default-none. "+" gives 1,2,4; "-" gives 1-6;
1-diagnostics 2-flow of control 3-verbose flow 4-debugging data
5-verbose data 6- 7-deletepack info 8-addnewchar info
9-draw chars on last page
All output goes to terminal and .ERC file.
DviImp will echo its values as it begins processing your file, eg:
MAXD=22000 lmarg=264 standard-size pp:1→250 copies:1
text output and errors
READING DviImp TEXT OUTPUT:
With no debugging flags set, DviImp prints a little output as it runs, eg:
[5.][4.][3.][2.][1.]
The number is the page number of the current page, the period is printed
when the page has been parsed, the "]" when the ImPress page has been
output to the Imp file.
If any errors are encountered, a .ERC file is opened and all messags
go to that file as well as to the screen.
When any debugging flag has been set, DviImp writes all output to a
.ERC file and produces one line of output for every page, eg:
[3⊂⊃⊂⊃.(c677)(ε91)(p4312→1110) totpage=0 (o)]
The first number is the current page number according to TEX. A "⊂"
is printed whenever a font file is opened to be read; when it has been
read in, the "⊃" is printed. The period signifies that the page has been
parsed.
The "(c#)" tells how many glyph objects are on the page, "(ε#)" tells
the number of different glyphs that are currently defined, "(p#→#)" means
a pack was done, and the amount of glyph data went from A to B. TotPage
is the total number of description bytes on the page. Currently the
numbers for the pack and Totpage are wrong.
USER ERRORS:
A user error is that which causes an error message and is most often
caused by a missing font file or typesetting off of the page. The former
can presently only be prevented by knowing which fonts are in [can,sys]
and generating any that are not there. Both types of errors can be most
easily caused by exaggerated magnification. Also, a TEX error message
telling of a box that is grossly overfull might cause a "page-too-wide"
error.
DviImp ERRORS:
DviImp is a research project of fluxuating priority. Bugs are
promptly addressed, if not fixed, but there have been no efforts to
perform exhaustive testing. Please report any bugs. Sending your ERC
file and a pointer to the original DVI file will help immeasurably.
The only crashing error of which I know, occurs if there are too many
objects and typesetting commands on the page. Currently 20000 words,
80000 bytes are allocated to the command array, much more than the ImPrint
can handle and much more than appears on any reasonable page. Because of
the use of Sail byte pointers, bounds checking is not obvious and not
done. Overflowing this array could cause unpredictable errors...
ImPress format, Read-IMP program;
ImPress format is best described in the ImPress Manual. Stanford
users should send enquiries to RAS@Sail, although few people need one.
Others should contact their local Imagen representative.
ImPress files are byte oriented, on Sail 4 bytes are packed per word
in the (left) high order bytes.
READING ImPress FILES- RdImp
RdImp translates ImPress files at Sail into ascii .IMR files. The
format is not quite like the ascii format in the manual which I found hard
to read. In addition, search for "!"'s in the text to find caught errors
or warnings. Comments are enclosed in parentheses. Right before POPs,
the current page coordinate is added as a comment.
To run RdImp, just type ".R RdImp" to Sail and you will be prompted
for an IMP file name. Pictures of characters are not included in the IMR
file. To view these, add the switch "/c" to the file name and the images
will be sent to a .IMC file.
WRITING ImPress FILES
Currently, there is no IMR→IMP program, although it would be nice.
ImPrint-10: starting the CPU
The CPU has three states: Wait, Diagnostic monitor and 68k monitor.
Upon power-up, programs are read from PROM and Canon enters the Wait state.
WAIT STATE
This is the printing state. The CPU is waiting for amy event, such as a
message from the serial line signalling a print request. Thus turning on
the ImPrint puts it into the Wait state.
Typing the (Zenith) console's BREAK key will force entry into the 68k
monitor. Typing any other character on the console will force entry into
the Diagnostic Monitor.
DIAGNOSTIC MONITOR
This is used for software debugging. Perhaps someday there'll be a
pointer here to documentation about all the options... For the moment, all
you have to know is that "Q <return>" quits the monitor, returning you to
the wait state. And BREAK sends you to the 68k monitor.
68K MONITOR
The 68000 board comes with a small monitor for debugging, which, on Canon,
can be activated by hitting the console's BREAK key. Two commands are of
interest. "C <return>" causes program continuation and "Z <return>" causes
system initialization.
INITIALIZATION
To initialize the ImPrint-10, either power it up, with the on/off switch
on the back side of the card cage (on the right end), or press the console's
BREAK key and type "Z <return>". It will enter wait state and be ready to
respond to print requests from Sail.
Console messages while printing
PRINTING MESSAGES
Upon beginning a print request, some information will appear about the
page size etc -- TO BE CONTINUED --
ERROR MESSAGES
During printing, Canon sends any error messages to the (Heath Kit)
terminal. Do not try to read them- they are written in a South American
dialect specially made to be scrolled off of the screen at high velocity.
Some tanslations follow:
Object Area Overflow:
Too many instances of things are typeset on the page;
Invalid Glyph Dimensions:
Glyph's currently can not have zero height or width.
Undefined Glyph:
Printing a glyph that has not been defined, or whose dimensions were
invalide results in this error.
Something out of paper:
This is a euphemism for something being typeset OFF of the paper, too
far to the right, left, too far up or down.
If you think the error messages are cryptic and should provide more
information, that's what I thought, too. Much later, when we get a
spooler, intelligent error messages will be sent back to the print
requester...
Starting the ImPrint-10 Printer
Note: see next page for diagram of Canon's setup in the basement.
INITIALIZING THE PRINTER:
Turn on the printer using the large black plastic toggle on the front,
left side. The green ready/wait light will blink for a few seconds. If
all of the lights are on, try waiting until the CPU is ready. If the CPU
IS ready, try turning it off and on again or panicking as outlined below.
BUTTONS:
The Test/reset light does not work. But if you push the test/reset
button, you'll tell the CPU to print out pages of grid marks. Plus you'll
get the message "Printing Exercise Requested" on the console. Push the
button again to disable it. Soon it will be changed so that each press of
the button generates just one exersize so you won't have to worry about
its state.
The other two buttons are disabled.
ERROR CONDITIONS:
Documentation is in ImPrint's (red, spiral bound) notebook. Briefly...
When lit, the four lights (with sketches above them) mean, from left to
right: (the front of the printer is the side with the lights)
OUT OF PAPER: Either the paper cassette is installed incorrectly or the
ImPrint needs more paper. If the latter, remove the black paper tray from
the left side of the ImPrint (just pull gently but firmly). Find the
paper, NOTE (!) carefully which side is up and add some paper face up to
the tray. Reinsert the tray (put it in approximately the right place,
push gently and the tray will be guided in).
NEEDS PREMIX: Maybe the ImPrint needs more premix. Try opening and
closing the left front panel. If the light persists it probably really
needs it. Find a bottle (a Canon bottle with a picture of a drop like the
picture above the light, look below the ImPrint's table and below the
table near the door) and shake it well. Open the middle panel and pour
half of the bottle into the hole in the black tray that leads to the tank.
PAPER JAM: Some paper may be caught in the ImPrint innards. Try opening
and closing the front left panel. If this does not work, there may really
be some paper caught. Remove it carefully. For help see pages 18-21 of
the "ImPrint LBP-10 Operation Manual". Usually you can pull stuck paper
out from where it goes in or where it comes out. You can try opening
things up, but be careful. Remeber to push the red reset lever down
before closing the top left lid. If you need help, seek RAS, LTP or LES
@Sail.
NEEDS TONER: if the little toner bottle behind the front middel panel is
empty, take it out (turn CCW `135 and pull it out), and replace it with a
full one (probably below the table) making sure the toner is shaken and
the black valve is on the bottle properly and put it back into the
ImPrint. If it is not empty, the toner is clogging the valve, try turning
the bottle CW & CCW a few times.
Diagrams
top view:
CPU
___________ on/off
| | | ------------------------------------/\---
| HeathKit | | Laser Printer . | |
| (Zenith) | --------+ . | |
| Console | | | . | |
| Terminal | | paper | . | CPU |
| | | | tray | . | cage |
------------ | | top lid . | |
--------+ . | |
| . | |
---\/----------------xxxxxxxxx-----------
printer ↑ ↑ lights
on/off | |
| |
side door middle panel
Note that only the location of the lights are shown
**************************************************
and the insides:
back
------------------------------------/\---
| . | |
--------+! . | |
| |! . | |
| paper |! D R U. M () | CPU |
| tray |! . INK || | cage |
| |! . TRAY || | |
--------+! . || | |
|↑ X . O -- | |
←left -|-\/-↑---------------↑-------↑----------
| | Premix Toner bottle
handle | hole
red reset lever