All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, photocopying, recording or otherwise, without the prior written permission of Epson Corporation. No patent liability is assumed with respect to the use of the information contained herein. While every precaution has been taken in the preparation of this book, Epson Corporation assumes no responsibility for errors or omissions.
Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Installation and Operation . . . . . . . . . . . . . . . . . . . . . . Inserting the Printer Interface Cartridge . . . . . . . . . . . Printing the Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . Connecting the Printer to Your Computer . . . . . . . . . Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Your Printer . . . . . . . . . . . . . . . . . . . . . . .
ExpandedMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode Combinations . . . . . . . . . . . . . . . . . . . . . . . . . . . Underline Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Master Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Superscript and Subscript . . . . . . . . . . . . . . . . . . . . . . . International Characters . . . . . . . . . . . . . . . . . . . . . . . . Special Graphics Character Set . . . . . . . . . . . . . . . .
Appendixes A LX-90 Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DraftMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NLQMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-l A-2 A-4 B Software Commands in Numerical Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-l C Command Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . Near Letter Quality Mode . . . . . . . . . . . . . . . . . . . . . .
Introduction The Epson LX-90™ printer with the PIC for parallel interface systems combines low price with the high quality and advanced capabilities formerly available only on more expensive printers. The LX-90 User’s Manual tells you how to set up your printer. This Printer Interface Cartridge Operation Manual gives you the specific information you need to use the LX-90 with your computer.
Chapter 1 Installation and Operation After you have set up your printer and loaded the paper (following the directions in the LX-90 User’s Manual), you are ready to plug in your Printer Interface Cartridge (PIG™) and begin printing. Inserting the Printer Interface Cartridge Inserting the PIC is easy. The cartridge slides into the rectangular opening, as shown in the LX-90 manual. Be sure the printer is OFF when you insert the PIC. The PIC has a grounding wire. Attach it as shown in Figure l-1.
Now that the PIC is installed, you need to change the settings of three small switches, called DIP switches, in the back of the printer, Figure 1-2 shows where the DIP switches are. Figure l-2. DIP switch location The functions of these switches are explained in detail in Appendix D, but all that you need to do now is turn three of them on. All the others should be off. (The switches are down when they are off and up when they are on.
2. Hold down the LF button on the control panel while you turn the printer on with the power switch. The LX-90 begins printing letters, numbers, and symbols in the draft mode. It won’t stop until you turn it off or until it gets near the end of the paper. To see the same test in the NLQ (Near Letter Quality) mode, turn the printer on while pressing the FF button. Figure 1-3 shows partial results of both tests. I Draft ! “ # $ % ! & ’ ( ) * + , - . /0123456789 : ; <=>?@ABCDEFGHI ! “#$%& ’ ()*+,-.
Control Panel After connecting your LX-90 to your computer, turn on the printer and look at the control panel, which is shown in Figure l-4. I Figure 7-4. Control panel You have already used the control panel for a special purpose, printing the self test. Here are the main functions of the lights and buttons on this panel: l l l l The POWER light glows green when the power is on. The READY light glows green when the printer is ready to accept data.
The other two buttons, FF and LF, work only when the printer is off line (when the ON LINE light is off). If the ON LINE light is on, press the ON LINE button before you use these. l l FF (Form Feed)-advances continuous paper to the top of the next page or ejects a single sheet of paper. LF (Line Feed)-advances the paper one line at a time. The control panel can also be used to turn on several printing functions using SelecType, a feature which is described in the next chapter.
Chapter 2 SelecType The LX-90 enables you to use a feature called SelecType to produce five special typestyles: Typewriter-style Near Letter Quality, Emphasized bold printing, Double-strike bold printing, Conpressed narrow printing, or Elite printing. Choosing typestyles with SelecType is simple. A few taps on the printer’s control panel tells the printer which style you want, and SelecType lets you choose the typestyle each time you print.
Figure 2-1. Turning SelecType on When you press the ON LINE and FF buttons, the LX-90 signals in three ways that SelecType is on. l The printer beeps. l The READY light turns off. l The ON LINE light begins flashing. Selecting typestyles In SelecType, each button has a function: l ON LINE selects typestyles. l FF sets the styles. l LF turns SelecType off. After turning on SelecType, follow these three steps to select a typestyle: 1. Find the typestyle you want in Table 2-l.
Table 2-1. SelecType modes Mode 1 2 3 4 5 Typestyle NLQ Emphasized Double-strike Compressed Elite ABCDEFGHJIJKLMNopqrstuvwxyz ABCDEFGHIJKLMnopqrstuvwxyz ABCDEFGHIJKLMnopqrstuvxyz ABCDEFGHIJKLMnopqrstuvwxzyz ABCDEFGHIJKLMnopqrstuvwxyz 2. Press the ON LINE button the number of times indicated in the mode column. Be sure that the printer beeps each time you press the ON LINE button. 3. Press the FF button to set the typestyle. 4. Press the LF button to turn SelecType off.
Now, run the program by typing RUN and pressing RETURN, or print your file or document by following the printing instructions of your software. The LX-90 will print your example in standard singlestrike printing, as shown below: This is an example of LX-90 printing. Now that you have created a sample, follow these steps to print it in emphasized mode: 1. See that both the ON LINE and READY lights are on. 2. Press the ON LINE and FF buttons at the same time. You hear a beep to signal that SelecType is on.
Mode Combination Two of the SelecType modes (NLQ and emphasized) can be combined to create an impressive effect. If you want to see this combination, turn your printer off and back on and follow the instructions below : 1. See that the ON LINE and READY lights are on. 2. Press the ON LINE and FF buttons at the same time. 3. Press the ON LINE button once and then the FF button once. Since one is the code for NLQ, you have now set the LX-90 for NLQ. 4.
Table 2-2. Mode combinations Mode NLQ Emphasized Double-strike Compressed Elite NLQ Emphasized • • • Double- Compressed Elite • • • • strike • • • Don’t worry about harming your printer if you try to combine two modes that the LX-90 can’t mix. Your settings cannot damage the printer because it is prepared for the possibility of receiving codes for conflicting modes. If it receives codes for two modes that it can’t combine, it uses only one of the codes.
Chapter 3 Elements of Dot-Matrix Printing and Computer/Printer Communications This chapter is for those of you who want to know something about how your printer works. It’s a simple, non-technical explanation of the basics of dot-matrix printing that will help you understand some of the later chapters, particularly the ones on user-defined characters and graphics. The Print Head The LX-90 uses a print head with nine pins or wires mounted vertically.
Other Pitches In addition to pica, in which there are 10 characters per inch, the LX-90 can also print in other widths, or pitches. It does so by reducing the distance between pin firings. In the elite mode it prints 12 characters per inch and in the compressed mode it prints slightly more than 17 characters per inch. The pattern of the dots is not changed, but the horizontal space between them is reduced. Figure 3-2 shows enlargements of four sample letters in each of the three pitches.
NLQ Mode The preceding examples are in the I-X-90’s draft mode, but the LX-90 also has the high-quality NLQ (Near Letter Quality) mode that you have seen in previous chapters. The NLQ letters are more fully-formed than the draft letters because they are made up of many more dots, as you can see below. Figure 3-3 shows enlargements of two letters in draft mode compared with the same two in the NLQ mode. Figure 3-3.
ESCape and ASCII The details of printer-computer communication are complex, but for most purposes all you need to know is that the computer sends a series of codes (each consisting of one or more numbers) to the printer, and the printer interprets them. Some codes tell the printer to print a character, and other codes tell it to turn on or off certain printer functions, such as emphasized or Near Letter Quality.
Chapter 4 PIC Features The next four chapters describe many of the printing features of the PIC. You can read these chapters if you wish, but you may not need to. Whether or not you use the rest of this manual depends upon your expertise, your interest, and the software you plan to use. Demonstration Programs Along with a discussion and examples of the PIC features, these chapters include demonstrations in the BASIC programming language so that you can see these features in action.
printer for you and all you have to know about the printer is how to turn it on and how to load paper. If you need help with the installation program for your software, see Appendix E. Running BASIC Programs This section describes how to run the BASIC demonstration programs in this manual; it is not a tutorial in BASIC programming. Although there are many versions of BASIC, the programs in this manual are designed to work with the two most popular ones: Microsoft BASIC and IBM@ PC BASIC.
Pica Printing The first exercise is a simple three-line program to print a sample line of characters in pica, the standard pitch. Enter this program: 40 FOR X=65 TO 105 50 LPRINT CHR$(X); 60 NEXT X: LPRINT: LPRINT Now run the program. You should get the results you see below, 10 pica characters per inch. ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]ˆ-`abcdefghi Changing Pitches Now you can try other pitches.
Now run the program to see the line printed in compressed mode. Cancelling Codes As you saw in the third version of the print pitch program, you must cancel a code when you don’t want it any more. With very few exceptions, the LX-90 modes stay on until they are cancelled. It is important to remember this because an LX-90 mode can stay on even if you change from BASIC to another type of software.
you may have turned on, and the current position of the print head becomes the top-of-page setting. Some of the demonstration programs end with a reset code (Escape “a”) so that the commands from one program will not interfere with the commands in the next one. After you run a program with a reset code in it, remember to change the top-of-page setting before you begin printing full pages.
Enter and run the following program to see how the NLQ mode is turned on by an ESCape sequence: NEW 10 LPRINT CHR$(27); "x"; CHR$(l); 28 FOR X=65 TO 105 30 LPRINT CHR$(X); 40 NEXT X: LPRINT ABCDEFGHINKLMNOPQRSTUVWXYZ[\]ˆ_`abcdefghi Note that you use a lowercase x, not a capital X, in line 10. Because of the high resolution of the NLQ mode, it prints only in pica, not in elite or compressed. All the modes demonstrated in this chapter are compared in Table 4-l. Table 4-1.
Chapter 5 Print Enhancements and Special Characters Besides the pitches (pica, elite, and compressed) covered in Chapters 3 and 4, the LX-90 offers many other typestyles. Emphasized Mode In the emphasized mode the LX-90 prints each dot twice, with the second dot slightly to the right of the first. In order to do this, the print head must slow down so that it has time to fire, retract, and fire the pins quickly enough to produce the overlapping dots.
Emphasized works only in draft pica and NLQ modes. In elite and compressed the dots are already so close together that even with the reduced print speed, the LX-90 cannot fire, retract, and again fire the pins quickly enough to print overlapping dots. You do sacrifice some print speed with emphasized, because the print head slows down to print twice as many dots, but the increase in print quality is well worth it.
Expanded Mode Perhaps the most dramatic mode on the LX-90 is expanded. It produces extra-wide characters that are good for titles and headings. For this mode, the dot pattern of each character is expanded and twice as many dots are printed. You can see the difference between pica and expanded pica if you enter and run this program: 10 LPRINT "This is standard printing." 29 LPRINT CHR$(27) ; "W1"; 30 LPRINT "This is expanded." 100 LPRINT CHR$(27);"@" T h i s i s standard printing.
When you run the program, your printout should match the one below, showing that the two modes combine with no trouble. This is s t a n d a r d printing. E m p h a a s i z e d e x p a n d e d A later section in this chapter explains a special ESCape code, Master Select, which allows you to control six features with one ESCape sequence. Underline Mode The LX-90 also has a mode that will underline characters and spaces. You turn it on with ESCape “-1” and off with ESCape “-0”.
Master Select The LX-90 has a special ESCape code called Master Select that allows you to choose any possible combination of seven different modes: pica, elite, compressed, emphasized, double-strike, expanded, and italic.
In this program, you can use any number you calculate by using the formula above, but remember that emphasized can’t combine with compressed or elite. If you try to combine emphasized with either of the two narrow pitches, you won’t harm your printer; it will simply use a priority list in its memory to determine which mode to use. The list below shows the results of trying to combine emphasized with either or both of these modes.
Now that you see how to use the ESCape sequences for superscript and subscript, you can devise your own examples. International Characters As you know, languages other than English require a few extra characters. The LX-90 has provided for printing in many languages by having nearly 100 international characters in its ROM (Read Only Memory). This total includes characters in three sets: draft, draft italic, and NLQ (Near Letter Quality).
Table 5-l. International characters in NLQ mode Table 5-2. International characters in draft mode Table S-3. International characters in draft italic mode The number at the top of each column in the tables is the ASCII code that prints the characters in that column.
Once you have selected an international character set with the DIP switches or the ESCape “R” code, you can use the tables to see which keys on your standard keyboard can produce the international characters you want. Simply type the character from the top row of one of the figures in order to print the corresponding character in the row of the set you have chosen. For example, if you have reset the DIP switches for the UK character set and you press the # key, the £ symbol will be generated.
Special Graphics Character Set The LX-90 printer’s Read Only Memory (ROM) also contains the 32 graphics characters that you see in Figure 5-1. Figure 5-l. Special graphics characters Undoubtedly you can think of uses for many of the shapes and symbols available in this set, and you can combine the line graphics characters (the ones on the first row) to form various sizes and shapes of boxes and other figures that use straight lines.
You can change pitch and weight with the graphics characters just as you can with the other characters in the ROM of the LX-90. The characters in Figure 5-l are printed in expanded elite.
Chapter 6 Page Formatting Although the LX-90 printer has many sophisticated commands to set margins, line spacing, and horizontal and vertical tabs, this chapter won’t take up your time with extensive discussions of these because most are taken care of by applications programs. Instead, this chapter describes a few commands that the average user might need. For more information, see Appendixes B and C, where all the commands are listed and described.
A program like this also allows you to choose the margins you prefer for program listings. Just remember that once you run a program that sets margins, those margins are in effect until you change them with new margin commands or turn off or reset the printer. You should be aware that a few applications programs reset the printer before each document or file they print. These programs will, of course, cancel your new margin settings. If your program resets the printer, use the program’s margin command.
The standard line spacing is the only one you need for almost all printing of text, but in some cases you may want to increase or decrease the space between lines. The LX-90 has several commands to do this. ESCape “0” changes the line spacing to l/B-inch, ESCape “1” changes the line spacing to 7/72-inch, and ESCape “2” returns it to l/6-inch. In addition there are commands to specify the line spacing in 72nds of an inch and 216ths of an inch.
The centering command centers a line of text between the margins. This is handy for headings, titles, and captions. Right justification is the opposite of left justification. The right margin is even and the left is not. Auto justification puts extra spaces between words where necessary so that both the left and right margins are even. This is the way most magazines, newspapers, and books (including this one) are printed.
Chapter 7 User-Defined Characters The LX-90 has several hundred different characters stored in its Read Only Memory. Although this number includes draft, Near Letter Quality, international, and graphics characters, sometimes you would like to have a few more. For those occasions when you need a special character or a few letters in a different typeface, the LX-90 allows you to create your own characters and print them just as if they were ordinary letters.
Your user-defined characters can be utilitarian or imaginative, anything from a scientific symbol to script letters for your initials. Just follow the simple steps below. The only restriction on your creativity is that the characters you define must follow the same rules that govern the rest of the characters printed by the LX-90. In Figure 7-l are four pica letters with a grid of lines behind them so that you can see how they are designed.
Figure 7-2. Grid for designing draft characters Because the last two columns are reserved for the space between characters, they are not included in the grid. And since most characters do not use the bottom two rows, a heavy line indicates the usual lower limit for an LX-90 character. When you place your dots on this grid, remember that dots cannot go on horizontal lines, but they can go on vertical lines so long as they do not overlap any other dots.
Definition program 1 The BASIC program below will help you translate your design into a character your LX-90 can print. Type it in now so that you can run it soon.
Running the program Now run the program. For each of the nine columns, the program asks for the numbers of the rows in which you want dots to appear. Enter the row numbers one at a time, pressing the RETURN key after each one. When you have entered all the numbers for a column or when you want no dots in a column, press RETURN without a number. Remember that the vertical lines in the grid are the even-numbered columns.
Figure 7-5. Using the bottom eight rows Definition program 2 Once the character looks right, type in the next program. The program as listed creates the symbol for Mercury, but you can use it for any characters you create if you make one or two changes explained after the program listing.
210 DATA 112,8,0,138,116,138,0,8,112 220 DATA 58,68,2,128,0,128,2,68,58 Check your work by making sure that there are nine numbers in each DATA line and that the numbers are separated by commas. To define more than one character, use the total number of characters you are defining instead of the 1 in line 100. (You can define as many as six characters at a time. Just run program 1 several times and enter all the DATA numbers in program 2.
NLQ grid Because the NLQ characters can use as many as 18 dots vertically and 12 dots horizontally, you plan your designs on a different grid than the one for draft characters. Figure 7-6. Grid for NLQ characters On this grid you can use any numbered line or space. As you can see, that includes the bottom line and the line on the right side. You should remember to leave one or two columns blank for space between characters, however. Each NLQ character definition requires 36 data numbers.
Figure 7-7. Data numbers for one column To calculate the data numbers for this column, note which dots are used in the top group (the top eight positions) and add their values together. Then go down to the middle group (the next 8 positions) and add the values of any dots that are used there. Finally, look at the bottom group (2 dot positions) and add together the values used there. If no dots are used in a group, the data number for that group is zero.
Figure 7-8. Musical design and data numbers If you look at each column individually, you can see how the data numbers are calculated. NLQ definition program 1 Now type in and run the following program. It has the data numbers for the musical design. For a character of your own, change the data numbers in lines 130 - 150.
NEW 10 LPRINT CHR$(27)"x"CHR$(l) 20 LPRINT CHR$(27) ":"CHR$(0)CHR$(0)CHR$(0); 30 LPRINT CHR$(27)"%"CHR$(l)CHR$(0); 40 LPRINT CHR$(27)"&"CHR$(0)"<<"; 50 LPRINT CHR$(0)CHR$(l2)CHR$(0); 60 FOR X=1 TO 36 70 READ C: LPRINT CHR$(C); 80 NEXT X 90 LPRINT "YOUR CHARACTER IN PICA: <<<" 100 LPRINT "IN EXPANDED EMPHASIZED PICA: "; 110 LPRINT CHR$(27)"!*<<<" 120 LPRINT CHR$(27)"!" CHR$(0) 130 DATA 0,1,0,0,3,128,0,3,128,7,255,0 140 DATA 4,128,0,4,128,0,4,130,0,4,135,0 150 DATA 4,135,0,7,253,0,0,0,0,0,0,0 YOUR CHARACTER
NEW 10 J=1: IF J>3 THEN A=58 ELSE A=60 20 LPRINT CHR$(27)"x"CHR$(1) 30 FOR X=58 TO 63: LPRINT CHR$(X)" ";: NEXT X 40 LPRINT CHR$(27) ":"CHR$(0)CHR$(0)CHR$(0) 50 LPRINT CHR$(27)"%"CHR$(1)CH$(0); 60 LPRINT CHR$(27)"&"CHR$(0)CHR$(A)CHR$(A-1+J); 70 FOR Y=1 TO J 80 LPRINT CHR$(0)CHR$(12)CHR$(0); 90 FOR X=1 TO 36: READ C: LPRINT CHR$(C); 100 NEXT X: NEXT Y 110 FOR X=58 TO 63: LPRINT CHR$(X)" ";: NEXT X 120 LPRINT: END 130 DATA 0,1,0,0,3,128,0,3,128,7,255,0 140 DATA 4,128,0,4,128,0,4,130,0,4,135,0 150 DATA 7,135,0
Chapter 8 Introduction to Dot Graphics The dot graphics mode allows your LX-90 to produce pictures, graphs, charts, or almost any other pictorial material you can devise. Instead of using the standard letters and numbers, the graphics mode prints dots column by column and line by line. You plan where you want the dots to appear and then use a program to tell the LX-90 where to put them.
100 INSTALLATIONS BY MONTH U N I T S 0 JUL AUG SEP OCT NOV DEC The quickest and easiest way to print graphics on your LX-90 is to use a commercial graphics program. With such programs you usually create an image on your monitor or TV screen and then give a command to send the image to the printer. If you use commercial software that produces graphics, all you need to know about dot graphics is how to use the software.
In the main graphics mode, however, the LX-90 prints only one column of pins for each code it receives, and it uses only the top eight of the nine pins. Therefore, your graphics program must send codes for dot patterns, one number for each column in a line. For each of those columns the print head prints the pattern of dots you have specified. To print figures taller than eight dots, the print head makes more than one pass.
The graphics command requires more than one number to specify how many columns to reserve because as many as 1920 columns are possible in graphics printing. Since the LX-90 doesn’t use decimal numbers larger than 255, the graphics mode command uses two numbers for reserving columns. To figure the number of columns reserved, multiply the second number by 256 and add it to the first number. Since the command is set up for two numbers, you must supply two even if you only need one.
Figure 8-2. Calculating numbers for pin patterns With this numbering system, any combination of the eight pins adds up to a decimal number between 0 and 255, and no numbers are duplicated. Now that you know the principles of Epson graphics, you’re ready for two simple exercises, more densities, and then something more complex as a basis for writing your own programs.
WIDTH Statements Some software (including IBM Personal Computer BASIC) automatically inserts the control codes for a carriage return and a line feed after every 80 - 130 characters. This insertion is usually no problem with text, but it can spoil your graphics. In the graphics mode it may insert the control codes in the middle of a line. You can usually prevent these unwanted control codes with a WIDTH statement. One format is shown below.
10 WIDTH LPRINT 255 20 LPRINT CHR$(27)"A"CHR$(7) 30 FOR R=1 TO 3 40 LPRINT CHR$(27)"K"CHR$(100)CHR$(0); 50 FOR X=1 TO 50: LPRINT CHR$(85)CHR$(42); 60 NEXT X: LPRINT 70 LPRINT CHR$(27)"K"CHR$(100)CHR$(0); 80 FOR X=1 TO 50: LPRINT CHR$(42)CHR$(85); 90 NEXT X: LPRINT: NEXT R 100 LPRINT CHR$(27)"@" Now run the program to see the six print lines combine into a pattern: Because the short and simple program that produced the pattern demonstrates many elements of graphics programming, each line is explained below.
Density Varieties Although all the examples so far in this chapter have been in the single-density graphics mode, the LX-90 offers five other eight-pin density modes and two nine-pin ones. Nine-pin graphics is not necessary for most uses, but you can find its command (ESCape "^") in Appendix B. All the eight-pin densities and their commands are described in Table 8-1. Table 8-1.
Reassigning Code The LX-90 has a graphics command that changes one graphics mode to another. You can use it with many commercial graphics software programs to change the density and shape of your printouts. The code is ESCape “?s” n, where s is one of the four alternate graphics codes (K, L, Y, or Z) and n is the number of the new code (O-6).
Once you have chosen the number of columns you want to use, you can have your program do the calculations for you with the following format: CHR$(27)"L"CHR$(N MOD 256)CHR$(INT(N/256)); N is the total number of columns you want to specify. The MOD (modulus) function calculates the value for nl, and the INT (integer) function calculates the value for n2. For programming languages other than BASIC, consult your manual for the proper form for these functions.
lines, but no dots can overlap. In low-speed double density dots can be placed on vertical lines and they can overlap. Now look at the figure designed for high-speed double density. It should point you in the right direction for your own designs. Figure 8-4. Arrow design Although the top pin (value 128) can be used in any graphic you design, this exercise uses only seven pins (values l-64). This was done because the graphic has twenty-one rows-using only seven pins produces three lines of seven rows each.
64 3 2 1 6 8 4 2 1 8 10 8 8 8 8 8 8 4 2 1 0 0 0 0 0 0 0 0 0 23 4 1 0 0 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 2 0 0 0 Figure 8-5. First line of arrow figure The numbers for the second and third lines were calculated in the same manner. Once the numbers for the pin patterns are calculated, they go in DATA statements, separated by commas.
In this program the number 128 in the DATA statements signals the end of a print line. This is the reason for the IF-THEN statement in line 610 that skips to line 650 and causes a line feed. The other special technique used in this program is found in lines 620 and 630. Since some of the data numbers are repeated many times, using negative DATA numbers for repetitions saves typing.
Notice that the first line stores the whole graphics command in a single string variable. In order to do this you must put plus signs between the elements of the command. Once you have done this at the beginning of the program, each time you enter LPRINT G$; you have issued the graphics command. Lines 20 and 30 do the same thing with the data used in this program. As you can see, the use of string variables saves some typing even in this short program.
Appendix A LX-90 Characters This appendix is a listing of the characters produced by the decimal codes from 0 through 255. For each code the listing provides the decimal number (Dec), the hexadecimal number (Hex), and a printout of the character that is printed by that code (Char). If the code does not produce a printable character, the word none or the abbreviation for its control code is in the Char column. This listing is given twice: once for draft and once for NLQ.
Draft Mode Dec Hex Char 0 00 NUL 1 2 3 4 5 6 01 02 03 04 05 06 7 8 9 07 BEL 08 BS 09 HT 10 OA OB OC OD 11 none none none none none none LF VT FF CR 12 13 14 OE SO 15 OF SI 16 10 none 17 11 DC1 18 12 DC2 19 13 DC3 20 14 DC4 21 15 none 22 16 none 23 17 none 24 18 CAN 25 19 EM 26 1A none 27 1B ESC 28 1C none 29 1D none 30 1E none 31 1F none A-2 Dec Hex Char Dec Hex Char 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
Draft Mode Dec Hex Char Dec Hex Char Dec Hex Char 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 A0 blank ! 161 A1 " 162 A2 # 163 A3 $ 164 A4 % 165 A5 & 166 A6 ' 167 A7 ( 168 A8 ) 169 A9 * 170 AA + 171 AB 172 AC , 173 AD 174 AE .
NLQ Mode Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex Char 0 1 2 3 4 5 6 00 01 02 03 04 05 06 7 07 BEL 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 08 09 OA OB OC OD OE OF 10 11 12 13 14 15 16 17 18 19 IA 1B 1C ID 1E 1F 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 96 60 ` 97 61 98 62 b 99 63 c 100 64 d 101 65 e 102 66 f g 103 67 104 68 h 105 69
NLQ Mode Dec Hex Char Dec Hex Char 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 A0 blank ! 161 Al " 162 A2 # 163 A3 164 A4 $ 165 A5 % & 166 A6 167 A7 ' 168 A8 ( 169 A9 ) * 170 AA 171 AB + 172 AC , 173 AD 174 AE .
Appendix B Software Commands in Numerical Order The following list shows the control codes and ESCape sequences that the LX-90 uses along with their decimal values. For further details on their use, consult the index to find out where they are discussed in the text, or Appendix C for details of the correct syntax for their use. (The number after each name is the number of the page in Appendix C where the command is described.
ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC B-2 47 48 49 50 51 52 53 56 57 58 60 63 64 65 66 67 67 68 69 70 71 72 74 75 76 77 78 79 80 81 82 83 83 84 85 87 89 90 94 97 ESC / ESC 0 ESC 1 ESC 2 ESC 3 ESC 4 ESC 5 ESC 8 ESC 9 ESC : ESC < ESC ? ESC @ ESC A ESC B ESC C ESC C 0 ESC D ESC E ESC F ESC G ESC H ESC J ESC K ESC L ESC M ESC N ESC O ESC I’ ESC Q ESC R ESC S 0 ESC S 1 ESC T ESC U ESC W E
ESC ESC ESC ESC 98 ESC b 101 ESC e 102 ESC f 108 ESC l ESC 109 ESC m ESC 115 ESC s ESC 120 ESC x Select Vertical Tabs in Channels . . . . . . C-17 Set Horizontal and Vertical Tabs . . . . . C-18 Print Spaces or Line Feeds . . . . . . . . . . C-18 Set Left Margin . . . . . . . . . . . . . . . . . . . C-11 Select Special Graphics Characters. . . . C-10 Select Half-Speed Mode . . . . . . . . . . . . C-27 Select NLQ or draft . . . . . . . . . . . . . . . .
Appendix C Command Summary This appendix describes all the PIC control codes. They are divided into these categories: Near Letter Quality (NLQ) Character Width (Pitch) Print Enhancement Page Formatting Graphics User-Defined Characters Other Codes Each command has a format section and a comment section. The format section gives the ASCII, decimal, and hexadecimal codes for the command.
In BASIC you can use either decimal or hexadecimal numbers, and if there is a single letter in the second ASCII code column, you can use that letter in quotation marks instead of the number below it.
Near Letter Quality Mode ESC x Format: ASCII code: Decimal: Hexadecimal : Select NLQ or draft ESC 27 1B (n) 120 ( n ) 78 (n) Comments: n = 0 selects draft mode n = 1 selects Near Letter Quality (NLQ) mode ESC a Format: ASCII code: Decimal : Hexadecimal : NLQ Justification ESC 27 1B (n) 97 61 (n) (n) Comments: This sequence selects justification as follows: n = 0: Selects left justification n = 1: Selects centering n = 2: Selects right justification n = 3: Selects full justification The defaul
Character Width (Pitch) Select Compressed Mode SI Format: ASCII code: SI Decimal : 15 Hexadecimal: O F Control: CTRL O Comments: Compressed mode has 17.16 characters per inch. Not available in NLQ. ESC SI Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B Select Compressed Mode SI 15 OF Comments: Duplicates the SI command. DC2 Format: Cancel Compressed Mode ASCII code: DC2 Decimal: 18 Hexadecimal: 1 2 Control: CTRL R Comments: Cancels compressed printing set by SI or ESC SI.
Select Expanded Mode (one line) so Format: ASCII code: S O Decimal: I4 Hexadecimal: O E Control: CTRL N Comments: Doubles the width of all characters. It can be cancelled by a carriage return, DC4, ESC W0 or ESC !. Select Expanded Mode (one line) ESC SO Format: ASCII code: ESC Decimal: 27 Hexadecimal: I B SO I4 0E Comments: Duplicates the SO command.
ESC W Format: ASCII code: ESC Decimal : 27 Hexadecimal: I B Select/Cancel Expanded Mode W (n) 87 57 (n) (n) Comments: Expanded mode doubles the width of all characters. n = 1 selects the mode n = 0 cancels it ESC M Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B Select Elite Pitch M 77 4D Comments: Elite pitch has 12 characters per inch. Not available in NLQ.
Print Enhancement Select Emphasized Mode ESC E Format: ASCII code: Decimal: Hexadecimal : ESC 27 IB E 69 45 Comments: In emphasized each dot is printed twice, with the second dot slightly to the right of the first. Reduces print head speed. Valid only in pica mode. Cancel Emphasized Mode ESC F Format: ASCII code: ESC Decimal: 27 Hexadecimal: I B F 70 46 Comments: Turns off the mode selected by ESC E.
Cancel Double-Strike Mode ESC H Format: ASCII code: ESC 27 Decimal : Hexadecimal: I B H 72 48 Comments: Turns off the mode selected by ESC G. Select Superscript ESC SO Format: ASCII code: Decimal: Hexadecimal : ESC 27 IB s 83 53 0 0 0 Comments: Selects superscript mode. Select Subscript ESC S1 Format: ASCII code: ESC Decimal: 27 Hexadecimal: I B s 83 53 I I I Comments: Selects subscript mode.
ESC Select/Cancel Underlining - Format: ASCII code: ESC Decimal : 27 Hexadecimal: I B - (n) 45 (n) 2D ( n ) Comments: n = 1 selects underlining n = 0 cancels it. Master Select ESC ! Format: ASCII code: Decimal: Hexadecimal : ESC 27 IB ! 33 (n) (n) 21 ( n ) Comments: Selects any valid combination of the following modes: pica, elite, compressed, emphasized, double-strike, expanded, italic, underline. Elite, compressed, double-strike, and italic are not available in NLQ.
ESC 5 Format: ASCII code: Decimal: Hexadecimal: Cancel Italic Mode ESC 27 1B 5 53 35 Comments: Cancels the mode selected by ESC 4. ESC R Format: ESC ASCII code: 27 Decimal: Hexadecimal: I B Select an International Character Set R (n) 82 ( n ) 52 (n) Comments: See Chapter 5 for details on this command.
Page Formatting Margins ESC Q Format: ASCII code: ESC Decimal : 27 Hexadecimal: I B Set Right Margin Q (n) 81 ( n ) 51 (n) Comments: Sets the right margin. Also cancels all text in the print buffer. The range of n is shown below: 2-80 in pica 3-96 in elite 4-137 in compressed 4-160 in compressed elite ESC I Format: ASCII code: ESC Decimal: 27 Hexadecimal: I B Set Left Margin I 108 (n) (n) 6C ( n ) Comments: Sets the left margin.
ESC N Format: ESC ASCII code: Decimal: 27 Hexadecimal: I B Select Skip-Over-Perforation N 78 4E (n) (n) (n) Comments: The variable n is the number of lines skipped between the last line printed on one page and the first line on the next page. For example, with the standard settings for line spacing and page length (66 lines) ESC N 6 will cause the LX-90 to print 60 lines and then skip 6.
Select l/&-Inch Line Spacing ESC 0 Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B 0 48 30 Comments: Sets the line spacing to 1/8 of an inch for subsequent line feed commands. The "0" is the digit zero and not ASCII code 0. ESC 1 Format: ASCII code: Decimal: Hexadecimal : Select 7/72-Inch Line Spacing ESC 27 1B I 49 31 Comments: Sets the line spacing to 7/72 of an inch for subsequent line feed commands. The "1" is the digit one and not lower case L or ASCII code 1.
Select n/216-Inch Line Spacing ESC 3 Format: ESC ASCII code: 27 Decimal: Hexadecimal: I3 3 51 (n) (n) 33 (n) Comments: Sets the line spacing to n/216 of an inch for subsequent line feed commands. The “3” is the digit three and not ASCII code 3. The value of n should be in the range 0 to 255. ESC J Format: ASCII code: Decimal: Hexadecimal : Immediate n/216-Inch Line Feed ESC 27 1B J 74 4A (n) (n) (n) Comments: Advances the paper by one line at a spacing of n/216 of an inch.
Form feed and page length FF Format: ASCII code: F F Form Feed Decimal: 12 Hexadecimal: 0C Control: CTRL L Comments: Prints the data in the print buffer and advances the paper to the top of the next page according to the current page length. Select Page Length in Lines ESC C Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B C 67 43 (n) (n) (n) Comments: Sets the page length to n lines. The value of n should be between 1 and 127.
Tabs HT Tab Horizontally Format: ASCII code: H T Decimal: 9 Hexadecimal: 09 Control: CTRL I Comments: Advances the print position to the next horizontal tab setting. Set Horizontal Tabs ESC D Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B D 68 44 (n1) (n1) (n1) (n2) (n2) (n2) ... ... ... 0 0 00 Comments: This command allows setting of up to 32 horizontal tabs. These are entered as nl, n2, n3 etc. (in the range 1 to 255) with ASCII 0 as the terminator. The tab settings nl, n2, n3 etc.
Select Vertical Tabs ESC B Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B B 66 42 (n1) (n1) (n1) (n2) (n2) (n2) ... ... ... 0 0 00 Comments: Sets up to 16 vertical tabs in the current line spacing. Tab settings are not affected by subsequent changes in line spacing. Terminate this tab sequence with 0 or a number less than that of the last tab. Select Vertical Tabs in Channels ESC b Format: ESC ASCII code: Decimal: 27 Hexadecimal: 1B b 98 62 (c) (n1) (n2) ... 0 0 (c) (n1) (n2) ...
Set Horizontal and Vertical Tabs ESC e Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B e 101 85 (n1) (n1) (n1) (n2) (n2) (n2) Comments: Sets horizontal and vertical tab increments. Horizontal format when nl = 0. In BASIC: CHR$(27);“eO”;CHR!$(n) where n is the number of spaces and equals: 0 - 21 in pica, 0 - 25 in elite, 0 - 36 in compressed. Vertical format when nl = 1.
Graphics Note: See Chapter 8 for sample graphics programs. ESC K Format: ESC ASCII code: 27 Decimal: Hexadecimal: 1B -Select Single-Density Graphics Mode K 75 4B (n1) (n1) (n1) (n2) (n2) (n2) Comments: Turns on single-density graphics mode with 480 possible dots per 8-inch line. If d is the total number of columns required, nl = d MOD 256 n2 = INT(d / 256) This command must be followed by d data numbers.
ESC Y Format: Select High-Speed Double-Density Graphics Mode ASCII code: ESC Decimal: 27 Hexadecimal: 1B Y (n1) (n2) 89 (n1) (n2) 59 (n1) (n2) Comments: Turns on high-speed double-density graphics mode with 960 possible dot positions per B-inch line. Will not print consecutive dots in a row. If d is the total number of columns required, nl = d MOD 256 n2 = INT(d / 256) This command must be followed by d data numbers.
Select Graphics Mode ESC * Format: ASCII code: ESC Decimal : 27 Hexadecimal: 1B * (m) 42 (m) 2A (m) (n1) (n1) (n1) (n2) (n2) (n2) Comments: Turns on graphics mode m. See Chapter 8 for details on the 7 modes available. If d is the total number of dots required, nl = d MOD 256 n2 = INT(d / 256) This command must be followed by d data numbers.
User-Defined Characters Note: See Chapter 7 for sample programs and further information. Define User-Defined Characters ESC & Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B & 38 26 NUL 0 00 (d1) (d1) (d1) (d2) (d2) (d2) ... ... ... (dn) (dn) (dn) Comments: This command allows characters to be re-defined in the currently selected mode. Only characters from ASCII 58 through 63 can be re-defined.
Other Codes BEL Format: Beeper BEL ASCII code: 7 Decimal: Hexadecimal: 07 CTRL G Control: Comments: Sounds the printer’s beeper. BS Format: Backspace ASCII code: B S 8 Decimal: Hexadecimal: 08 CTRL H Control: Comments: Prints out data in the print buffer, then moves the print position one space to the left. If this code is received immediately after graphics printing, the print position of subsequent data is moved back to the point at which graphics printing started.
DC1 Select Printer Format:’ DC1 ASCII code: 17 Decimal : Hexadecimal : 11 CTRL Q Control: Comments: Returns the printer to the on-line mode if it has been switched off by the printer deselect code, DC3. It will not switch the printer on line if it has been switched off using the ON LINE switch on the control panel. DC3 Deselect Printer Format: DC3 ASCII code: 19 Decimal: Hexadecimal: 13 CTRL S Control: Comments: Places the printer in off-line mode until the select printer code DC1 is received.
ESC EM Format: ASCII code: ESC 27 Decimal: Hexadecimal: 1B Cut Sheet Feeder Control EM 25 19 (n) (n) (n) Comments: Used with the optional cut-sheet feeder. When n = 0 the feeder is turned off, when n = 4 it is turned on. Using DIP switch 1-3 produces the same effect. ESC a Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B Disable Paper-Out Sensor 8 56 38 Comments: Turns off the paper-out sensor so that you can print to the end of a single sheet of paper.
ESC < Format: ESC ASCII code: 27 Decimal : Hexadecimal: 1B Select Unidirectional Mode (one line) < 60 3C Comments: Selects unidirectional printing for more accurate positioning during text printing for one line only. It is cancelled by a carriage return. Initialize Printer ESC @ Format: ESC ASCII code: 27 Decimal: Hexadecimal: 1B @ 64 40 Comments: Resets the printer to the power-on state, including top of form. Clears the buffer of all data entered before the command but not after.
Select Half-Speed Mode ESC s Format: ASCII code: ESC Decimal: 27 Hexadecimal: 1B 115 73 (n) (n) (n) Comments: n = 1 selects the mode n = 0 cancels it. DEL Format: Delete Character ASCII code: DEL Decimal: 127 Hexadecimal: 7 F Comments: Removes the last text character in the print buffer but does not affect control codes. It cannot be guaranteed in the italic mode. Not valid in NLQ.
Appendix D DIP Switches and Interface Several tiny switches called DIP (for Dual In-Line Package) switches are in the back of your LX-90 printer. These switches control a number of important printer functions. This appendix also describes the interface. DIP Switches The design of the LX-90 gives you easy access to the switches, which you can locate using Figure D-l. Figure D-l.
Always turn the power OFF (with the switch on the right side of the printer) before you change the setting of any of these switches. Any changes made while the power is on will be ignored until you turn the printer off and back on. So set all switches with the power off. Table D-l shows you the functions of all the switches, and the rest of the appendix explains each of them. Table D-7. DIP switch functions Switch 1 See Table D-2. Switch 2 No.
Switch 1-5 controls the paper-end detector. When it is ON, the detec- tor is inactive, causing printing to continue when the printer is out of paper. When it is OFF, the printer stops when the end of the paper passes the paper-end detector. The ESCape “8” command also performs this function, but computer systems that monitor printer cable pin 12 will ignore both ESCape 8 and the setting of switch 1-2.
Interface The PIC uses an &bit, Centronics®-compatible, parallel interface. Connector pin assignments and a description of respective interface signals are shown in Table D-3. Table D-3. Pins and signals Return Pin Signal Direc. tion 1 19 STROBE IN 2 3 20 21 4 5 22 6 24 IN IN IN IN IN 8 9 25 26 27 DATA 1 DATA 2 DATA 3 DATA 4 DATA 5 DATA 6 DATA 7 DATA 8 10 28 ACKNLG 11 29 BUSY 12 30 PE 7 D-4 23 Description STROBE pulse to read data in. Pulse width must be more than 0.
Table D-3, continued Signal Return Signal Pin Pin 13 SLCT - 14 - 15 - NC NC 16 - N C 17 - CHASSIS 18 - 19 - 30 - 31 - GND INIT 32 - ERROR 33 34 35 - NC - NC - NC 36 - NC GND NC Direction Description OUT Pulled up to + 5 volts through 3.3K - ohm resistance. Unused. Unused. Unused. Printer’s chassis ground, which is isolated from the logic ground. Unused. Twisted-pair return signal ground level.
4. Data transfer must be carried out by observing the ACKNLG or BUSY signal. (Data transfer to this printer can be carried out only after receipt of the ACKNLG signal or when the level of the BUSY signal is LOW.) 5. Under normal conditions, printer cable pins 11, 12, and 32 are activated when the paper-out condition is detected. The ESCape”8” code disables pins 11 and 32, but not pin 12. Those computers that monitor pin 12 halt printing when the paper is out, making ESCape “8” ineffective.
Appendix E Troubleshooting and Advanced Features This appendix presents explanations of the LX-90’s advanced features and solutions for possible problems. If you have trouble or want to know more about some of the LX-90 features, consult the appropriate section in this appendix. Installation of Commercial Software Programs Many commercial software programs require that you specify which printer you are using.
Reset codes Some software sends a reset code before it begins printing. This cancels any SelecType settings. If you find that SelecType does not change your printing, the reset code is probably the reason. The solution is to use the installation program for your software to remove all codes from the initialization sequence. See your software manual for details. If you can’t disable the reset code, you can use the DIP switches to produce NLQ or compressed. See Appendix D for details.
Suppose that you have set emphasized and NLQ Modes and then you decide that you don’t want emphasized. You can either cancel all the modes and reset NLQ, or you can use the following steps to cancel emphasized and leave NLQ. 1. See that the ON LINE and READY lights are on. (Be sure that you do not touch the power switch and cancel all the modes.) 2. Press the ON LINE and FF buttons to enter SelecType. 3. Press the ON LINE button twice. (This is the code for emphasized.
If the printer beeps and stops printing when it is not out of paper, turn the printer off and check to see if the paper is loaded correctly. If the paper is loaded correctly, turn the printer back on and try to print again. If the printer beeps and does not print again, take it to a qualified service person. Applesoft BASIC Solutions Applesoft BASIC does not use PRINT to send data to the screen and LPRINT to send data to the printer as Microsoft BASIC does.
Data Dump Mode The LX-90 has a special feature that makes it easy for experienced printer users to find the causes of problems. Called the data dump mode, it gives a printout of exactly what codes reach the printer. Enter this mode by turning on the power switch on the right side of the printer while holding down the FF and LF buttons at the same time. The printer responds by printing the words “Data Dump Mode.
The first code in line 0000 is hex 46, which is the same as decimal 70, which is the code for “F”; therefore “F” is printed in the first position in the guide section. Then, because there is no semicolon in line 20, BASIC sends a carriage return and a line feed, hex codes OD and OA. Each of these is represented by a dot in the guide section. The program then sends the hex codes 47, 48, and 49, with each followed by a carriage return and line feed.
The data dumping capability can help you find problems and debug programs quickly.
INDEX A American Standard Code for Information Interchange. See ASCII ASCII (American Standard Code for Information Interchange), 18 codes listed for all characters, A2-A5 Automatic test. See Self test Automatic line feed, D3 B BASIC programs, how to run, 20 Beeper, D3, E3-E4 Bold printing. See Double-strike; Emphasized C Cancelling codes, 22 Characters printed by the LX-90, Al-A5 CHR$, 18 CHR!$(27). See ESCape code Codes.
D Data dump mode, E5-E7 DIP switches, 4, Dl-D3 Dot graphics. See Graphics Dot matrix printing, 15-17 Double-strike mode, 26 Can also be set with SelecType Dumping data in hexadecimal, E5-E7 E Elite mode, 16, 21, 24 Can also be set with SelecType Emphasized mode, 25-26 Can also be set with SelecType Error warnings, E3-E4 ESCape code, 18 listed by function, Cl-C27 listed by number, Bl-B3 Expanded mode, 27 F FE See Control panel Foreign characters.
H Head. See Print head Hex dumping. See Data dump mode HomeWriter-10, 1 I Installation. See Commercial software Interface, D4 International characters, 31-33, D3 J Justification with NLQ, 39-40 L Left margin. See Margins LE See Control panel Line feed, 38 automatic, DIP switch setting for, D3 Line spacing, 38-39 Listing programs, 7 M Margins, 37-38 Master Select, 29-30 Matrix.
O ON LINE light and button, 6-7 See also SelecType feature P Page, top of, 23 Page formatting, 37-40 Panel buttons, selecting typestyles with. See SelecType Paper length, D2 PAPER-OUT light, 6 Paper-out sensor, 39 DIP switch control of, D3 Parallel interface, D4 Perforation. See Skip-over-perforation PIC.
S SelecType feature, 9-12 cancelling functions with, E2-E3 troubleshooting, El-E2 Self-adhesive labels, E3 Self test, 4-5 Single-sheet printing, 39 Skip-over-perforation, 38 Spacing. See Line spacing Special graphics characters, Cl0 Subscript mode, 30-31 Superscript mode, 30-31 Switches. See DIP switches T Test pattern.
EPSON AMERICA, INC. LIMITED WARRANTY Epson America, Inc. hereby warrants that it will repair or replace, at its option, any part of the Epson product with which this warranty is enclosed which proves defective by reason of improper workmanship and/or material, without charge for parts or labor, for a period of one (1) year.