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 **********************************************