Epson LX-90TM User Manual

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 other­wise, 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. Neither is any liability assumed for damages resulting from the use of the information contained herein.
Apple is a registered trademark of Apple Computer, Inc. Applesoft is a trademark of Apple Computer, Inc. Centronics is a registered trademark of Data Computer Corporation. HomeWriter, LX-90, PIG and QX-16 are trademarks of Epson America, Inc. IBM is a registered trademark of International Business Machines Corporation. Microsoft is a trademark of Microsoft Corporation. QX-10 is a registered trademark of Epson America, Inc.
0 Copyright 1985 by Epson Corporation
Nagano, Japan
Y497991200
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Operation
1
Inserting the Printer Interface Cartridge Printing the Self Test Connecting the Printer to Your Computer
Control Panel
Using Your Printer
SelecType
2
SelecType Operation
Turning SelecType on Selecting typestyles
SelecType Exercise
Mode Combination
SelecType Tips
Elements of Dot-Matrix Printing and
3
Computer /Printer Communications
The Print Head Other Pitches NLQ Mode
ESCape and ASCII
.................................
.............................
....................................
.............................
............................
................................
...............................
.................................
...................................
............................
......................
...........................
...........................
........................
..........................
..............
...........
.........
1
3 3
4
5 6
7
9
9
9 10 11 13 14
15 15 16 17 18
PIC Features
4
Demonstration Programs Running BASIC Programs Pica Printing
Changing Pitches Cancelling Resetting the Printer Pitch Comparison Near Letter Quality Mode
Print Enhancements and
5
Special Characters
Emphasized Mode Double-Strike
..................................
..................................
Codes
.................................
.......................
......................
..............................
..............................
...........................
.............................
......................
.............................
.............................
19 19 20 21 21 22 22 23 23
25 25 26
111
ExpandedMode Mode Combinations Underline Mode Master Select
Superscript and Subscript International Characters Special Graphics Character Set
...............................
...........................
...............................
.................................
.......................
........................
..................
27 27 28 29 30 31 34
6
Page Formatting
Margins
Skip-Over-Perforation Line Spacing
Paper-OutSensor Justification with NLQ
7
User-Defined Characters
Defining Your Own Characters
Designing Process
Defining NLQ Characters
8
Introduction to Dot Graphics
Dot Patterns
The Print Head and Graphics
Graphics Mode
PinLabels..
First Graphics Program WIDTH Statements Multiple-Line Exercise
Density Varieties
Reassigning Code
Column Reservation Numbers
Designing Your Own Graphics
......................................
Definition program 1 Running the program Definition program Running the program
NLQgrid NLQ definition program 1 NLQ definition program
String variables
...............................
..................................
.............................
.............................
2
..................................
..................................
...............................
..................................
............................
..............................
..............................
.............................
..........................
.........................
........................
..................
.........................
........................
.........................
........................
.......................
....................
....................
2
....................
....................
.........................
..........................
...................
...................
37 37 38 38 39 39
41 41
42
44 45 46 47
47 48 50 51
53 54 54 55 56 57 58 58 60 61 61 62 65
iv
Appendixes A LX-90 Characters
DraftMode ..................................
NLQMode ...................................
Software Commands in
B
Numerical Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Command Summary
C
Near Letter Quality Mode Character Width (Pitch) Print Enhancement PageFormatting..
Margins Line Spacing Form feed and page length
Tabs.. .....................................
Graphics User-Defined Characters Other Codes
D DIP Switches and Interface
DIP Switches Interface
.....................................
.....................................
..............................
...........................
......................
........................
............................
.............................
....................................
................................
....................
........................
..................................
......................
.................................
A-l A-2 A-4
B-l
C-l
c-3 c-4 c-7
c-11 c-11
c-12 c-15 C-16 c-19 c-22
C-23
D-l D-l D-4
Troubleshooting and Advanced Features
E
Installation of Commercial Software Programs SelecType Features and Solutions
Reset codes
Cancelling modes Printing on Self-adhesive Labels Beeper Error Warnings Applesoft BASIC Solutions
QX-10 and QX-16 Solutions Graphics Data Dump Mode
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.....................................
............................
.................................
............................
..................
.........................
.....................
.....................
.............................
...........
................
E-l E-l
E-l E-2 E-2 E-3 E-3
E-4
E-4 E-4 E-5
Index-l

Introduction

The Epson LX-90™ printer with the PIC for parallel interface sys­tems combines low price with the high quality and advanced capabili­ties 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.
This manual won’t waste your time with unnecessary information, but it also won’t neglect anything you need to know about the LX-90 and its features.
You can read as much or as little of this manual as you wish. The first chapter tells how to test the printer and connect it to your com­puter. The second chapter explains SelecType, a feature that offers you five special typefaces. The other chapters explain the main fea-
tures of the LX-90, and the appendixes give technical information on the printer.
Note
Although all references in this manual are to the Epson LX-90 printer, this PIC can also be used with the Epson HomeWriter™-10.
Chapter
1
Installation and Operation
After you have set up your printer and loaded the paper (following the directions in the LX-90 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.
User’s Manual),
you are ready to plug in
I
Figure 1-l. Attaching the grounding wire
3
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.) Before you change any of the DIP switch settings make sure that the power switch on the right side of the printer is turned off.
The DIP switches are in two groups, with eight in the first group and four in the second. Turn on switches 6, 7, and 8 in the first group. Now you are ready to test your printer.

Printing the Self Test

It’s time to see the LX-90 in action. You’ll start with a self test. Don’t connect the printer to your computer yet-just follow these steps:
1. Make sure that your printer has paper in it and that the power
switch (on the right side of the printer) is off.
4
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.
Draft
I
!“#$%!&’ ()*+,-.
! “#$%& ’ ()*+,-. /0123456789 : ; <=>?@ABCDEFEHIJ “#$%& ’ ( ) *+, --. /0123456789 : ; <=>?@ABCDEFGHIJK
#$%& ’ ( )*+f , -. /O123456789 : ; <=>?@ABCDEFGHIJKL $%&'()*+,-.
%&'()*+,-.
NLQ
/0123456789 : ; <=>.. ?@ABCDEFGHIJKLMN
/0123456789 : ; <=>?@ABCDEFGHI
/0123456789: ; <
= >?@ABCDEFGHIJKLM
! “#$%&’ ( ) *+, -.
/0123456789:;<=>?@ABCDEFGHI !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ "#$%&' ( ) *+, -.
/0123456789:;<=>?@ABCDEFGHIJK #$%&'()a+,-./0123456789:;<=>?@ABCDEFGHIJKL $%&' ()*+, -.
%&' ()*+, -.

Connecting the Printer to Your Computer

Now that the self test has shown that your printer is working well, it’s time to hook it up to your computer. It is best to have both the printer and the computer turned off when you do this.
Because different computers require different printer connections, you need a separate cable to connect the PIC cable to your computer. Connect the separate cable to the plug on the end of the PIC cable and
then plug the other end into your computer. Your computer manual or
your dealer will tell you what you need.
/0123456789:;<=>?@ABCDEFGHIJKLM
/0123456789:;<=>?@ABCDEFGHIJKLM
Figure 1-3. Self-test printouts
5

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
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-4.
l
The POWER light glows green when the power is on.
l
The READY light glows green when the printer is ready to accept
data. Don’t worry if this light flickers somewhat during printing; this flickering is normal.
l
The PAPER OUT light glows red when the printer is out of paper or the paper is loaded incorrectly.
l
The ON LINE light glows green when the printer can receive data.
In addition to the lights, the control panel has three buttons.
l
ON LINE-switches the printer between on line and off line status. When the printer is on line, the ON LINE light glows and the printer is ready to accept data.
6
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
FF (Form Feed)-advances continuous paper to the top of the next
page or ejects a single sheet of paper.
l
LF (Line Feed)-advances the paper one line at a time.
The control panel can also be used to turn on several printing func-
tions using SelecType, a feature which is described in the next chapter.

Using Your Printer

If you have a word processing or other commercial software pro­gram, just load the program into your computer, follow the printing instructions, and watch your LX-90 print.
If your software program requires you to specify which printer you are using, see Appendix E for instructions.
If you plan to use your LX-90 for printing program listings, load a program and use the appropriate listing command for the program­ming language you are using.
You can now begin using the LX-90 with your software, or you can find out about the special features of the printer in the next chapters. You may be especially interested in SelecType, the feature described in Chapter 2, which you can use with nearly all software.
7
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
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. For example, you can print the first draft of a letter or report in the stan­dard mode and the final version in the NLQ mode.

SelecType Operation

Using SelecType is simple. You turn on SelecType and select a typestyle, then turn off SelecType and print.
printing,

Turning SelecType on

1. Make sure that the printer is on and that the POWER, READY, and
ON LINE lights are all on.
2.
Press both the trated in Figure
ON LINE
2-1.
and FF buttons
at the
same
time,
as illus-
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
l
FF sets the styles.
l
LF turns SelecType off.
selects
typestyles.
After turning on SelecType, follow these three steps to select a
typestyle:
1. Find the typestyle you want in Table
2-l.
10
Table 2-1. SelecType modes
Mode
1
2
3 4
5 Elite
NLQ Emphasized Double-strike Compressed
ABCDEFGHJIJKLMNopqrstuvwxyz
ABCDEFGHIJKLMnopqrstuvwxyz
ABCDEFGHIJKLMnopqrstuvxyz
ABCDEFGHIJKLMnopqrstuvwxzyz ABCDEFGHIJKLMnopqrstuvwxyz
Typestyle
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. The control panel
returns to its normal functions, but
the
printer is off line.
5. Press the ON LINE button, and you are ready to print.

SelecType Exercise

You will probably use SelecType mainly with commercial software, but since there are so many different commercial software programs, the sample exercises are in Microsoft widely used BASIC in personal computers. Consequently, most users can enter and run the programs exactly as the programs appear in
these pages.
TM
BASIC (MBASIC), the most
You don’t need to know anything about programming for this exer­cise because it is merely for practice. If you would rather not use
BASIC, use your word processing or business program to create a
short file or document of the type you will usually print.
If you do want to use BASIC for this exercise, simply turn on your computer and printer. Then type the short program listed below. Only the words inside
the
quotation marks are printed. You can put
anything you want there.
18 LPRINT "This is an example of"
28 LPRINT "LX-90 printing."
11
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 single­strike 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.
3. As shown in Table 2-1, the code for emphasized is two. Therefore, press the ON LINE button two times. (Remember to make sure you hear a beep each time you press the ON LINE button when you are in SelecType mode.)
4. Now that you have
selected
the emphasized mode, push the FF
button once to set it.
5. Push the LF button once to return the panel to its standard opera-
tion.
6. Press the ON LINE button so the LX-90 is ready to print. Now you have set the LX-90 to print in emphasized mode. Print
your sample once more. It should appear in emphasized mode just as you see below:
This is an example of LX-90 printing.
Turn off your printer to cancel the emphasized setting, and-if you
wish-try this exercise with other modes. If you are using commercial software and SelecType will not change the typestyle, see “SelecType Features” in Appendix E.
12

Mode Combination

Two of the SelecType modes (NLQ and emphasized) can be com-
bined to create an impressive effect. If you want to see this combina-
tion, 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. Press the ON LINE button one more time and then the FF button once again.
This makes a total of two times, and thus sets the LX-90 for empha­sized also.
5. Press the LF button to return the panel to its standard operation.
6. Press the ON LINE button to put the LX-90 on line.
Now print your sample document or run your sample program. If
your printing appears in
emphasiaed Near Letter Quality
as you see here, you have successfully combined the two modes. If you get any other results, turn your printer off and back on and then try the steps again.
You can combine other modes using the same technique, but some modes will not mix with others. Table 2-2 shows which modes can be combined. A dot in a box indicates that the two modes can be com­bined.
13
Table
2-2.
Mode combinations
Mode
NLQ Emphasized Double-strike
Compressed
Elite
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 com­bine, it uses only one of the codes.
NLQ
Emphasized
Double- Compressed
strike
Elite

SelecType Tips

After you turn on a mode with SelecType, it usually stays in effect until the printer is turned off. If, for example, you use SelecType to print a document in emphasized, anything you print after that will be emphasized unless you first turn the printer off and back on.
If you like NLQ or compressed well enough to use it most of the
time, you can turn it on and keep it on with a special switch in the
back of your printer. See Appendix D for instructions.
For more information on the typestyles in this chapter, see Chapters
3, 4, and 5.
14
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 verti­cally. Each time a pin is fired, it strikes the inked ribbon and presses it against the paper to produce a dot. This dot is about 1/72nd of an inch in diameter. (The size varies slightly depending upon the age of the ribbon and the type of paper used.) As the head moves horizontally across the page, these pins are fired time after time in different patterns to produce letters, numbers, symbols, or graphics.
For example, to print a pica capital T (shown in Figure 3-l), the head fires the top pin, moves 1/60th of an inch, fires the top pin again, moves 1/60th of an inch, fires the top pin and the six below it at the same time, moves 1/60th of an inch, fires the top pin, moves another 1/60th of an inch, and fires the top pin once more to finish the letter. All this happens in only l/lOOth of a second.
Figure 3-1. A capital T
15

Other Pitches

In addition to pica, in which there are 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 charac­ters 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. These letters are chosen to show how the LX-90 prints letters that are uppercase and lowercase, wide and narrow, and with and without descenders (the bottom dots of the j and y).
This is pica.
This is elite.
10
characters per inch, the
This is compressed.
Figure 3-2. The three pitches
of
the LX-90
The dot pattern of each character is carefully designed so that in pica no dot overlaps another. The reason is that in normal high-speed printing the pins cannot fire and retract and fire again quickly enough to print one dot overlapping another.
16

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 with the same two in the NLQ mode.
3-3
shows enlargements of two letters in draft mode compared
Figure 3-3. Near Letter Quality and draft characters compared
With the two modes, draft and NLQ, the LX-90 lets you choose high speed or high quality each time you print. You can print your ordinary work or preliminary drafts quickly in the draft mode and use the NLQ mode for final copies or special purposes.
SelecType makes it especially easy to change from draft to NLQ, but you can also select and cancel the NLQ mode with a software command or with a DIP switch in the back of your printer. You can find the software command in Chapter 4 and the operation of the switch in Appendix D.
17

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. Because the codes between 0 and cally standardized by the American Standard Code for Information
Interchange (ASCII) they are referred to as ASCII numbers in this manual.
Nearly all of the codes for printer functions require more than one number and begin with a special code, called the escape code. This code signals that the next number is a code for a printer function and its name is usually printed with the first three letters capitalized (Escape) or it is abbreviated ESC or (ESC) .
In the demonstration programs in this manual, you’ll see how ASCII and ESCape codes are used in the Microsoft BASIC program­ming language.
l
The CHR$ (character string) function is used for numerical codes.
127
are basi-
l
CHR$(27) is the ESCape code.
l
Quotation marks are used for printable characters, such as letters of
the alphabet.
l
LPRINT sends text or commands to the printer.
Your word processing or business program may use other methods to send those codes, such as pressing the
E
SC
key for the ESCape code. See your software manual for further information and use Appen­dixes B and C of this manual to find the proper codes. Appendix E also has some suggestions on using LX-90 features with applications soft­ware.
18
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 lan­guage so that you can see these features in action. Although you will probably not do much of your printing using BASIC, the demonstra­tions are in BASIC because it comes with most computers.
You don’t need to know anything about BASIC to type in and run these programs. All the instructions you need are on the next page.
As you run the programs (or even as you read the explanations and look at the printed examples), you learn how the LX-90 responds to the messages your computer sends it by printing letters, numbers, symbols, and graphics in various print modes.
Even if you never use BASIC again, you will know the capabilities of your printer, capabilities that can often solve your printing prob­lems. For example, if you need a special symbol, such as a Greek let­ter, you will know that you can turn to the chapter on user-defined characters and create such a character.
If you don’t want to do the exercises in BASIC, you don’t have to. In most cases the software that you use for word processing, business, or graphics does the calculating and communicating with the
19
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 pro-
grams 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: Micro­soft BASIC and IBM@ PC BASIC. If you have another version, you can run these demonstration programs by making a few changes. Appendix D has instructions for using Applesoft’” BASIC; for other versions of BASIC, consult the appropriate manual.
When you type these programs, be sure to include all spaces and punctuation marks, especially semicolons. Press
of each line. (On your computer the
or ENTER.) Computers that use a 40-column display may
break some lines into two parts on the screen, but that does not affect
the operation of the program. If you make a typing mistake, retype the whole line, including the line number; the new line will replace the old one.
RETURN
RETURN
key may be marked
at the end
When you have typed all the lines, type RUN and press
to run the program.
If you have made changes to a program and want to see all of it on the screen, type LIST and then press your screen. When you are completely through with one program and want to start another, type NEW and press
In Chapter 3 you saw the enlargements of the three LX-90 pitches. Now you’ll learn how to produce them.
RETURN
RETURN.
to see the program on
RETURN
20

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
50 LPRINT 60 NEXT
CHR$(X);
X: LPRINT: LPRINT
105
Now run the program. You should get the results you see below,
pica characters per inch.
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]ˆ-`abcdefghi
10

Changing Pitches

Now you can try other pitches. As explained in Chapter
LX-90
characters, but it changes the horizontal spaces between the dots to produce the three different widths.
there are “M” command and prints in compressed when it receives the ASCII command. Print a sample line of elite characters by adding the line
below to your previous program. (Simply type this line and press
RETURN;
uses the same pattern of dots for pica, elite, and compressed
In elite mode there are
17.16.
The
LX-90
you do not need to retype the other lines.)
12
characters per inch, and in compressed
prints in elite when it receives the ESCape
20 LPRINT CHR$(27);"M";
This line uses the command for elite, ESCape ‘M”, to turn on that mode. When you run the program, your printout should look like the one below.
3,
the
15
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]ˆ_`abcdefghi
The next addition to the program cancels elite with ESCape "P" and turns on compressed with ASCII
30
LPRINT CHR$(27);"P";CHR$(15);
15:
21
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 if you change from BASIC to another type of software. For example, if you run the program above and print a memo with a word process­ing program afterward, the memo is printed in compressed because the printer is still in compressed mode. To cancel compressed, use ASCII 18. In BASIC, you use this format:
LPRINT CHR$(18)
To avoid having one program interfere with the printing modes of
another, you can cancel a mode one of two ways:
l
With a specific cancelling code, such as the ESCape "I" used above
to cancel elite and the ASCII 18 to cancel compressed. Each mode has a cancelling code, which you can find in the discussion of the code and in Appendix B. Pica is an exception to this rule. To cancel pica, turn on elite or compressed.
on even
l
By resetting the printer, a method explained in the next section.

Resetting the Printer

Resetting your LX-90 cancels all modes that are turned on. You can
reset the printer with one of two methods:
l
Sending the reset code (Escape “@“)
l
Turning the printer off and back on.
Either one of these methods returns the printer to what are called its
defaults, which are the standard settings that are in effect every time you turn the printer on. The two effects of resetting the printer that you should be concerned with are: it returns the printing to single­strike pica, thus cancelling any other pitches or enhancements
22
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 inter­fere 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.

Pitch Comparison

Now that you have used three short programs to produce samples of the three main pitches, you can choose the one that best fits a particular printing job. Most people use either pica or elite for printing text and compressed for spreadsheets or other applications in which it is important to get the maximum number of characters on a line.
In fact, if you need even more than the 132 characters per line that compressed gives you, you can combine elite and compressed for a mode called compressed elite. It is not really another pitch, because the size of the characters is the same as in the compressed mode; only the space which allows 160 characters to fit on a line, if you replace line 30 in your last program to produce the following program:
between
the characters is reduced. You can see this mode,
the
pitch
that
you prefer or
20 LPRINT CHR$(27);"M";
30
LPRINT CHR$(15);
40
FOR X=65 TO 105 50 LPRINT CHR$(X); 60 NEXT X: LPRINT
With this addition, the program turns on compressed but doesn’t
turn off elite, giving you the printout below:
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]ˆ_`abcdefghi

Near Letter Quality Mode

The examples so far in this chapter are in the draft mode, but you can also use a software command to turn on the NLQ mode, which you turned on with SelecType in Chapter 2.
23
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. Summary of LX-90 pitches
Print sample CPI
<- inch ->
Near Letter Quality
Pica print.
Elite print Compressed print Compressed elite print
10.00
10.00
12.00
17.16 15
20.00
ESC “x” 1
ESC “M”
ESC “M” 15 ESC “P” 18
On
codes
Off
ESC “x" 0
ESC “ P” 18
Remember that you don’t have to use BASIC to change modes; you can use any method or software that sends the proper codes to the printer.
24
Chapter 5
Print Enhancements and
Special Characters
Besides the pitches (pica, elite, and compressed) covered in Chap-
ters 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. This method produces better-looking, more fully formed characters that are darker than single-strike characters.
To see an example of emphasized, type and run the following pro­gram. (See “Running BASIC Programs” in Chapter 4 if necessary.)
NEW
10 LPRINT "This is standard printing." 20 LPRINT CHR$(27); "E"; 30 LPRINT "This is emphasized printing." 100 LPRINT CHR$(27);"@"
This is
This is emphasized printing.
standard printing.
25
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. Indeed, you may want to use empha­sized instead of the NLQ mode for some purposes because emphasized printing is faster than NLQ printing. The code to turn off emphasized is ESCape “F”.

Double-Strike

Another bold mode is double-strike. For this mode the LX-90 prints each line, then moves the paper up slightly and prints the line again. Each dot is printed twice, with the second one slightly below the first,
as you can see if you run this program, which uses ESCape “G” to turn on double-strike.
10 LPRINT "This is standard printing." 20 LPRINT CHR$(27); "G";
30
LPRINT "This is double-strike printing."
100 LPRINT CHR$(27);"@"
This is standard printing. This is double-strike printing.
Unlike emphasized, double-strike combines with any draft pitch
(but not with NLQ) because it does not overlap dots horizontally. Since each line in this mode is printed twice, the speed of your printing is slowed. The code to turn off double-strike is ESCape “H”.
Some users prefer the effect of emphasized, and others prefer double-strike. You can look at the printout below and decide for your­self.
This is standard printing,
this is emphasized printing, and
this is double-strike printing.
26

Expanded Mode

Perhaps the most dramatic mode on the LX-90 is expanded. It pro­duces 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);"@"
This is standard printing.
This
For this mode the letter W and the numeral one together turn the mode on and the letter W and the numeral zero together turn it off. Thus ESCape "Wl" turns on expanded and ESCape "WO" turns it off.
Those of you who are programmers may be interested in another
form of expanded. In this alternate form, called one-line expanded,
the printing is the same as that in the example but it is turned on by
ASCII 14 and is turned off by a line feed, ASCII 20, or ESCape "WO".
is
expanded

Mode Combinations

You can also use control codes to combine modes. For example, you can make a title especially vivid by combining emphasized and expanded. In fact, you can combine nearly all of the print modes on
the LX-90; your LX-90 printer can print such complicated combina­tions as double-strike emphasized expanded underlined subscript, although you may never want such a combination. The point is, how­ever, that the LX-90 has the ability to produce almost any combina­tion you can think of; it’s up to you to decide which ones you want to use.
To see emphasized combined with expanded, change two lines in your previous program:
20 LPRINT CHR$ (27) ; "Wl" ; CHR$ (27) ; "E";
30
LPRINT "Emphasized expanded"
27
When you run the program, your printout should match the one
below, showing that the two modes combine with no trouble.
This is standard printing.
Emphaasized
A later section in this chapter explains a special ESCape code, Mas­ter Select, which allows you to control six features with one ESCape sequence.
expanded

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”. Note that the underline code is like the expanded code in that it uses a character, in this case the hyphen or minus sign, combined with nu­meral one to turn it on and a character combined with the numeral zero to turn it off. You can see it in action with the following program:
NEW 10 LPRINT "This text is not underlined." 20 LPRINT CHR$(
30
LPRINT "This text is underlined."
100 LPRINT CHR$(27);"@"
27);“-1”;
This text is not. underlined. This text is underlined
As shown in the printout above, the underline mode is continuous,
but some word processing and other applications programs produce
an underline that leaves small gaps in the line as demonstrated in the printout below.
This uses the underline character
If your software prints this type of underline, it is using the LX-90’s underline character (ASCII 93, not the underline mode. Because the underline character is only five dots wide, it does not fill the spaces
between characters.
28

Master Select

The LX-90 has a special ESCape code called Master Select that al­lows you to choose any possible combination of seven different modes: pica, elite, compressed, emphasized, double-strike, expanded, and italic. The format of the Master Select code is ESCape “!” followed by a number that is calculated by adding together the values of the modes listed below:
italic expanded double-strike emphasized compressed elite pica
For any combination, just add up the values of each of the modes you want and use the total as the number after ESCape “!“. For exam­ple, to calculate the code for expanded underlined pica, add the fol­lowing numbers together:
italic expanded pica
To print this combination, therefore, you use ESCape "!" followed by the number 96. In the BASIC programming language the com­mand is CHR$ (27) “!“ CHR$ (96).
To try this number or any other, enter and run this short program, which will ask you for a Master Select number and then give you a sample of printing using that code.
64
32
16
8 4 1 0
64
32
0
96
18 INPUT "Master Select number"; M
30
LPRINT CHR$ (27) ; "!" ; CHR$(M)
40 LPRINT "This sample of printing uses"
50
LPRINT "Master Select number" ;M
60
LPRINT CHR$(27);"@"
Here is a sample using Master Select number 96:
29
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.
Emphasized + compressed + emphasized Emphasized + elite + elite Emphasized + compressed + elite compressed elite
Master Select is a powerful code that gives you an easy way
to produce multiple combinations with a single command. To see double-strike emphasized underlined printing, for example, you
need only one ESCape code instead of three.
Indeed, Master Select is such a powerful feature that it may occa­sionally be more powerful than you want it to be. Because it controls seven different modes, a Master Select code will cancel any of those seven that are not selected. For example, suppose that you have a page in elite and want part of it in double-strike. If you use ESCape "I" 16 to turn on double-strike, your LX-90 will begin printing in double-strike pica instead of double-strike elite because the 16 code does not include elite. Use 17 for double-strike elite.

Superscript and Subscript

Your LX-90 can also print superscripts and subscripts, which you can use for mathematical formulas, footnotes, and other items that require numbers or letters above or below the usual print line. ESCape
“SO”
"T" turns off either one. You can see them in action with the program below:
30
turns on superscript and ESCape "Sl" turns on subscript. ESCape
10 LPRINT "The formula for water is H";
20 LPRINT CHR$(27);"Sl";"2";CHR$(27);"T";
30
LPRINT "0."
40
LPRINT CHR$(27);"@"
The formula for water is H2O
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 Memory). This total includes characters in three sets: draft, draft italic, and NLQ (Near Letter Quality).
In order to print any of these characters, you first select one of the
following character sets and then use the individual characters within
that set.
100
international characters in its ROM (Read Only
0 USA
1
France
2
Germany 3 United Kingdom 4 Denmark I
5 Sweden
You select the character set in one of two ways: with an ESCape code or with a DIP switch. The ESCape code in BASIC has the follow­ing format:
6 Italy 7 Spain 8 Japan
9
Norway
10
Denmark II
LPRINT CHR$(27);"R";CHR$(n)
in which n represents the appropriate number from the list above. In other words, the BASIC command to select the French character set is
LPRINT CHR$(27);"R";CHR$(l)
The other method of selecting an international character set is to reset a DIP switch. If you plan to use one of the international sets quite a bit, see Appendix D for instructions for using the DIP switches.
Once you have selected a character set, whether you do it with the
ESCape code or the DIP switches, you will be able to print several new characters. The character sets are shown in Tables
5-1, 5-2,
and
5-3.
31
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.
32
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 char­acters 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 charac­ter set and you press the # key, the £ symbol will be generated. Even though you will see the # symbol on the screen, the £ symbol will be printed on the paper. For another example, if you have selected the Swedish character set and you press the @ key, the 6 symbol will be generated.
33

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.
To print these graphics characters you must use either a program­ming language or a computer with a graphics shift or other special key that allows you to send graphics codes.
Sending the codes for these characters to the printer is a two-step process just as it is for the international characters. In BASIC, first you send CHR$(27)“m”CHR$(4) to turn on the graphics character set, then you send the code numbers given in Figure 5-l. After you have used the ESCape code to turn on the graphics character set, the LX-90 prints the codes from 128 through 159 as graphics characters.
34
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 below shows the characters in pica:
The next printout shows the characters in emphasized expanded pica:
Because normal line spacing leaves space between the lines of graphics characters just as it does between lines of text, you must change the line spacing when you combine line graphics characters to form boxes or other figures. For most programs ESCape “1” gives you
the best line spacing for combinations of graphics characters. Further
details on line spacing are in Chapter 6.
5-l
are printed in expanded elite. The printout
Although you can use any print mode with the graphics characters, it is best not to use elite or compressed. These modes cause small gaps in horizontal lines that are formed by a combination of line graphics characters.
35
Chapter
6
Page Formatting
Although the LX-90 printer has many sophisticated commands to set margins, line spacing, and horizontal and vertical tabs, this chap­ter 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.

Margins

The LX-90 allows you to set the left and right margins with simple ESCape sequences. The left margin command is ESCape "I" followed by the number of the column you choose for the left margin. The right margin command is ESCape “Q” followed by the column number of the right margin you want. For the left margin command, be sure to use a lowercase letter 1, not the numeral one.
If your word processing program does not allow you to change the margins, you can send margin commands to your LX-90 with BASIC or another programming language before you print your documents. For example, if you prefer wider margins than your word processing program gives you, run the following BASIC program before print­ing. This program gives you a left margin location of 5 and a right margin location of 70, but you can use any numbers you prefer for the margin commands.
NEW
18 LPRINT CHR$(27);"1";CHR$(5);
20 LPRINT CHR$(27);"Q";CHR$(70);
37
A program like this also allows you to choose the margins you
prefer for program listings. Just remember that once you run a pro-
gram 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.

Skip-Over-Perforation

If you are using continuous paper for printing program listings or other material not controlled by an applications program, you may find that the LX-90 prints right over the perforations between pages. The LX-90 has an ESCape code to prevent this: the ESCape “N” com­mand. You send ESCape “N” followed by the number of lines you want the LX-90 to skip at the bottom of a page. For example, in BASIC the following line will make the LX-90 skip 6 lines after each 60 lines if your printer is set for 11-inch paper:
10 LPRINT CHR$(27);"N";CHR$(6);
Since an 11-inch page is 66 lines, this will give you one inch of blank space at the bottom of each page. If you prefer to have half of the blank space at the top of the page and half at the bottom, simply set the top of page approximately three lines (l/2 inch) below the perfora­tion. (See the section on paper loading in the LX-90 manual if you need to refresh your memory on setting the top of page.)

Line Spacing

Ordinarily you don’t have to worry about how the printer moves the paper so that it doesn’t print lines of text on top of each other; the LX-90 takes care of this without any special instructions. The line spacing on the LX-90, however, can be changed with an ESCape code.
The movement of the paper between lines is called a line
the distance the paper moves is called a
ing the line spacing is l/6-inch, six lines of print per inch.
line space.
In ordinary print-
38
feed
and
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 of an inch and 216ths of an inch. If you need to make such fine adjust­ments in the line spacing, see Appendix C for the proper commands. In the chapter on dot graphics you will see how useful changes in line spacing can be,
are
commands to specify the line spacing in 72nds

Paper-Out Sensor

Under the platen (the black roller) of your LX-90 printer is a small switch that senses whether or not paper is in the printer. When the end of the paper passes this switch, it triggers a signal beeper and stops your printing. This saves wear on your print head, ribbon, and platen, but because of the distance between the switch and the print head, it stops the printing about 2 inches from the end of the page. Therefore, if you use single-sheet paper in your LX-90, you can’t print on the last two inches of each page without an adjustment.
If you need to print on the last two inches of single sheet paper, there are two solutions: send the printer an ESCape “8” or change one of the DIP switches described in Appendix D. Some computers ignore the DIP switch setting and ESCape “8”. See Appendix D.
that
sounds the

Justification with NLQ

The NLQ (Near Letter Quality) mode offers a justification com­mand that gives you four choices in the formatting of your text. The command is ESCape “a” followed by one of these numbers:
0 Left justify 1 Center 2 Right justify 3 Auto justify
Left justification is the standard format, in which even and the right margin is not. This is the way most typewritten pages look.
the
left margin is
39
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 mar-
gin 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.
With this command you probably need to use a WIDTH statement at the beginning of your program. The following line shows one for­mat for the WIDTH statement. Consult your software documentation for the proper format for your system.
7 WIDTH LPRINT 255
This statement prevents BASIC from inserting unwanted carriage returns.
When you are using auto justification, use carriage returns at the end of paragraphs only, not at the end of each line of text. Also keep in mind that changing the right margin may make justified text look better. The next paragraph is printed with this feature.
Since most word processing programs have their
own justification commands, use this ESCape code
only
with
BASIC or another programming language,
not with a word processing program that has its
own justificationcommand.
When you use any of the justification commands, be sure to send
the NLQ command first.
40
Chapter 7
User-Defined Characters
The
LX-90
Read Only Memory. Although this number includes draft, Near Let­ter 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.

Defining Your Own Characters

The printout below displays two such characters to give you an idea of what can be done, but remember that you can create whatever you need or want.
It may seem that designing a character and telling the LX-90 how to print it would be extremely complicated, but in this chapter the task is reduced to a simple three-step process: planning your character, run­ning one program that tests your work and calculates the required DATA numbers, and running another program to put the character in your printer’s Random Access Memory (RAM) for use whenever you need it.
has several hundred different characters stored in its
Because the high-resolution NLQ (Near Letter Quality) mode uses
many more dots per character than the draft mode, defining NLQ
characters is somewhat more complex than defining draft characters.
You will find the programs for defining NLQ characters at the end of
this chapter.
After you have created your own characters, you can re-program
seldom-used keys to generate the user-defined characters. For exam­ple, you will be able to type ( to print
41
Your user-defined characters can be utilitarian or imaginative, any­thing 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.
As you look at these characters, notice the three rules that govern their design: the column on the right side is always left blank so that there will be spaces between the characters on a line; a character can use the top row or the bottom row, but no character uses both the top and the bottom row; and a dot can be placed on a vertical line only when the columns next to that line are not used.
Figure 7-l. LX-90 dot-matrix characters

Designing Process

Suppose that you want to print the scientific symbol for the planet
Mercury. Although the LX-90 has a number of special symbols, Mer-
cury’s symbol is not one of them. You can, however, create and print such a symbol with ease. First, use a grid like the one in Figure
plan where to place the dots.
42
7-2
to
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 charac-
ters 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. As you design your characters, draw the dots as large as you see them in the example on the left in Figure
7-3. If you draw them smaller, you may have overlapping dots with-
out realizing it.
Figure 7-3.
Correct and
incorrect
designs
If you do accidentally call for overlapping dots, don’t worry. The
program will still work, but only one of the dots will be printed.
43
Definition program
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.
1
NEW
100 DIM F(9)
110 FOR I=1 TO 9 120 PRINT "WHICH ROWS HAVE DOTS IN COLUMN";I
130
INPUT R
: IF R=0 THEN 150 140 F(I)=F(I)+2ˆ(R-1) 150
IF
R=0
THEN
NEXT I ELSE GOTO
160 LPRINT CHR$(27)
":"CHR$(0)CHR$(0)CHR$(0);
130
179 LPRINT CHR$(27)"%"CHR$(l)CHR$(0); 180 LPRINT CHR$(27)"&"CHR$(0)"<<"; 190 LPRINT CHR$(128);
200
FOR X=1 TO 9 210 LPRINT CHR$(F(X));: NEXT X 220 LPRINT CHR$($l)CHR$(0);
239
LPRINT
"YOUR CHARACTER IN PICA: <<<" 240 LPRINT "IN EXPANDED EMPHASIZED PICA: "; 250 LPRINT CHR$(27)"!*<<<" 260 LPRINT CHR$(27) "!"CHR$(0)"YOUR DATA NUMBERS:" 270 FOR K=l TO 9: LPRINT F(K);: NEXT K 300 LPRINT: END
So that you can see how the program works, the next paragraphs present the steps used to create the symbol for Mercury. First is the grid used to design the character.
Figure
7-4.
Design
for
character
44

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 each one. When you have entered all the numbers for a column or when you want no dots in a column, press ber. Remember that the vertical lines in the grid are the even-num­bered columns.
To see Program 1 produce the character in Figure 7-4, run the pro­gram and follow these instructions: When the screen message asks what rows have dots in the column 1, respond with indicate that no dots go in that column. For column 2 (the vertical line), press want dots in rows 7 and 5. Then press no more dots go in column 2. For column 3 press 8, 6, 4, and 2, with an
RETURN
column 3 and go on to column 4.
7, RETURN,
after each of them. Then press
5, and
RETURN
RETURN
RETURN
RETURN
without a num-
again to indicate that you
alone to indicate that
RETURN
key after
RETURN
to finish with
to
For column 4 press assume that you extra time to end the entries for each column.) For column 5, enter 6, 4,3,2, and 8, 6, 4, and 2; for column 8 enter 7 and 5; and for column 9 press
1.
For column 6, press
know
RETURN
to press
only. (The rest of the directions
RETURN
RETURN
after each number and one
only; for column 7 enter
RETURN only.
Now wait a moment for your computer to calculate the dot pat-
terns and
styles. Your printout also gives you nine numbers, which you will use
in the next program. You should get the printout you see below:
When you get to this point with a character of your own, you see
how it looks and whether or not you like it. If you want to make any changes, move the dots on the grid as needed and rerun the program.
If you want to put dots in the bottom row, change the number in
line 190 from
7-5.
your
LX-90 to print the new character in two different type-
YOUR CHARACTER IN PICA:
IN EXPANDED EMPHASIZED PICA:
YOUR DATA NUMBERS:
0 80
170
128
to 0. Then the usable rows will be as shown in Figure
0 47 0 170 80 0
45
Figure
7-5.
Using the
bottom
eight
rows

Definition program 2

Once the character looks right, type in the next program. The pro-
gram 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.
NEW 90 FOR P=58 TO 63: LPRINT CHR$(P);: NEXT P 95 LPRINT 100 K=l: IF K>3 THEN A=58 ELSE A=60
110 LPRINT CHR$(27)
":"CHR$(@)CHR$(@)CHR$(@); 120 LPRINT CHR$(27)"%"CHR$(l)CHR$(@); 138 LPRINT CHR$(27)"&"CHR$(0)CHR$(A)CHR$(A-l+K);
140
FOR Z=l TO K
150 LPRINT CHR$(139);
160
FOR X=1 TO 9 170 READ R 180 LPRINT CHR$(R);: NEXT X 190 LPRINT CHR$(0)CHR$(0); 200 NEXT Z
210 DATA 0,80,170,0,47,0,170,80,0
290 FOR P=58 TO 63: LPRINT CHR$(P);: NEXT P 300 LPRINT: END
To use program 2 for your own character or characters, change the DATA numbers in line program DATA numbers for each character on separate lines as you see in the example on the next page.
1.
If you have created more than one character, put the
210
by substituting the numbers generated by
46
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 charac­ters you are defining instead of the 1 in line many as six characters at a time. Just run program 1 several times and enter all the DATA numbers in program
100. (You
2.)
can define as

Running the program

When you run this second program, it prints six characters, then re­defines some or all of them and prints them again, as in the example below.
When printed by your own program, the two lines provide you with a key to the characters your press the key for one of the characters in the top row, the printer will print the corresponding character in the bottom row. In the example above, if you press ( your will continue to show the character <).
LX-90
LX-90
will print (although your screen
will now print. When you
Because the program puts these new definitions in Random Access Memory (RAM), it will print the characters in the bottom row unless it is turned off or receives the reset code.
If you have designed a few characters and want to use them with your word processing program, for example, just run program 2 before you start using your word processing program. Then use the
two-line printout as your guide to tell you which keys to press for
your new characters.
your
printer’s

Defining NLQ Characters

Since NLQ characters use many more dots than draft characters,
defining NLQ characters is more complex than designing draft ones. If
you use the grid and the program in this section, however, you will be
able to design your own NLQ characters.
47

NLQ grid

Because the NLQ characters can use as many as and 12 dots horizontally, you plan your designs on a different grid than the one for draft characters.
18
dots vertically
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. There­fore, each vertical column must be divided into three sections for the calculation of data numbers. The process is not difficult once you get some practice using it.
Figure 7-7 shows a single column to make clear how the data num-
bers are calculated. Notice that using circles instead of dots in design-
ing NLQ characters makes it easier to keep track of overlapping dots.
48
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. All zeros must be entered in the DATA statements for the NLQ
definition programs.
Figure 7-8 shows you how to use the NLQ character definition with a musical design. The figure shows the design drawn on a grid and the data numbers printed at the top or bottom of each column.
49
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
Now type in and run the following program. It has the data num­bers for the musical design. For a character of your own, change the data numbers in lines 130 - 150.
50
1
NEW
10 LPRINT CHR$(27)"x"CHR$(l) 20 LPRINT CHR$(27)
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
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
":"CHR$(0)CHR$(0)CHR$(0);
36
YOUR CHARACTER IN PICA:
IN EXPANDED EMPHASIZED PICA:
When you run this program for your own character, you find out
whether or not it looks right. If it doesn’t, move the dots as needed,
recalculate and change the data numbers, and run the program again.

NLQ definition program 2

When you are satisfied with the character you have created, enter and run the next program. Use your data numbers instead of the ones in lines 130 - 150. If you want to define more than one character,
change line
defining (the maximum is six) and enter the extra data numbers (36 for each character).
10
so that J equals the total number of characters you are
51
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,7,253,0,0,0,0,0,0,0
= > ?
<
:;
: ;
When you run program 2, it prints six characters, then redefines one or more of them and prints them again. As with the draft charac­ters, you use this two-line printout as a guide to the new characters your LX-90 will print. You can use them with an applications program or a program you write yourself.
= > ?
52
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.
Because many software programs use dot graphics, you may be able to print pictures and graphs like the ones on this page and the next by simply giving your software a few instructions. A chart like the one on the next page can be created and printed in a short time.
53
100
U
N
I
T
S
INSTALLATIONS BY MONTH
0 JUL
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 com­mand 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. If, on the other hand, you wish to do your own programming or merely wish to understand how the LX-90 prints graphics, read on.
AUG
SEP
OCT
NOV
DEC

Dot Patterns

Graphic images are formed on the LX-90 about the same way that pictures in newspapers and magazines are printed. If you look closely at a newspaper photograph, you can see that it is made up of many small dots. The LX-90 also forms its images with patterns of dots, as many as 240 dot positions per inch horizontally and 72 dots per inch vertically. The images you print on the LX-90 can, therefore, be as finely detailed as the one on the first page of this chapter.
If you plan carefully where you want the dots to appear and then use or create a program that gives the proper instructions to the printer, your LX-90 will print almost any picture you can imagine.

The Print Head and Graphics

Chapter 3 told you a little about how the print head on the LX-90 prints letters: it receives a code for a letter and then fires a pattern of pins to form that letter.
54
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 pat-
terns, 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. It prints one line, then advances the paper and prints another, just as it does with text.
To keep the print head from leaving gaps between the graphics lines
as it does between the text lines, the line spacing must be changed to eliminate the space between lines. With a change in line spacing, the LX-90 can print finely detailed graphic images that give no indication that they are made up of separate lines, each no more than 8/72nd of an inch tall.
Each pass of the print head prints one piece of the total pattern, which can be as tall or short and as wide or narrow as you desire. You don’t have to fill the whole page or even an entire line with your graphics figures. In fact, you can use as little or as much space as you like for a figure and put it anywhere on the page.

Graphics Mode

The graphics mode command is quite different from the other com-
mands covered so far in this manual. For most of the other LX-90 modes, such as emphasized and expanded, one ESCape code turns the mode on and another turns it off. For graphics, the command is more complicated because the code that turns on a graphics mode also spe­cifies how many columns it will use. After the LX-90 receives this code, it interprets the next numbers as pin patterns and prints them on the paper.
The LX-90 has several different graphics densities, but the first exer-
cises keep things simple by using only one. The code for entering single-density graphics mode is ESCape “K” n1 n2. In BASIC the com­mand is given in this format:
LPRINT CHR$(27)"K"CHR$(n1)CHR$(n2);
ESCape “K” specifies single-density graphics, and the next two num­bers (n1 and n2) specify the number of columns reserved for graphics.
55
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 num­bers 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. When you need less than 256 columns, just make n1 the number of columns you are reserving and make n2 a zero.

Pin Labels

Once you put the printer into graphics mode and reserve the num­ber of columns you want, your next step is to tell the print head which pins to fire in each column. There are 256 possible combinations of eight pins, and you send only one number for each column. The num­bering system that allows you to use a single number to specify which of the 256 possible patterns you want is shown in Figure S-1.
Figure 8-l. Pin labels
To fire any one pin, you send its number. To fire more than one pin at the same time, add up the numbers of the pins and send the sum to
the printer. With these labels for the pins, you fire the top pin by
sending
to fire only the top and bottom pins, you simply add
128.
To fire the bottom graphics pin, you send
1.
If you want
128
and 1, then
send 129.
By adding the appropriate label numbers together, you can fire any combination of pins. Figure 8-2 shows three examples of how to calcu­late the number that will fire a particular pattern of pins.
56
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.

First Graphics Program

Your first graphics exercise could be a program column of dots, but it is difficult to see the pattern in a single column of dots, so your first graphics program prints the same pattern 40 times.
The first line is the code for 40 columns of single-density graphics. As usual, the example is in BASIC, but you can adapt it to the pro­gramming language you prefer.
NEW
10 LPRINT CHR$(27)"K"CHR$(40)CHR$(0);
The second line is the data that is printed as pin patterns. Be sure that you type in the semicolons in both lines:
that
prints a single
20 FOR X=1 TO
That’s it. Run the program to see the result below. Although it is not as interesting as the examples at the beginning of this chapter, it does allow you to see exactly how the mode works.
40:
LPRINT CHR$(74);: NEXT X
57

WIDTH Statements

Some software (including IBM Personal Computer BASIC) auto-
matically inserts the control codes for a carriage return and a line feed
after every 80 ­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. Consult your soft­ware manual to find the proper format for your system.
130
characters. This insertion is usually no problem
WIDTH LPRINT 255
Put a WIDTH statement in one of the first lines of all your graphics programs. It is easier to put a WIDTH statement in all of your pro­grams than to examine each one to see whether or not such a state­ment is necessary.

Multiple-Line Exercise

Now that you’ve entered and run a simple graphics program, you can go on to an exercise that shows you how the LX-90 combines
several lines of graphics for a figure taller than eight dots.
Start with a line for to print two pin patterns. Notice that since there are two pin patterns in the loop, it is only executed 50 times.
100
columns of single-density graphics and lines
NEW
10 WIDTH LPRINT 255
40
LPRINT CHR$(27)"K"CHR$(100)CHR$(0); 50 FOR X=1 TO 50: LPRINT CHR$(85)CHR$(42); 60 NEXT X: LPRINT 100 LPRINT CHR$(27)"@"
If you run the program now, you’ll see how one line of the pattern
looks:
To see how more than one line combines to form a figure, enter and run the following program, which uses the lines you have already typed and adds several more.
58
10 WIDTH LPRINT 255
20 LPRINT CHR$(27)"A"CHR$(7)
30
FOR R=1 TO
40
LPRINT CHR$(27)"K"CHR$(100)CHR$(0);
3
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 pat-
tern:
Because the short and simple program that produced the pattern
demonstrates many elements of graphics programming, each line is
explained below.
Line 20 changes the line spacing to 7/72 of an inch, which is the height of the dot patterns used in the program. Therefore, there is no space between the print lines.
Line 30 begins a loop to produce multiple print lines. Lines 40 and 50 were explained previously. Lines 70 and 80 are similar to lines 40 and 50 except that line 80 uses a reversal of the patterns in line 50. As the loop is executed, the program prints lines 50 and 80 alternately so that the patterns of the print lines will fit together well.
Notice that the graphics command can be in effect for only one print line. The command is in lines 40 and 70 so that it is issued each time a new print line is begun. To print more than one line of graphics, the graphics command must be issued before
Line 100 is the reset code to return the printer to its defaults.
each
line.
59

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 neces­sary 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.
Mode Density code
Single ESC “K”
0
Low-Speed ESC “L"
1
Double High-Speed
2
Double
Quadruple ESC “Z”
3
CRT
4
graphics
One-to-one
(plotter)
5
CRT
6
graphics II
ESC “Y”
none none
none
Graphics modes
Alternate
Description
60 dots per inch; 480 dots per 8” line
120 dots per inch; 960 dots per 8” line
Same density as Mode 1, but faster; does not print consecutive dots in a row.
240 dot positions per inch; 1920 dots per 8” line; does not print consecutive dots in a row.
80 dots per inch; 640 dots per 8” line
72 dots per inch; 576 dots per 8” line; produces the same density horizontally as vertically
90 dots per inch; 720 dots per 8” line
You are familiar with the command format that uses the ESCape
code and a letter, but LX-90 graphics commands can also be in the
following format:
LPRINT CHR$(27)"*"CHR$(m)CHR$(n1)CHR$(n2);
with m being the mode number found in the left column of Table 8-1. As usual, nl and n2 reserve the number of columns for graphics. The
seven modes include six densities, with two speeds for double-density.
60

Reassigning Code

The LX-90 has a graphics command that changes one graphics mode to another. You can use it with many commercial graphics soft­ware 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).
For example, if you send the following code before you run a graphics program, it will change every instance of mode “Y” (high-speed double-density) to mode 5 (one-to-one).
LPRINT CHR$(27)"?Y"CHR$(5)
As usual, this example is in BASIC, but you can send the code in any programming language.
Even if you don’t know which code your graphics program uses, a little experimentation should tell you whether the reassigning code can improve your graphics printouts.

Column Reservation Numbers

Now that you’ve seen the rest of the 8-pin graphics densities and the reassigning code, this section explains in more detail the part of the graphics command that reserves the number of columns for graphics
(the numbers nl and n2 in the examples).
If you need fewer than 255 columns of graphics, columns you want and n2 is zero. As you can see in Table ever, a single line will hold as many as 1920 columns in quadruple-
density. Specifying more than 255 is where the second number slot (n2) fits in. The first number that you send (nl) indicates a number of columns, but the second does not represent a number of columns; it is multiplied by 256 and added to nl. The command for the maximum number of dots you can reserve on the LX-90, then, is:
n1
is the number of
8-1,
how-
CHR$(27)"Z"CHR$(l28)CHR$(7);
or, in the other format:
CHR$(27)"*"CHR$(3)CHR$(128)CHR$(7);
which is 128 dots plus 7 times 256 dots, for a total of 1920 dots in one row.
61
Once you have chosen the number of columns you want to use, you can have your program do the calculations for you with the fol­lowing 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.
This format can be used with any graphics density and with any value of N up to the maximum number of columns per line for that density.

Designing Your Own Graphics

This section takes you through the development of a graphics pro-
gram. The example is not especially complicated, but it does include
the same steps you would use for a more complex figure so that you have the basis for designing graphics on your LX-90.
You should plan your figure with dots on graph paper, but before beginning to place the dots, you must decide which graphics density you want. Figure 8-3 shows the differences among the three most-used graphics modes so that you can choose the one you want.
Figure 8-3. Designing in different densities
In this figure you can see the main rules for graphic design in the three densities. In single density no dots can be placed on vertical lines. In high-speed double density dots can be placed on vertical
62
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
design, this exercise uses only seven pins (values
128)
can be used in any graphic you
l-64).
This was done because the graphic has twenty-one rows-using only seven pins pro­duces three lines of seven rows each.
After plotting all the dots as in Figure
8-4,
you calculate the num­bers for each pin pattern by dividing the design grid into separate print lines. For the arrow design, the grid was divided into three lines,
seven
dots high. Then each column was examined and the sums of the
each
pin values determined. This process for the first line is shown in Figure
8-5.
The pin values are on the left side and the sums are at the bottom
of each column.
Those of you who have read the previous chapter will
see that
de-
signing graphics is much like designing user-defined characters.
63
64
32 16
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.
First is the whole program and its printout, then an explanation of two techniques not used before:
NEW 90 WIDTH LPRINT 255
100 LPRINT CHR$(27)"A"CHR$(7)
590
FOR K=1 TO
600
LPRINT CHR$(27)"Y"CHR$(50)CHR$(0);
3
610 READ N: IF N=128 THEN 650 620 IF N>=0 THEN LPRINT CHR$(N);: GOT0
630
READ P,R: FOR J=1 TO -N
610
632 LPRINT CHR$(P)CHR$(R);: NEXT J
640
GOT0 610
650 LPRINT: NEXT K: LPRINT CHR$(27)"@": END
800 DATA 8,4,10,1,-6,8,0,4,0,2,0,1,-9,0,0,0 805 DATA 23,8,4,2,1,-2,0,0,0,128
810 DATA 0,0,0,0,64,32,17,10,4,0,-6,0,0,-10
815 DATA
820 DATA 2,4,10,16,34,64,-5,2,0,4,0,8,0,16
64,0,0,0,0,64,32,17,10,4,128
825 DATA 0,-9,32,0,61,2,4,8,16,32,64,0,0,0,128
64
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. Line 620 tests for a negative number, and if it finds one, reads the next two numbers and prints their pin patterns the number of times indi­cated by the negative number.
For example, when the minus 6 in line 800 is read, the program then reads the next two numbers (8 and 0) and sends them to the printer 6 times. This feature is not a necessary part of the program, but it does allow you to type fewer data numbers.
Otherwise the program is a straightforward graphics program that uses 7-dot line spacing and reads numbers from DATA statements and sends them to the printer. If you want to see the figure in other densi­ties, change the “Y” in line 600 to “L” or “Z”.

String variables

In a long and complicated graphics program, typing in the graphics command or repetitive data numbers over and over can become time­consuming. You can avoid much of the repetitive typing by storing commands and data in string variables.
Look at the program below. It is the same as the multiple-line exer­cise earlier in the chapter except for the string variables.
10 WIDTH LPRINT 255
20
G$=CHR$(27)+"K"+CHR$(100)+CHR$(0)
30 A$=CHR$(85)+CHR$(42)
40
B$=CHR$(42)+CHR$(85)
50 LPRINT CHR$(27)"A"CHR$(7)
60
FOR R=1 TO
3
70 LPRINT G$; 80 FOR X=1 TO
50:
LPRINT A$;: NEXT X 90 LPRINT 100 LPRINT G$; 110 FOR X=1 TO 50: LPRINT B$;: NEXT X 120 LPRINT: NEXT R
130
LPRINT CHR$(27)"@"
65
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. In a long program it can save you much more time and effort.
66
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 deci­mal 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. See Chapter 5 for the international characters. The codes for printer instructions, such as expanded and empha-
sized printing, are in Appendixes B and C.
A-l

Draft Mode

Dec Hex Char
0
00 NUL
1
01
none
2
02 none
3
03 none
4
04 none
5
05 none
6
06 none
7
07
BEL 8 08 9
10 OA
11
12 13 OD 14 15 OF 16 17 18 19 13 20 21 22 16 23 24 25 26 27 1B ESC 28 29 30 31
09
OB OC
OE
10 11 12
14 15
17 18 19 1A
1C 1D 1E 1F
BS
HT
LF
VT
FF
CR
SO
SI
none
DC1
DC2
DC3
DC4
none
none
none
CAN
EM
none
none
none
none
none
Dec Hex Char
32 20 blank 33 21 34 22 35 23 36 24 37 25 38 26 39 27 40 28 41 29 42 2A 43 2B 44 2C 45 2D 46 2E 47 2F 48 30 49 31 50 32 51 33
52 34 53 35 54 36 55 37 56 38 57 39 58 3A 59 3B
60 3C
61 3D 62 3E 63 3F
! "
# $ % &
'
(
)
* +
'
-
.
/
0
1 2 3
4 5
6
7
8
9
:
; < =
> ?
Dec Hex Char
64 40 65 41 66 42 67 43 68 44 69 45 70 46 71 47 72 48 73 49 74 4A 75 4B 76 4C 77 4D 78 4E 79 4F 80 50 81 51 82 52 83 53 84 54 85 55 86 56 87 57 88 58 89 59 90 5A 91 5B 92 5C 93 5D 94 5E 95 5F
@ A B C
D E F G H
I J K
L M N
O P Q R
S T U
V
W
X
Y
Z
[
\
]
^
_
Dec Hex Char
96 60 97 61 98 62 99 63 100 64 101 65
102 66 103 67 104 68 105 69
106 6A 107 6B
108 6C 109 6D 110 6E 111 6F
112 70
113 71
114 72
115 73 116 74
117 75
118 76
119 77
120 78
121 79
122 7A
123 7B
124 7C
125 7D
126 7E
` a
b c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
127 7F DEL
A-2
Draft Mode
Dec Hex Char
128
80 NUL
129
81
none
130
82 none
131
83 none
132
84 none
133
85 none
134
86 none
135
87 BEL
136
88
BS
137
89
HT
138
8A
LF
139
8B
VT 140 8C FF 141
8D
CR
142 8E SO 143
8F
SI
144
90 none
145
91 DC1
146
92
DC2
147
93 DC3
148
94 DC4
149
95 none
150
96 none
151
97
none
152
98 CAN
153
99
EM
154
9A none
155
9B
ESC 156 9C 157 158 9E 159
none
9D none
none
9F none
Dec Hex Char
160 A0 blank 161 A1 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 B2 179 B3 180 B4 181 182 B6 183 B7 184 B8 185
186 187 188 BC 189 190 BE 191
A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
BO B1
85
B9 BA BB
BD BF
!
"
#
$
% &
' (
)
*
+
,
-
.
/
0
1 2 3
4
5 6
7
8
9
:
;
<
=
>
?
Dec Hex Char
DO D1 D2 D3 D4 D5 D6 D7 D8 D9
DC DD DE DF
@
A B
C
D E F
G
H
I
J
K
L
M
N
O P
Q
R
S T U
V
W
X
Y
Z
[
\ ]
^
_
192
co
193
Cl 194 C2 195 C3 196 C4 197 C5 198 C6 199
C7
200
C8 201
C9 202 CA 203 CB 204
CC 205 CD 206
CE 207 CF 208 209 210 211 212 213 214 215 216 217 218 DA 219 DB 220 221 222 223
Dec Hex Char
E0 E1 E2 E3
E4 E5 E6
E8 E9
EB EC
ED EE EF FO F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE
` a
b c
d
e
f
g
h
i j
k l
m
n
o
p
q r
s
t
u v
w
x
y z
{
/ }
~
224 225 226 227
228 229
230 231 E7 232 233 234 EA 235
236
237
238
239
240 241 242 243 244
245
246
247
248
249
250
251
252
253
254
255 FF none
A-3

NLQ Mode

Dec Hex Char
0
00 NUL
1
01
none
2
02 none
3
03 none
4
04 none
5
05 none
6
06 none
7
07 BEL
8
08
BS
9
09
HT
10 OA
11 12
13
14 15 16 10
17 18
19 20 21 22
23
24 25 26 27 28 29 30 31
LF
OB
VT
OC
FF
OD
CR
OE
SO
OF
SI
none
11
DC1
12
DC2
13
DC3
14
DC4
15
none
16
none
17
none
18
CAN
19
EM
IA
none 1B ESC 1C
none ID
none 1E
none 1F
none
Dec Hex Char
32 20
33 21
34 22 " 66 42 B 98 62 b 35 23 # 67 43 36 24 $ 68 44 37 25 38 26 & 70 46 39 27
40 28 41 29 ) 73 49 I
42 2A * 74 4A J
43 2B + 75 4B 44 2C 45 2D - 77 4D
46 2E 47 2F / 79 4F
48 30 0 80 50 P
49 31
50 32
51 33
52 34
53 35
54 36
55 37
56 38 8 88 58 X
57 39
58 3A
59 3B
60 3C
61 3D = 93 5D ] 125 7D }
62 3E
63 3F ? 95 5F
blank
!
% ' 71 47
(
,
.
1
2 3
4 5
6 7
9
: ;
< >
Dec Hex Char
64 40
65 41
@
A
C
D
69 45
E
F
G
72 48
76 4C L 78 4E
H
K 107 6B M
N 0
81 51 82 52 R 83 53 S
84 54 T 85 55
86 56 87 57
89 59
90 5A 91 5B [ 92 5C \
94 5E
Q
U V 118 76 W
y
Z
^
_
Dec Hex Char
96 60 97 61
99 63 c
100 64 101 65 102 66
103 67
104 68 105 69 106 6A j
108 6C 109 6D 110 6E 111 6F 112 70 113 71 114 72 115 73
116 74 117 75
119 77 120 78 121 79 122 7A 123 7B 124 7C
126 7E 127 7F
DEL
`
d
e f
g
h
i
k
1 m n
0
p
q
r
s
t u
v w x
y
z
{
|
~
A-4
NLQ Mode
Dec Hex Char
128 80 NUL
129 81 none 130 82 none
131 83 none 132 84 none 133 85 none 134 86 none
135 87 BEL 136 88 BS 137 89 HT 138 8A LF 139 8B VT 140 8C FF 141 8D CR
142 8E SO 143 8F SI
144 90 none 145 91 DC1 146 92 DC2 147 93 DC3 148 94 DC4
149 95 none 150 96 none
151 97 none
152 98 CAN
153 99 EM
154 9A none 155 9B ESC
156 9C none
157 9D none
158 9E none
159 9F none
Dec Hex Char
160 A0 blank
BO B1
B5 B6
B8 B9 BA BB
BD BF
!
"
#
$
%
&
'
( )
*
+
,
­.
/
0
1
2
3 4 5 6
7
8
9
:
;
<
=
>
?
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
175
AF 176 177 178 B2 179 B3 180 B4 181 182 183 B7
184 185
186 187 188 BC 189 190 BE
191
Dec Hex Char
192 C0 193
C1 194 C2 195 C3 196 C4 197 C5 198 C6 199 C7
200
C8
201
C9
202 CA 203 CB 204
CC 205
CD
206
CE 207
CF
208
DO
209
D1
210
D2 211 D3 212
D4
213
D5
214
D6
215
D7
216
D8
217
D9
218 DA 219 DB 220
DC
221
DD
222
DE
223 DF _
@ A
B C
D
E
F G H
I J K L M N O
P
Q R S
T
U V W X Y Z
[
\
]
^
Dec Hex Char
E0 E1
E2 E3 E4 E5 E6 E7 E8 E9 EA
EB EC ED
EE EF FO F1 F2 F3 F4 F5 F6 F7 F8
F9
FA FB FC
FD
FE
` a
b c
d
e f
g
h
i
j
k
l
m
n
o
p
q r
s
t
u
v w
x
y
z
{
|
}
~
224 225 226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255 FF none
A-5
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
7 8
9 10 11 12
13 14 15 17 18 19 20 24
127
14 15 25 33
37 38 42 45
BEL
BS HT LF VT FF CR so
SI DC1 DC2 DC3 DC4
CAN
DEL
ESC SO
ESC SI
ESC EM
ESC !
ESC %
ESC &
ESC *
ESC -
Beeper .........................
Backspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-23
Tab Horizontally
Line Feed Tab Vertically Form Feed Carriage Return Select Expanded Mode (one line) Select Compressed Mode
Select Printer Cancel Compressed Mode Deselect Printer
Cancel Expanded Mode (one line)
Cancel Line
Delete Character
Select Expanded Mode (one line)
Select Compressed Mode
Cut Sheet Feeder Control
Master Select
Select User-Defined Set
Define User-Defined Characters
Select Graphics Mode
Select/Cancel Underlining
........................
. . . . . . . . . . . . . . . . . .
.....................
.......................
...................
............
.....................
...........
...................
......................
..................
............
...........
......................
.............
......
..............
...........
......
.....
......
C-23 C-16
C-12 C-16 C-15
C-23
C-5
C-4
C-24
C-4
C-24
C-5 C-24 C-27
C-5
C-4 C-25
C-9 C-22 C-22
C-21
C-9
B-l
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
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 ESC Y ESC Z
A
ESC ESC a
Select Vertical Tab Channel Select l/B-Inch Line Spacing Select 7/72-Inch Line Spacing Select l/6-Inch Line Spacing
Select n/216-Inch Line Spacing
Select Italic Mode Cancel Italic Mode Disable Paper-Out Sensor Enable Paper-Out Sensor
Copy ROM Into RAM
Select Unidirectional Mode
Reassign Graphics Mode
Initialize Printer
Select n/72-Inch Line Spacing
Select Vertical Tabs
Select Page Length in Lines
Select Page Length in Inches
Set Horizontal Tabs
Select Emphasized Mode
Cancel Emphasized Mode
Select Double-Strike Mode
Cancel Double-Strike Mode
Immediate n/216-Inch Line Feed
Single-Density Graphics Mode
Double-Density Graphics Mode
Select Elite Pitch Select Skip-Over-Perforation
Cancel Skip-Over-Perforation
Select Pica Pitch Set Right Margin
International Character Set
Select Superscript Select Subscript Cancel Superscript/Subscript Select Unidirectional Mode Select/Cancel Expanded Mode High-Speed Double-Density Graphics . C-20 Quadruple-Density Graphics Mode . . C-20 Select 9-Pin Graphics Mode NLQ Justification
..................
................
...................
................
................
...................
...................
..................
..................
....................
..................
.........
........
.......
........
......
..........
...........
.............
.........
...........
.......
..........
.........
............
...........
...........
..........
.....
......
.....
........
.......
.........
.........
.........
.......
.........
C-17 C-13 C-13 C-13 C-14
C-9 C-10 C-25 C-25 C-22 C-26 C-21 C-26 C-14 C-17 C-15 C-15 C-16
C-7 C-7 C-7
C-8 C-14 C-19 C-19
C-6 C-12 C-12
C-6 C-11 C-10
C-8
C-8
C-8 C-26
C-6
C-21
C-3
B-2
ESC 98 ESC b ESC 101 ESC e
ESC 102 ESC f ESC 108 ESC l
ESC 109 ESC
m
ESC 115 ESC s ESC 120 ESC x
Select Vertical Tabs in Channels Set Horizontal and Vertical Tabs Print Spaces or Line Feeds Set Left Margin
Select Special Graphics Characters. Select Half-Speed Mode Select NLQ or draft
...................
............
................
......
.....
..........
...
C-17 C-18
C-18
C-11 C-10 C-27
C-3
B-3
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. format section gives the ASCII, decimal, and hexadecimal codes for the command. In some cases there is also a control key code because some commercial software programs can use a control key for a code between 0 and
example, means hold down the control key while you press 0.
Letters in parentheses, such as (n) or (d), are variables, which are
explained in the comments sections.
27
(decimal). In this section, CTRL 0, for
The
C-l
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. For example, the format section for the right margin command is as fol­lows:
ASCII code:
Decimal:
Hexadecimal: 1B
In BASIC you can send the command to set the right margin to 60 in three ways:
Decimal : Hex: Decimal with quotes:
ESCape sequences that require a 0 or 1 with a letter, such as ESC ‘Wl” to turn on expanded, can use either the ASCII code or the numeral in quotation marks for the 0 or 1. For example, in BASIC you can turn on expanded with either of the formats below:
LPRINT CHR$(27);"Wl"
ESC
27
Q
(n)
81 (n)
51
(n)
LPRINT CHR$(27);CHR$(81);CHR$(60) LPRINT CHR$(&HlB);CHR$(&H51);CHR$(&H3C)
LPRINT CHR$(27);"Q";CHR$(60)
or
LPRINT CHR$(27);"W";CHR$(1)
c-2

Near Letter Quality Mode

ESC x
Format:
ASCII code: Decimal: Hexadecimal :
Comments:
n = 0 selects draft mode n = 1 selects Near Letter Quality (NLQ) mode
ESC
27
1B
(n)
120 (n)
78 (n)
Select NLQ or draft
ESC a
NLQ Justification
Format:
ASCII code: Decimal : Hexadecimal :
ESC
27
1B
(n)
97 (n)
61
(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 default setting is n = 0. Full justification (n = 3) is performed when the buffer becomes full. HT and BS are invalid except in n = 0 mode. For n = 3 a WIDTH command may be required. For n = 3 there should be no carriage returns within a paragraph. NLQ only.
c-3

Character Width (Pitch)

SI
Format:
ASCII code: SI Decimal : Hexadecimal: OF
Control:
Comments:
Compressed mode has
NLQ.
15
CTRL O
17.16
Select Compressed Mode
characters per inch. Not available in
ESC SI
Select Compressed Mode
Format:
ASCII code: Decimal: Hexadecimal: 1B
ESC SI
27
15
OF
Comments:
Duplicates the SI command.
DC2
Cancel Compressed Mode
Format:
ASCII code: Decimal:
Hexadecimal: 12 Control:
DC2
18
CTRL R
Comments:
Cancels compressed printing set by SI or ESC SI.
c-4
so
Format:
ASCII code: SO Decimal: Hexadecimal: OE Control:
Comments:
Doubles the width of all characters. It can be cancelled by a carriage return, DC4, ESC W0 or ESC !.
I4
CTRL N
Select Expanded Mode (one line)
ESC SO
Format:
ASCII code: Decimal: Hexadecimal: I B
Comments:
Duplicates the SO command.
ESC SO
27
DC4
Format:
ASCII code: Decimal : Hexadecimal: I4 Control:
Comments:
Cancels one-line expanded printing selected by SO or ESC SO, but not expanded printing set by ESC W or ESC ! .
DC4
20
CTRL T
Select Expanded Mode (one line)
I4
0E
Cancel Expanded Mode (one line)
c-5
ESC W
Select/Cancel Expanded Mode
Format:
ASCII code: Decimal : Hexadecimal: I B
ESC W (n)
27
87 (n)
57 (n)
Comments:
Expanded mode doubles the width of all characters. n = 1 selects the mode n = 0 cancels it
ESC M
Select Elite Pitch
Format:
ASCII code: Decimal: 27 Hexadecimal: 1B
ESC
M
77
4D
Comments:
Elite pitch has 12 characters per inch. Not available in NLQ.
ESC P
Select Pica Pitch
Format:
ASCII code: Decimal: Hexadecimal: I B
ESC
27 80
P
50
Comments:
Selects pica pitch (10 characters per inch). Because pica is the default character width, this command is normally used to cancel elite pitch.
C-6

Print Enhancement

ESC E
Format:
ASCII code: Decimal: Hexadecimal :
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.
ESC
27 69
I B
E
45
ESC F
Format:
ASCII code: Decimal: Hexadecimal: I B
Comments:
Turns off the mode selected by ESC E.
ESC
27 70
F
46
Select Emphasized Mode
Cancel Emphasized Mode
ESC G
Format:
ASCII code: Decimal: Hexadecimal: I B
Comments:
In double-strike each line is printed twice, with the second printing slightly below the first. Not valid in NLQ mode.
ESC
27
G 71 47
Select Double-Strike Mode
c-7
ESC H
Format:
ASCII code: Decimal : Hexadecimal: I B
ESC
27
H
72
48
Comments:
Turns off the mode selected by ESC G.
Cancel Double-Strike Mode
ESC SO
Format:
ASCII code: Decimal: 27
Hexadecimal :
Comments:
Selects superscript mode.
ESC
I B
ESC S1
Format:
ASCII code: Decimal: 27
Hexadecimal: I B
Comments:
Selects subscript mode.
ESC
Select Superscript
s 0
83 0
53 0
Select Subscript
s I
83 I 53 I
ESC T
Format:
ASCII code: Decimal: Hexadecimal: I B
Comments:
Cancels either mode.
C-8
ESC
27
Cancel Superscript/Subscript
T
84
54
ESC -
Format:
ASCII code: Decimal : Hexadecimal: I B
ESC - (n)
27
Comments:
n = 1 selects underlining n = 0 cancels it.
Select/Cancel Underlining
45 (n)
2D (n)
ESC !
Master Select
Format:
ASCII code:
Decimal: Hexadecimal :
ESC
27
I B
! (n)
33 (n)
21 (n)
Comments:
Selects any valid combination of the following modes: pica, elite, compressed, emphasized, double-strike, expanded, italic, under­line. Elite, compressed, double-strike, and italic are not available in
NLQ. Further details in Chapter 5.
ESC 4
Select Italic Mode
Format:
ASCII code:
Decimal: 27
Hexadecimal: I B
ESC
4
52
34
Comments:
Causes characters to be printed in the italic character set.
Not valid in NLQ.
c-9
ESC 5
Format:
ASCII code: Decimal: Hexadecimal:
ESC
27
1B
5
53 35
Comments:
Cancels the mode selected by ESC 4.
Cancel Italic Mode
ESC R
Select an International Character Set
Format:
ASCII code: Decimal: Hexadecimal: I B
ESC
27
R
(n)
82 (n)
52 (n)
Comments:
See Chapter 5 for details on this command.
ESC m
Select Special Graphics Characters
Format:
ASCII code: Decimal :
Hexadecimal: I B
ESC
27
m
(n)
109 (n)
6D (n)
Comments:
Selects the special graphics character set, which is stored in ASCII positions
where n toggles the character set on and off:
4
0 turns them OFF.
128 to 159.
CHR$(27);“m”;CHR$(n)
turns the graphics characters ON,
Format in BASIC:
c-10

Page Formatting

Margins

ESC Q
Format:
ASCII code:
Decimal : Hexadecimal: I B
ESC
27
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
Set Right Margin
ESC I
Set Left Margin
Format:
ASCII code: Decimal: Hexadecimal: I B
ESC
27
I
(n)
108 (n)
6C (n)
Comments:
Sets the left margin.
n = first printing column in the current pitch Maximum value of n is:
78
in pica
93
in elite
133 in compressed
156
in compressed elite Clears previous tab settings; therefore should be set before tabs are set. Use lowercase 1, not the numeral one.
c-11
ESC N
Select Skip-Over-Perforation
Format:
ASCII code: Decimal: 27 Hexadecimal: I B
ESC
N
(n)
78 (n)
4E (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.
ESC O
Cancel Skip-Over-Perforation
Format:
ASCII code:
Decimal: Hexadecimal: I B
ESC
27
O
79
4F
Comments:
Cancels the mode selected by ESC N.

Line spacing

LF
Line Feed
Format:
ASCII code: LF Decimal: Hexadecimal: OA Control:
IO
CTRL J
Comments:
When this command is received, the data in the print buffer is printed and the paper advances one line in the current line spacing.
c-12
ESC 0
Format:
ASCII code: Decimal: Hexadecimal: 1B
ESC
27 48
Comments:
Sets the line spacing to
mands. The
"0"
is the digit zero and not ASCII code 0.
Select l/&-Inch Line Spacing
0
30
1/8
of an inch for subsequent line feed com-
ESC
1
Format:
ASCII code: Decimal: 27 Hexadecimal :
ESC
1B
Comments:
Sets the line spacing to commands. The code
1.
"1"
ESC 2
Format:
ASCII code: Decimal: 27
Hexadecimal: I B
ESC
Comments:
Sets the line spacing to mands. The default at power on.
"2"
is the digit two and not ASCII code
Select 7/72-Inch Line Spacing
I
49
31
7/72
is the digit one and not lower case L or ASCII
of an inch for subsequent line feed
Select l/6-Inch Line Spacing
2
50
32
1/6
of an inch for subsequent line feed com-
2.
This is the
c-13
ESC 3
Select n/216-Inch Line Spacing
Format:
ASCII code: Decimal: Hexadecimal: I3
ESC
27
3
(n)
51 (n)
33
(n)
Comments:
Sets the line spacing to
commands. The “3” is the digit three and not ASCII code
value of n should be in the range 0 to
n/216
of an inch for subsequent line feed
255.
3.
The
ESC J
Immediate n/216-Inch Line Feed
Format:
ASCII code: Decimal: Hexadecimal :
ESC
27
1B
J
(n)
74 (n)
4A (n)
Comments:
Advances the paper by one line at a spacing of n/216 of an inch. The value of n should be in the range 0 to
immediate line feed but does not affect subsequent line spacing and does not produce a carriage return.
ESC A
Select n/72-Inch Line Spacing
255.
This produces an
Format:
ASCII code: Decimal: 27 Hexadecimal: I3
ESC
A
(n)
65 (n)
41 (n)
Comments:
Sets the line spacing to n/72 of an inch for subsequent line feed
commands. The value of n should be in the range 0 to
85.
c-14

Form feed and page length

FF
Form Feed
Format:
ASCII code: FF 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.
ESC C
Select Page Length in Lines
Format:
ASCII code: Decimal: 27 Hexadecimal: 1B
ESC
C
(n)
67 (n)
43 (n)
Comments:
Sets the
and 127.
ESC CO
page
length to n lines. The value of n should be between 1
Select Page Length in Inches
Format:
ASCII code:
Decimal: Hexadecimal:
ESC
27
1B
C 0 (n)
67 0 43
00
(n) (n)
Comments:
Sets the page length to n inches where n has a value of 1 to 22.
c-15

Tabs

HT
Format:
ASCII code: HT Decimal: Hexadecimal: 09 Control:
Comments:
Advances the print position to the next horizontal tab setting.
9
CTRL I
Tab Horizontally
ESC D
Format:
ASCII code:
Decimal: 27 Hexadecimal: 1B
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. must be entered in ascending order. If nl = 0, all tabs are cleared. The settings on power up or after an ESC @ command are every eight characters.
ESC
D (n1) (n2) ... 0
68 (n1) (n2) ... 0
44 (n1) (n2) ... 00
VT
Format:
ASCII code: VT Decimal: Hexadecimal: 0B Control:
Comments:
Advances the paper to the next tab setting in the channel selected by ESC /. If no channel has been selected, channel 0 is used. If no vertical tabs have been selected, the paper advances one line.
11
CTRL K
Set Horizontal Tabs
Tab Vertically
C-16
ESC B
Format:
ASCII code: Decimal: Hexadecimal: 1B
Comments:
Sets up to 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.
ESC
27
16
vertical tabs in the current line spacing. Tab settings
B (n1) (n2) ... 66 (n1) (n2) ... 42 (n1) (n2) ... 00
Select Vertical Tabs
0 0
ESC b
Format:
ASCII code: Decimal: Hexadecimal: 1B
Comments:
ESC
27
Select Vertical Tabs in Channels
(c) (n1) (n2) ...
b
98
62
(c) (n1) (n2) ... (c) (n1) (n2) ... 00
0
0
c=0to7
Sets up to 16 vertical tabs for channel c. The tab settings can be cleared by giving a value of zero to nl. Tab settings are not affected by subsequent changes in line spacing.
ESC I
Format:
7.
ESC
27
47
2F
ASCII code: Decimal : Hexadecimal: 13
Comments:
This command is used to select the vertical tab channel, where c has
the value 0 to
Select Vertical Tab Channel
/
(c) (c) (c)
c-17
ESC e
Format:
ASCII code: Decimal: Hexadecimal: 1B
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. In BASIC:
CHR$(27);“el”;CHR$(n)
where n is the number of line feeds and equals:
INT(255/x) for x/216-inch line spacing, INT(85/x) for x/72-inch line spacing.
7 for 12-dot line spacing.
ESC
27
Set Horizontal and Vertical Tabs
e (n1) (n2)
101 (n1) (n2)
85 (n1) (n2)
ESC f
Print Spaces or Line Feeds
Format:
ASCII code: Decimal: Hexadecimal: 1B
Comments:
Prints spaces or line feeds without carriage returns. Horizontal format when nl = 0. In BASIC:
CHR$(27);“fO”;CHR$(n) where n is the number of spaces and equals 0 - 127. Vertical format when nl = 1. In BASIC:
CHR$(27);“fl”;CHR$(n) where n is the number of line feeds and equals 0 - 127.
ESC
27
f (n1) (n2)
102 (n1) (n2)
66 (n1) (n2)
C-18

Graphics

Note:
See Chapter 8 for sample graphics programs.
ESC K
Format:
ASCII code: Decimal:
Hexadecimal: 1B
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
27
ESC L
Format:
ASCII code: Decimal: Hexadecimal: 1B 4C (n1) (n2)
Comments:
Turns on low-speed double-density graphics mode with 960 possi­ble dots per 8-inch line. If d is the total number of columns required, n1 = d MOD 256 n2 = INT(d / 256) This command must be followed by d data numbers.
ESC
27
-Select Single-Density Graphics Mode
K (n1) (n2)
75 (n1) (n2)
4B (n1) (n2)
Select Double-Density Graphics Mode
L (n1) (n2)
76 (n1) (n2)
c-19
ESC Y
Select High-Speed Double-Density Graphics Mode
Format:
ASCII code:
Decimal: Hexadecimal: 1B
ESC
27
Y (n1) (n2)
89 (n1) (n2) 59 (n1) (n2)
Comments:
Turns on high-speed double-density graphics mode with 960 possi­ble 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.
ESC Z
Select Quadruple-Density Graphics Mode
Format:
ASCII code: Decimal: Hexadecimal: 1B
ESC
27
Z (n1) (n2)
90 (n1) (n2)
5A (n1) (n2)
Comments:
Turns on quadruple-density graphics mode with 1920 possible dot positions per B-inch line. Will not print consecutive dots in a row.
If d is the total number of columns required, n1 = d MOD 256 n2 = INT(d / 256) This command must be followed by d data numbers.
c-20
ESC *
Select Graphics Mode
Format:
ASCII code: Decimal : Hexadecimal: 1B
ESC
27
* (m) (n1) (n2)
42 (m) (n1) (n2)
2A (m) (n1) (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.
ESC ?
Reassign Graphics Mode
Format:
ASCII code: Decimal: Hexadecimal :
ESC
27 63
1B
3F
?
(s) (n)
(s) (n)
(n)
(s)
Comments:
Changes one graphics mode to another. The variable s is a character K, L, Y, or Z, which is reassigned to a mode O-6.
ESC ^
Select 9-Pin Graphics Mode
Format:
ASCII code: Decimal: Hexadecimal :
ESC
27
1B
^ (m) (n1) (n2)
94 (m) (n1) (n2)
5E (m) (n1) (n2)
Comments:
Turns on 9-pin graphics mode. Where m defines density of print (0 for single and 1 for double) and d is the total number of dots required nl and n2 are as below:
nl = d MOD 256 and n2 = INT(d / 256)
and are followed by two times d data bytes. The printer expects two
data items for each column of print.
c-21

User-Defined Characters

Note:
See Chapter 7 for sample programs and further information.
ESC &
Format:
ASCII code: Decimal: Hexadecimal: 1B
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.
ESC
27
ESC :
Format:
ASCII code:
Decimal : Hexadecimal:
Comments:
This code allows the characters in the LX-90 ROM to be copied into RAM so that specific characters can be redefined.
ESC
27
1B
Define User-Defined Characters
& NUL (d1) (d2) ...
38 26
0 (d1) (d2) ...
00 (d1) (d2) ...
Copy ROM Into RAM
0
0
00
58
3A
:
0 0
0
00 00
0
(dn) (dn) (dn)
ESC %
Format:
ASCII code: Decimal: Hexadecimal: 1B
Comments:
This code selects the user-defined set if n = 1 and the normal set if n =
0.
ESC & is required to define the character set.
c-22
ESC % (n)
27
37 (n)
25 (n)
Select User-Defined Set

Other Codes

BEL
Format:
ASCII code: Decimal: Hexadecimal: 07
Control:
Comments:
Sounds the printer’s beeper.
BEL
7
CTRL G
Beeper
BS
Backspace
Format:
ASCII code: BS Decimal: Hexadecimal: 08
Control:
8
CTRL H
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.
CR
Carriage Return
Format:
ASCII code: CR
Decimal : Hexadecimal : 0D Control:
13
CTRL M
Comments:
Prints the data in the buffer and returns the print position to the left margin.
C-23
DC1
Select Printer
Format:’
ASCII code: Decimal : Hexadecimal : 11 Control:
DC1
17
CTRL Q
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:
ASCII code: Decimal: Hexadecimal: 13 Control:
DC3
19
CTRL S
Comments:
Places the printer in off-line mode until the select printer code DC1 is received.
CAN
Cancel Line
Format:
ASCII code: Decimal: Hexadecimal: 18 Control:
CAN
24
CTRL X
Comments:
Removes all text in the print buffer, but does not affect control codes.
C-24
Loading...