Documentation for FXPRINTER March 11, 1984 FXPRINTER allows, through the functions that it holds, a user to print Lisp files to an Epson FX-80 printer. Following is the user documentation that shows how to use this interface program. For the functions to work properly, the Epson Intelligent Serial Interface (Cat. No. 8148) must be installed on the Epson printer (If you own an 1100, and do not have an Epson Serial Interface, you can use the FXPARALLELPRINTER code and a 37-to-36 pin parallel connector to communicate between processor and printer. Check the reference manual for pin assignments and the FXPARALLELPRINTER.TED file for user documentation). This interface allows 2K bytes of storage (frequently, the printer will be running at half speed so that storage will be necessary). The Serial Interface has a series of Dip Switches that must be correctly set in order for proper interface between Lisp Machine and printer to take place. Although some of these are factory set, it is a good idea to check all of them before starting off. There are two switch boards, located at the open end of the Interface board. Tables 1 and 2 on pages 4 & 5 of the Intelligent Serial Interface user manual instruct the user how these settings should be. Those of immediate interest are 1. Bit rate selection- this should be set to the rate selected when queried by the program. Switches 1-5, 1-6, 1-7, and 1-8 control the rate setting, and should be set at ON OFF ON OFF - For 300 baud rate, ON OFF OFF OFF - For 1200 baud rate. OFF ON ON OFF - For 2400 baud, OFF ON OFF ON - For 4800 baud, or OFF ON OFF OFF - For 9600 baud. The fastest that the printer - 1108 interface can run at is 9600 baud. 2. Flag reset timing selection- The serial Interface will take in 2K of characters, and then send a flag across to the transmitting machine that the buffer is full. The interface will then clear a designated amount of the buffer before reseting the flag and allowing more information to be sent. THE RESET TIMING IS INITIALLY SET TO 152 BYTES, AND MUST BE CHANGED TO 1,936 BYTES IN ORDER FOR PROPER INTERFACING AT BAUD RATES ABOVE 1200 . Switches 2-3 and 2-4 control the flag reset selection, and should both be set to ON . All other switch settings are factory set correctly for proper interfacing. That is, switches 1-1, 1-2, 1-3, 1-4, 2-5 and 2-6 should be OFF, and switches 2-1 and 2-2 should be ON. CABLE CONNECTIONS BETWEEN 1108 AND PRINTER For the connection between 1108 and Epson printer, a cable must be made up as specified below. This cable interfaces the Epson Serial Interface and the RS232 port at the back of the 1108. The cable is a male-to-male, 6 conductor, 25 pin connector. Pin connections go straight through as follows: Pin 1 goes through to pin 1, pin 2 to pin 2, pin 3 to pin 3, 6 to 6, 7 to 7, and 20 to 20. On the 1108 end, pins 4 and 8 should be jumpered together. CABLE CONNECTION BETWEEN 1100 AND PRINTER The connection between the 1100 and the Epson printer is made from the Epson Serial Interface and the RS232 Port that must be attached to the side of the 1100. The connector between the two must be a male-to-female, 6 conductor, 25 pin connection. Pin connections are as follows: Pin 1 goes straight through to pin 1, and pin 7 to pin 7. pins 2 & 3 cross over (2 to 3, and 3 to 2), and pins 6 and 20 also cross over. RUNNING RS232.PRINT After loading the file FXPRINTER.DCOM, call the function RS232.PRINT with the file, bitmap, or window to be printed as its argument, e.g. (RS232.PRINT 'FOOFILE). The function will then query the user to see if the paper is correctly set. If no answer is given, it will default as no, and ask the user again, until a response of Y(es) is given. Next, the user is asked which bit rate setting he/she wishes to use. If no answer is received within 60 seconds, the default of 1200 baud is used. Note: Make sure that the setting specified during program operation is the same as that set on the Epson printer. Also Note: When bit maps and windows are printed using the FXPrinter code, they are rotated by a negative 90 degrees on the page. If this is undesirable, call the function RS232.PRINT with the SECOND argument non-nil ,e.g. (RS232.PRINT 'FOOBITMAP T). The query for baud rate selection marks the last of the user interaction with the program. At this point the file is printed out with all fonts set in the file intact. The paper perforations are automatically skipped over if a file is being printed out (this depends on proper initial paper setting, so the paper should be set correctly at the beginning.) and the end of file marks the end of the program. If the user already has the printer set up correctly, and wants the baud rate to be 9600, he/she can avoid the queries made by the program by adding a third non-nil argument. This will cause the program to skip the inquiries, use 9600 baud as the rate the computer is set to, and begin printing immediately. An example is (RS232.PRINT ABITMAP NIL T) This informs the function that the bit map ABITMAP is to be printed, it may be printed rotated by -90 degrees (which will allow the printing to take place faster, using a quicker bit map access function.), and questions about baud rate and paper position may be avoided (i.e., assume the paper is in position, and the baud rate is set at 9600), so that printing starts out immediately. Printing out a file takes place the same way, except that the second argument is discarded by the program, since a file cannot be rotated on a page (In other words, calling (RS232.PRINT 'FOOFILE T T) will not cause the file to be rotated, but will cause the queries to be skipped). Since printing of a window will first have the window transformed into a bit map, call the function RS232.PRINT the same way for a window as one would a bit map. A quick recap on calling the FXPRINTER code: 1. For a file. a) (RS232.PRINT 'THEFILE) , or b) (RS232.PRINT 'THEFILE NIL T) , to avoid queries on paper position and baud rate selection. 2. For a bitmap or window. a) (RS232.PRINT ABITMAP) , or b) (RS232.PRINT ABITMAP T) , so that there is no rotation of the image on the page, or c) (RS232.PRINT ABITMAP T T) , so that there is no rotation and there are no queries from the computer, (this will run slower due to the avoidance of rotating the bitmap.), or d) (RS232.PRINT ABITMAP NIL T) , so that there is rotation of the image, and no user interaction with the computer. PLEASE NOTE: IF USING THE FX80 AS YOUR DEFAULTPRINTER, THE DEFAULTPRINTINGHOST MUST BE SET TO 'FX.80, OR TO A LIST OF PRINTERS WITH 'FX.80 AS THE FIRST ELEMENT. YOU MAY WISH TO SET A VARIABLE CALLED DEFAULTLOCALBAUDRATE TO THE DESIRED BAUD RATE TO AVOID BEING ASKED TO SPECIFY IT EVERY TIME. LIKEWISE, YOU MAY SET A VARIABLE CALLED SUPPRESS.PAPER.SET.FLAG TO TRUE IN ORDER TO AVOID CONTINUOUS PROMPTING. At the moment, Tedit, Lafite and Press files may not be printed on the FX80. TIMESROMAN  HELVETICA HELVETICA  TIMESROMAN  HELVETICA HELVETICA HELVETICA ß HELVETICA  HELVETICA  HELVETICA  HELVETICA ” HELVETICA  HELVETICA Ï HELVETICA  HELVETICA G HELVETICA  HELVETICA  HELVETICA  HELVETICA  HELVETICA  HELVETICA Œ HELVETICA  HELVETICA R HELVETICA  HELVETICA  HELVETICA  HELVETICA ‰ HELVETICA  HELVETICA % HELVETICA  HELVETICA  HELVETICA  HELVETICA + HELVETICA  HELVETICA ¿ HELVETICA  HELVETICA < HELVETICA ¥ HELVETICA HELVETICA ; HELVETICA  HELVETICA * HELVETICA  HELVETICA   HELVETICA HELVETICA W HELVETICA ¶ HELVETICA  HELVETICA  HELVETICA  HELVETICA b HELVETICA  TIMESROMAN ü HELVETICA  TIMESROMAN ã HELVETICA  HELVETICA › HELVETICA  HELVETICA 5 HELVETICA  HELVETICA e HELVETICA  HELVETICA  HELVETICA  HELVETICA F HELVETICA  HELVETICA  HELVETICA  HELVETICA ¬ HELVETICA  HELVETICA  HELVETICA  HELVETICA | HELVETICA  HELVETICA  HELVETICA  HELVETICA € HELVETICA ]Nz·