[mod.computers.laser-printers] Info-Postscript for Laser Lovers Digest V1 #7

Laser-Lovers-Request@WASHINGTON.ARPA (Moderator) (01/25/86)

Info-Postscript for Laser Lovers Digest Saturday, January 25, 1986 9:04AM
Volume 1, Issue 7

Today's Topics:

                      Error handler and timeout
                    Re:  Error handler and timeout
                    Re: Error handler and timeout
                    Re: Error handler and timeout
                       PostScript print program
                     Re: PostScript print program
                     Re: PostScript print program
                    Re:  PostScript print program
               Re: to the REs: PostScript print program

----------------------------------------------------------------------

Date: Fri, 17 Jan 86 12:45:22 est
From: ned%UPenn-Grasp%upenn.csnet@CSNET-RELAY.ARPA
Subject: Error handler and timeout

We have two LaserWriters running from VMS under custom spooling software.
When we tried downloading ehandler.ps (from the TranScript package), it
worked fine, except that when the LaserWriter fell idle, it printed a break
page for the 'timeout' error. We consider this unreasonable. The question
is: Is there something the spooler can do to keep the printer idle without
having it execute the timeout error operator? Alternately, can anyone help
with a modification to ehandler.ps either to keep it from responding to
timeout errors, or to allow it be downloaded on a per-job basis?

Profuse thanks,

--Ned.

------------------------------

From: hitchens@uo.UTEXAS.EDU (Ron Hitchens, TP Repairman)
Subject: Re:  Error handler and timeout

  Re: timeout errors after a job causing an error page to be sent:

  No problem, just be sure a ^D is sent as the last character of the
job.  A timeout error occurs when a job is in progress and nothing is
recieved in a given amount of time.  The ^D is end-of-file and signals
the completion of the job, at which point the LW goes idle.  Timeouts
don't occur while idle, so the LW will sit there contentedly until
something else comes down the line.  

  We drive a LW from a Unix spooler and have no problems with timeouts,
I set the tr (trailer) field of the printcap to ^D to be sure one is 
always sent after a job is finished.

  It's also important that a ^D seperate jobs because that's when 
memory reclaims are done.  

------------------------------

From: adobe!shore@glacier (Andrew Shore)
Date: 20 Jan 1986 1808-PST (Monday)
Subject: Re: Error handler and timeout

The behavior you report sounds absolutely correct and is indeed
unreasonable.  I suspect that you were getting a timeout all along, but
never knew it until the error handler was present.

Remember that the LaserWriter consumes a sequence of "jobs".
Over serial I/O, a job is terminated by a control-D.
My guess is that your spooler is not sending a control D
after it is done sending the user's file.  PostScript
thinks it is still waiting for input from the current job
and eventually times out when none is forthcoming.

The control D serves several purposes.  It sends the PostScript
interpreter around its "server loop" thus doing a restore which
reclaims any VM your job may have consumed but not freed.  It
also makes the printer go truly idle (assuming another job isn't
following immediately).  This allows the idle time scan conversion
to kick in.  See the PostScript Language Reference Manual appendix D,
especially sections 3 and 4 for more information.

--Andy Shore
  Adobe Systems Incorporated

------------------------------

Date: 24-Jan-1986 1435
From: pwong%pixel.DEC@decwrl.DEC.COM  (Paul H. Wong, DPS/Graphics, 264-7918)
Subject: Re: Error handler and timeout


I have a LaserWriter set up as a terminal queue under VMS V4.2.
I have tried all the tricks I can imagine to append a Control-D
to my print job but so far have no luck.  What I ended up doing
was hacking the error handler to *NOT* print the timeout message
when the errorname is (timeout).

So, all I did was replacing the line containing the showpage

     systemdict/showpage get exec(%%[ Error: )print

with a conditional statement:

     errorname (timeout) eq
     {systemdict/erasepage get exec systemdict/initgraphics get exec}
     {systemdict/showpage get exec} ifelse (%%[ Error: )print

It seems to be working so far and it is saving me one page after each job.
I still would love to know the *correct* way of sending a end-of-job signal
to the LaserWriter from VMS, though.

- Paul

---------------------------------------------------------------------
Paul H. Wong
Digital Equipment Corp.
Merrimack, NH
(603)-884-7918

ARPA: 	PWong%PIXEL.DEC@decwrl.arpa
USENET:	{allegra|decvax|ihnp4|ucbvax}!decwrl!dec-rhea!dec-pixel!pwong

------------------------------

Date: Wed 22 Jan 86 16:45:13-CST
From: Mildred <cc.joseph@A20.UTEXAS.EDU>
Subject: PostScript print program

Does anyone know of a public domain or vendor supplied program to allow a
Scribe PostScript file, to be printed on an Apple LaserWriter that is connected
to the user's terminal through the printer port?  Any information would
be appreciated.

------------------------------

Date: 22 Jan 1986 1538-PST (Wednesday)
From: Glenn Trewitt <trewitt@su-amadeus.arpa>
Subject: Re: PostScript print program

It depends on your terminal.  Terminals that have printer ports have one
escape sequence to start sending all characters to the printer port and
another to stop it.  The exact sequence will vary between terminals.
DEC VT1xx's can do this, but I don't know any of the escape codes.

The first thing to try is to cause your computer to send (to your
terminal) the "PrinterOn" sequence, the PostScript file, and then the
"PrinterOff" sequence.

If you are sending data too fast, the printer may send a ^S to stop
transmission and ^Q to restart it later.  "Too fast" is totally
dependent upon the document being printed.  If your terminal sends the
^S/^Q from the printer to your computer and you have XON/XOFF handling
turned on at the computer, you are in good shape.  If the terminal
doesn't pass through ^S/^Q (quite possible), you will have to lower the
speed.

There is nothing special about PostScript files generated by Scribe.

	- Glenn Trewitt

------------------------------

From: harrison@renoir.berkeley.edu (Michael Harrison)
Subject: Re: PostScript print program
Date: 22 Jan 86 16:23:02 PST (Wed)

While waiting for my home computer (SUN III) to be delivered, I ran a
laser-writer from a concept-108 connected to Berkleley UNIX systems
running transcript.
I printed all kinds of files (including dvi files) with this arrangement.
I even hacked programs to do mailing labels and envelopes.
	It was so slow (1200 baud) that it was like a mule towing a
car but it worked. Anyone who needs the program can have it.

------------------------------

Date: Wed, 22 Jan 86 21:12:59 est
From: allegra!phri!roy@seismo.CSS.GOV (Roy Smith)
Subject: Re:  PostScript print program

	cc.joseph@A20.UTEXAS.EDU wants to use a LaserWriter on the printer
port of a terminal.  I submit the following Unix shell script I threw
together just yesterday when we got our LW (I'm having a ball with it).
It's grungy, non-portable, and doesn't deal with errors at all.  It does,
however, do the job.

----------------
#
# Shove a PostScript file out the printer port on a X3.64 terminal.  A ^D
# is appended as the PostScript end-of-job marker.  This is a rather stupid
# implementation and doesn't do anything about error or status messages.
#
stty litout
echo -n '<escape>[5i'
cat $1 $2 $3 $4 $5 $6 $7 $8 $9
echo showpage
echo -n '<control-d><escape>[4i'
stty -litout
----------------

	To use it just say "laser file1 file2 file3 ..." or "... | laser".
To really re-constitute the shell file, you have to replace the items
inside the <>'s with the obvious stuff.  The echo'd escape sequences make a
VT-100 clone enter/exit printer-controller mode.  Obviously, you really
want to add those capabilities to your termcap/terminfo data bases like we
did here.  The litout mode allows the ^D to get out.

	I don't imagine it would be hard to translate this to whatever
passes for a shell on TOPS-20 or VMS.  Then again, I've never known
anything to be easy on either of those, so I might be wrong. :-)

Roy Smith <allegra!phri!roy>
System Administrator, Public Health Research Institute
455 First Avenue, New York, NY 10016

------------------------------

Date: Thursday, 23 Jan 1986 05:55:42-PST
From: robinson%chopin.DEC@decwrl.DEC.COM  (Scott G. Robinson LTN1-2/B17 DTN 226-6279)
Subject: Re: to the REs: PostScript print program

Before everyone tries to hook up their LWs to printer ports let me
recount my experience.

The LW wants a bi-directional port, some manufacturer's terminals send out the
printer port but only handle ^S/^Q characters from the printer (i.e. you don't
get characters back from the printer port to a program running on the host).
For instance, DEC VT1xx and VT220s are this way. The DEC VT24x, though, does
have a bidirectional mode for its printerport. I had all kinds of problems
sending postscript to the LW through a VT220!

I then switched to a VT240 and it worked about 99% of the time; I was not able
to achieve 100% reliability. To get it mostly reliable I had to run the
printer port at 9600 baud and the computer-to-terminal line at 4800 baud.
It would seem there is some buffer delay in the LW and VT240 which would
cause LW overruns.

I eventually switched over to a direct connection, mostly frustrated.

- Scott Robinson

------------------------------

End of Info-Postscript for Laser Lovers Digest
**********************************************