Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!decwrl!adobe!heaven!glenn From: glenn@heaven.woodside.ca.us (Glenn Reid) Newsgroups: comp.lang.postscript Subject: Re: Problems with serial drivers (and postscript printer) Message-ID: <405@heaven.woodside.ca.us> Date: 23 Jan 91 23:17:29 GMT References: Reply-To: glenn@heaven.woodside.ca.us (Glenn Reid) Organization: RightBrain Software, Woodside, CA Lines: 46 In article admin@cs.exeter.ac.uk (System Administrator) writes: >We are experiencing some problems with the apollo (domain OS 10.2 bsd) >serial port whilst attempting to drive a postscript laser printer. > >As far as we can determine the problem occurs when the postscript file >has finished its job and the printer sends a Ctrl-d back to the >computer. At this point the computer echos two backspace's which the >printer sees as errorneous postscript, ignores further input, >timeouts, sends end of job (ctrl-d) to which the computer sends 2 >backspace's and the cycle continues. Here's a possible workaround. You can actually define a PostScript "procedure" that has two backspaces as its name, and make the procedure a no-op. That should prevent triggering the PostScript error, in any case. I'm not sure whether you would want to define the name to be a single backspace or to be two consecutive backspaces; I think that two consecutive would be correct. Try this: %! % (the "exitserver" line makes the patch stay until you power-cycle % the printer, but it may not work exactly like this in your Apollo) serverdict begin 0 exitserver % define a string with two backspaces (octal \008) and use it as % the name of a procedure: (\008\008) { % do something to indicate that the procedure was actually % called. If it works, delete this code: 10 10 moveto /Times-Roman findfont 24 scalefont setfont (double-backspace handled) show showpage } def % I hope this helps, % Glenn -- Glenn Reid RightBrain Software glenn@heaven.woodside.ca.us NeXT/PostScript developers ..{adobe,next}!heaven!glenn 415-851-1785 (fax 851-1470)