1 LISP LIBRARY PACKAGES MANUAL 1 LISP LIBRARY PACKAGES MANUAL FX80STREAM 1 PRINTING 1 FX80STREAM 6 FX80Stream is a library of routines that defines a new flavor of image stream suitable for driving an Epson FX-80 dot-matrix printer. With FX80Stream you can use the full set of Interlisp-D device-independent graphical operations to compose pages on your FX-80. FX80Stream is easy to use, and can either store the FX-80 output on a file for later printing, or, when used in conjunction with the Centronics or RS232 packages, will directly drive an FX-80 connected to your workstation. Output is sent to the FX-80 on a page-by-page basis: whenever a new page occurs, either as a result of printing below the bottom of the FX-80's clipping region, or of printing a formfeed, the image of the page is sent en masse to the FX-80. 2 Initializing the FX-80 1 ÿÿïf ÿConnect the FX-80 printer to the appropriate port on your workstation: TTYPort, RS-232, or Centronics. ÿÿïf ÿTurn the FX-80 on. ÿÿïf ÿ Load the FX80Stream and RS232 (or Centronics) packages. ÿÿïf ÿCall RS232C.INIT or an equivalent to initialize the communication device. 2 Using the FX-80 1 You are now ready to open an image stream to the FX-80 and send text and images to it. You can use the full set of DIG operations, including BITBLT, DRAWLINE, FILLCIRCLE, etc., to draw on the FX-80's 576-point-wide-by-792-point-high page at 72-point-per-inch-resolution. You can send your TEdit documents to the FX-80 as well. The following examples illustrate some of these capabilities: ÿÿïf ÿEvaluating (SETQ FX80 (OPENIMAGESTREAM '{RS232}FOO.FX80)) will set the variable FX80 to be an FX-80 image stream connected to the RS232 port. ÿÿïf ÿ(BITBLT (WHICHW) NIL NIL FX80 0 0) will place a window's image in the FX-80 stream's page buffer at position (0,0). ÿÿïf ÿTo print a TEdit document, right-button in the TEdit window's title bar and select ©©Hardcopy.'' Slide off to the right of that selection and pick ©©To a file.'' Type ¹¹{RS232}.FX80'' and press a carriage return. ÿÿïf ÿ(DSPOPERATION 'PAINT FX80) will cause all subsequent imaging operations to ©©or'' their bits with the destination. ÿÿïf ÿ(DRAWLINE 0 0 576 792 10 'REPLACE FX80 NIL '(10 5)) will draw a 10-dot-wide dashed line diagonally across the FX-80's page. ÿÿïf ÿ(PRINTOUT FX80 "Hello world" T) will print the string ©©Hello world'' on the FX-80's page, followed by a carriage-return/linefeed.(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# 259) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 618) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (-234 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))) .ÌÌøÞ/ø2ÈT/øÈT.ÌÌøÈ.ÌÌø È/ÌÌøÈT/ÌÌøÈTBøø PAGEHEADING VERSOHEADBøø PAGEHEADING RECTOHEADAøø PAGEHEADINGFOOTINGVAøø PAGEHEADINGFOOTINGRMODERNMODERNMODERN   HRULE.GETFNMODERN    HRULE.GETFNMODERN     HRULE.GETFNMODERN   HRULE.GETFNMODERN   HRULE.GETFNMODERNÑ HRULE.GETFNMODERN HRULE.GETFNMODERNj;L HRULE.GETFNMODERN HRULE.GETFNMODERNˆ /TvÙu~„ žRzº