XEROX Lisp Library Packages 2 4 1 1 FX80STREAM 1 4 4 4 FX80STREAM is a library of routines that defines a new flavor of imagestream 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 RS232 package, 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 newpage 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. INITIALIZING THE FX-80 · connect the FX-80 printer to the TTYPort (if on a Dandelion) or RS-232 port of your workstation. · turn the FX-80 on. · load the FX80STREAM and RS232 packages. · call (RS232INIT) to initialize the RS-232 file device. USING THE FX-80 You are now ready to open an imagestream 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 will illustrate some of these capabilities: · Evaluating (SETQ FX80 (OPENIMAGESTREAM '{RS232}FOO.FX80)) will set the variable FX80 to be an FX-80 imagestream connected to a 9600 baud serial line. If you'd like to run the printer at a different speed, first set the variable FX80BAUDRATE to the desired baud rate. · (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). · 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 . · (DSPOPERATION 'PAINT FX80) will cause all subsequent imaging operations to "or" their bits with the destination. · (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. · (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 NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE BOO) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE BOO) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE BOO) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))))),È È&ŠŠ8,ŠŠ8 4&ŠŠ8,ŠŠ8È:ÈÈ PAGEHEADINGBOO HELVETICA  HELVETICA HELVETICA  HELVETICA  HELVETICA LOGO HRULE.GETFN HELVETICA HRULE.GETFN HELVETICA HRULE.GETFN HRULE.GETFN HELVETICA  HRULE.GETFN HELVETICA HRULE.GETFN HRULE.GETFN HRULE.GETFN HELVETICA«c*9Š /ÒvÉs~ƒ VHzº