,,, SR-IO/I5 USER’S MANUAL NOT INTENDED FOR SALE : I
Federal Communications Commission Radio Frequency Interference Statement The equipment generates and uses radio frequency energy and if not installed and used properly, that is, in strict accordance with the manufacturer’s instructions, may cause interference to radio and television reception.
A Special Message to the New Owner i h.. I L. / / ‘ . / ., You’re to be congratulated on selecting the printer of choice for both the sophisticated as well as the first-time user/owner - the new SR-lo/Is! Right now, before you even start readying your SR-lo/15 for action, we’d like to impress you with these two thoughts: 1. In as few words as possible, we’ll highlight the several special features that SR-lo/15 offers you, and 2.
We think you’ll also find this manual easy and pleasant to use. We’ve gone to great lengths to make it so. As a first example, look over the table of contents and you’ll see what we mean. Whether greenhorn or wizard, everybody will find what they need to know to fulfill their expectations.
Table of Contents Chapter 1 1 Setting Up SR-lo/15 Where Shall We Put It? What Have We Here? Removing the printer covers Removing packing and shipping screws Installing the platen knob Installing the ribbon cartridge Connecting SR-lo/15 to Your Computer Chapter 2 Getting to Know Your SR-lo/15 9 Components and Controls Paper Selection and Loading Loading single sheets Loading sprocket-feed paper Ribbon Installation Adjusting the Gap Self-Test Some Tips for Smoother Operation Chapter 3 Getting Started W
Superscripts and subscripts Changing the Print Pitch Expanded print Making SR-lo/15 Print Darker Mixing Modes Summary Chapter 6 Line Spacing and Forms Control 47 - Starting New Lines Reverse line feeds Changing Line Spacing Moving down the page without a carriage return Forms Controls Form feed Reverse form feed Changing the Page Length Top and Bottom Margins Summary Chapter 7 Formatting Your Output - - 61 Using Horizontal Tabs A one-shot tab command Setting Left and Right tiargins Using Vertical
Printing Download Characters Erasing Download Character Definitions Defining Proportional Characters Connecting characters Summary Chapter 10 Printing With Dot Graphics 103 Comparing Dot Grapphics With Download Characters Using the Dot Graphics Commands Specifying the number of columns of dots Specifying the graphics data Combining text and graphics Printing a Design or Logo Plotting With SR-lo/15 How the program works High Resolution Graphics If You Have Problems With BASIC Summary Chapter 11 Basic Mai
Appendix G Technical Specifications 215 Appendix H The Parallel Interface 219 Functions of the Connector Signals Serial Interface Specifications Appendix I 223 Configuring the Serial Interface SR-10/15’s Serial Protocols Serial busy protocols XON/XOFF protocol ACK protocol Appendix J Connecting With Computer - 229 Connecting with IBM-PC and Compaq BASIC programming Listing programs Connecting with Apple II computers Applesoft BASIC Listing programs Connecting with TRS-80 computers TRS-80 BAS
Table of Tables Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table 2-1 Left margin on the single sheet guide 5-l Near letter quality commands 5-2 Italic commands 5-3 Underline commands 5-4 Superscript and subscript commands 5-5 Print pitch commands 5-6 Expanded print commands 5-7 Print emphasis commands 5-8 Master select
CHAPTER 1 SETTING UP SR- 1O/15 L.. L” ; c., In this chapter, we’ll show you how to unpack your new SR-lo/15 printer, set it up in the right location, and get it ready for you to load it with paper and start printing. But first . . . WHERE I-. SHALL WE PUT IT? Before you do anything else, give some thought to where you’ll be using your printer. Obviously, it will be somewhere near your computer. And both printer and computer will lead longer, healthier lives if they like their environment.
- Inside the carton you should have received: 1) SR-lo/15 printer, 2) cut sheet guide, 3) continuous paper guide, 4) power cord, 5) platen knob, 6) spare fuse, 7) ribbon cartridge, and 8) this user’s manual. Figure l-l. Let’s move on the next step . . . d the printer covers What are covers for, really? Primarily, for two reasons: one, to keep dust and dirt away from the delicate “innards,” and two, to keep the noise level down. The front cover must be on or SR-lo/15 will not print.
with the printer frame, then with a slight rocking motion, lift it straight up and off the machine. To replace, just reverse the Figure l-2 illustrates the proper position and procedure. movement for both removal and replacement of the covers. R/ear cover Remove the printer covers by tilting them up to about 45”, then lifting straight up. Figure l-2.
- SR-10 has three screws which secure the chassis during shipping; SR-15 has four. They should be removed before use. Figure l-3. n Installing the platen knob This is the knob that turns the rubber platen cylinder. It fits into the hole on the right side of the printer case. Just match the odd-shaped hole in the knob with the same shape on the shaft you’ll see inside the hole in the case, and press it on firmly.
Remove the spiral tube on the carriage stay that protects SR-10/15’s print head. Figure 14. the knob a few turns to see that it’s turning the platen easily and smoothly. n Installing the ribbon cartridge The ribbon cartridge greatly simplifies installing the ink ribbon. For easy installation, though, it’s wise to follow the sequence and diagrams shown here. 1. Turn the power switch off, and remove the front cover (as explained earlier.) 2.
Guide pin A guide pin on each side of the ribbon cartridge helps to align the cartridge during installation. Figure l-5. Guide pin - Figure l-6. Tilt the ribbon cartridge in until the guide pins meet the hooks in the printer frame, then lower the front edge until the holder springs hold it-in place.
5. Now thread the ribbon carefully between the print head and the ribbon guide next to the platen. (Take a good look at Figure l-7.) You might want to use a ball point pen to lightly press the ribbon guide against the platen (runbber roller) while you insert the ribbon into the thin space between the print head and ribbon guide. Zmporiant: Center the ribbon vertically in the middle of the print head to avoid misprints or the ribbon coming off during printing. 6.
CONNECTING SR-lo/15 TO YOUR COMPUTER To complete the installation, you’ll need to connect SR-lo/15 to your computer. Figure l-8 shows where the cable connects, but there’s more that you need to know. Find the appendix and follow the guidelines for making connections (“interfacing”) and for setting the DIP switches. If you cannot connect to your computer, then your Star dealer will give you advice on connecting SR-lo/15 to your computer. Figure 1-8. SR-lo/15 has parallel interface as standard.
I CHAPTER 2 GETTING TO KNOW YOUR SR-lo/15 .^ .- The more you learn about SR-lo/15 and its sophisticated features, old and new, the better SR-lo/15 is going to perform for you.
Ground terminal Power cord connector Figure 2-1. Front and rear views of SR-IO. Like a typewriter, the print head prints through an ink ribbon. TRACTOR - This built-in unit sits in the rear of your printer, under the rear cover. Its sprocket wheels carry the sprocket-feed paper on its pathway through the printer. PLATEN - This is the rubber cylinder that carries paper to the print head.
.Bail lever Control ,Ll Power cord conndr W ‘\ Figure 2-2. Front and rear views of SR-15. INTERFACE CONNECTOR - Around on the back, this is the place where you connect your computer to SR-10/15, so that they are able to communicate with each other. Now let’s take a tour around the controls, starting with the control panel board, located at the right front. There are 5 lamps and 5 buttons on the panel: --.
Figure 2-3. SR-10/15’s controls. POWER LAMP - Glows green when the power is on. READY LAMP - Glows green when the printer is ready to accept data. This light flickers during transmission. Don’t worry about the flicker; it’s normal! ON LINE LAMP - Glows green when the communication lines to your computer are open. PAPER-OUT LAMP - Glows red when the printer is out of paper and stops printing. It works only when you’re using sprocket paper.
data from the computer. When it’s off line, the printer sends a signal to the computer indicating that it cannot accept data. When you turn the power switch on, you are automatically on line. There are other kinds of controls, not connected to the control panel board. Some of the more important ones are: POWER SWITCH - Towards the back on the right side. This turns on the electricity to your machine. PLATEN KNOB - Middle, right side. Lets you manually turn the platen, just like a typewriter.
PAPER SELECTION AND LOADING Now we’ll look at paper. Your SR-lo/15 can handle single sheets - standard-size stationery, multi-part carbonless business forms, or almost any other kind of cut sheet. You can also print on “computer paper” with the holes along the sides, which is also called sprocket, punched, or perforated fan-fold. The loading procedures are quite different for single sheet and sprocket paper.
Figure 2-4. Use the single sheet guide for loading cut paper. Table 2-1 Left margin on the single sheet guide For SR-10 Edge of Paper For SR-15 Left Approx. .6 inch Approx. .8 inch Middle Approx. .3 inch Approx. .5 inch Right Approx. .l inch Approx. .3 inch Position of Guide a Distance from Left-Hand Loading sprocket-feed paper Continuous paper feeds into the printer from the rear.
-- Figure 2-5. The metal guide is used to align the left margin. Here’s the proper sequence for loading: 1. Turn off the power and remove the rear cover. (After you’ve practiced a few times, you’ll find it easy to load paper by just opening the cover.) 2. Attach the wire paper guide to the rear of the upper case, as shown in Figure 2-6. 3. Pull the release lever towards you to put it in the “tractor” position. 4. Pull the bail lever towards you to the open position. 5.
Figure 2-6. The wire paper guide keeps continuous paper away from the cables. Figure 2-7. The tractors, which guide the paper, are underneath cover.
With the tractors in place, you’re ready to close the covers and advance the paper. Figure 2-8. 7. Bring the paper up from the back, over the wire guide, and into the back of the printer. When the holes in the paper fit snugly over the nubby teeth in both sprockets, close the tractor covers and snap the clamp levers back into their locked positions (Figure 2-8). 8. Now we’ll feed the paper around the platen automatically.
ADJUSTING THE GAP The gap is the space between the print head and the platen. Adjusting the gap is simply adjusting the printer to accommodate different thicknesses of paper. To make this adjustment, move the adjustment lever which is under the front cover, immediately in front of the release lever shown in Figure 2-9. Pulling the adjustment lever towards you will widen the’ gap; pushing it away from you will narrow the gap. Figure 2-9. The adjustment lever allows for different thicknesses of paper.
SELF-TEST The “self-test” is a trial run of your beautiful new machine. SR-lo/15 carries a built-in program that prints out sample lines of letters, numbers, and other characters - to show you that everything’s in good working order. It also serves as a display of the characters available in the SR-10/15. And finally, it’s a “warm-up” that permits you to check your installation of ribbon and paper, and the adjustment of the print head gap.
SOME TIPS FOR SMOOTHER OPERATION Here are some ideas that might save time and trouble with SR-10/15. l l l l l l When setting the left-hand margin on sprocket paper, you’ll find the bail bar is marked with pica size unit measurements, so it’s a handy reference. (There are 10 pica characters to the inch, so the markings 10, 20, 30 and so on also correspond exactly to inches, 1, 2, 3, etc.
CHAPTER 3 GETTING STARTED WITH SR-lo/l5 .., i. _. _. L -_ In this chapter you’ll learn about: l Using SR-lo/15 with commercial software l ASCII codes You have assembled and tested your printer, and seen a quick sample of SR- lo/15 ‘s capabilities in the self-test. Now it’s time to do what you bought SR-lo/15 to do: print information from your computer. . L-. LI USING COMMERCIAL SOFTWARE Many of you purchased SR- 10/l 5 to use with commercial software.
Some programs don’t ask you what kind of printer you have, but instead they ask some questions about what your printer can do. Here are the answers to the “most asked” questions. SR-lO/ 15 can do a “backspace”. SR-lo/15 can do a “hardware form feed”. With these questions answered, you are ready to start printing. Read the manual that came with your commercial software to see how to make it send information for SR-lo/15 to print. This is all you need to know to use SR-lo/15 as a regular printer.
when we press the “A” key on our keyboard we want to print the letter “A”. The computer takes care of all the rest. But there are a number of ASCII codes that don’t have keys on the keyboard. The most important of these codes are the codes that have ASCII values below 32. These codes control many of SR- 10/l 5’s functions. Even though there aren’t keys for these codes, most keyboards can send these codes.
By translating the codes from the system that we use, to the system that your commercial software uses, you should be able to use many of SR-10/15’s advanced features. It may help, however if we look at a couple of examples. n The escape code There’s one particular ASCII code that we are going to be using more than all the rest. This is ASCII 27, which is called escape. With all of SR-10/15’s advanced features, there weren’t enough single ASCII codes to go around.
CHAPTER 4 CONTROLLING SR-lo/15 WITH BASIC Throughout the rest of this book we will be teaching you how to use SR-lo/15 ‘s features using the BASIC programming language in our examples. It is easy to communicate with SR-lo/15 from BASIC and, though it has its detractors, BASIC is the nearest thing to a universal language among users of personal computers. But remember that it’s not the only way to communicate with SR-10/15, as we have already seen.
- ways, and hope that between this and your computer’s BASIC manual you will be able to stay with us. First on our list is Microsoft BASIC’s way of communicating with the printer. They just add an “L” to the beginning of the LIST and PRINT commands, making them LLIST and LPRINT. This method is used by more computers than any other and so we will use it throughout this book, after telling the rest of you how to follow along.
LLIST it (or however your first major hurdle-learning Now we are ready to jump SR- 10/l 5. But first, there to cover. L. : n Establishing communications We’ve learned something about communicating with our printer. Now we need to adapt what we know to printing in a BASIC program. Generally, computers use about the same procedure for printing in a program as they do to list a program. Let’s try what we learned. Type the following: i. L-.. L. L, ‘- NEW 10 LPRINT "TESTING" RUN L.
r‘_ ; w Control codes SR-lo/15 uses many of the non-printing ASCII codes for control codes. These codes perform a function rather than printing a character. Let’s try an easy one right now: NEW 10 LPRINT CHR$(7) RUN Where did that noise come from? That’s SR-10/15’s bell. We will learn more about it in Chapter 8. We just wanted to illustrate a code that causes SR-lo/15 to perform a function. n The escape code There’s one ASCII code that we are going to be using more than all the rest.
Some of you fast students may have noticed that CHR$(69) is the same as “E”. That’s right, the program will work just as well if line 10 is changed like this: 10 LPRINT CHR$(27) "E"; That’s just another form of the same ASCII code, and it’s all the same to SR-10/15. Here’s another shortcut for BASIC programmers: since < ESC > is used so often, assign it to a variable.
This is the command to turn on expanded print < ESC > , as we mentioned earlier, is the way we will indicate the escape code, which is ASCII code 27. A letter or number enclosed in quote marks (such as the “W” above) means that character should be sent to the printer (without the quote marks). In our example, you should send a capital W following the escape code. In BASIC, you could do this in a couple of ways: by sending the character itself (e.g.
in STAR mode. There are some cases where you would use IBM mode with your computer, if you wish. Chapters 5 through 10 discuss the control codes you send to SR-lo/15 to control printing style, horizontal and vertical formatting, graphics, and other features. You’ll find that many features have different codes for IBM mode and STAR mode. That’s it for the basics. You are ready to learn how to use the many features of SR- 10/l 5. 6.. L .
- -
CHAPTER 5 PRINTING TEXT WITH SR-lo/15 Beginning with this chapter we will be exploring all the features of SR-10/15. In this chapter we’ll cover: l Near letter quality characters l Italics l Underlining l Superscript and subscripts l Print pitch l Print emphasis All our examples will be given in Microsoft BASIC as used by the IBM Personal Computer, but remember that you don’t need to know BASIC to use SR-10/15’s features. Just use the same ASCII codes as we do in our examples.
18 'Demo near letter quality character set. 24)LPRINT CHR$(27) "B" CHR$(4) ; 'Select NLQ. 30 LPRINT "This line shows NEAR LETTER QUALITY!" 40 LPRINT CHRS(27) "B" CHR$(5) ; 'Select draft. 50 LPRINT "This line shows standard Drint." In this program, line 20 selects NLQ characters with the < ESC > “B” CHR$(4) command. Line 30 prints a sample before line40 switchs SR-lo/15 back to draft printing with an < ESC > “B” CHR$(S).
,l@ ‘Demo italic and roman. 20 LPRINT CHR$(27) “4” ; ‘Italic on. 30 LPRINT "This line is in ITALIC characters." 40 LPRINT CHR$(27) "5" ; 'Italic off. 5@ LPRINT "This line is in ROMAN (normal) characters." Here is what you should get: I. c This program is easy; line 20 turns italic on with < ESC > “4”, and line 40 turns it off with < ESC > “5”. n Underlining Not only can SR- lo/ 15 print all styles ot printing in both roman and italic, but it can underline them too.
ued.Therefore, BASIC didn’t send a carriage return and line feed at the end of those lines. We just did this to illustrate that all these control codes can be used in the middle of a line. It’s easy to underline or italicize only part of a line. n Superscripts and subscripts SR-lo/15 can print in two different heights of characters. The smaller characters are called superscripts and subscripts and are half the height of normal characters.
“S” CHR$( l), and finally off in line 90. Again, everything prints on one line because of the semicolons. CHANGING THE PRINT PITCH In “printer talk,” character width is called pitch. Normally, SR-lo/15 prints 10 characters per inch. This is called pica pitch because it’s the same spacing as a standard pica typewriter. SR- 10/l 5 can also print 12 characters per inch. This is called elite pitch because it is the same spacing as an elite typewriter. Condensed print is approximately 17 characters per inch.
30 LPRINT "This line is CONDENSED pitch." 4Q)LPRINT CHR$(27) "B" CHR$(2) ; 'Select elite pitch. 50 LPRINT "This line is ELITE pitch." 60 LPRINT CHR$(27) "p" CHR$(l) ; 'Select proportional. 70 LPRINT "This line is PROPORTIONAL spacing." 80 LPRINT CHR$(27) "p" CHR$(@) ; 'Cancel proportional. 90 LPRINT CHR$(27) "B'.' CHR$(l) ; 'Select pica pitch. 100 LPRINT "This line is PICA pitch (normal)." - When you run this program you should get this: This line is CONDENSED This line This line This pitch.
Expanded print set with CHR$(14) is automatically canceled at the end of the line. This is convenient in many applications, such as for one line titles. Note that you don’t need to put an < ESC > in front of the CHR$( 14), although < ESC > CHR$( 14) works just the same. You can also cancel one line expanded print before a carriage return with CHR$(20), as done in line 50. Sometimes you may wish to stay in expanded print for more than one line.
By combining expanded print with the four pitches, SR-lo/15 has eight different character widths available. Enter this program to see how the print pitches and expanded print can be combined: 10 'Demo pitches in combination with expanded mode. 20 LPRINT CHR$(27) "W" CHR$(l) ; 'Permanent expanded mode on. 3@ LPRINT CHR$(27) "B" CHR$(3) ; 'Select condensed pitch. 40 LPRINT "This line is EXPANDED CONDENSED pitch." 50 LPRINT CHR$(27) "B" CHR$(2) ; 'Select elite pitch. 60 LPRINT "This is EXPANDED ELITE.
MAKING SR-lo/15 PRINT DARKER SR-lo/15 has very good print density when it’s just printing regularly. But sometimes you may want something to stand out from the rest of the page. SR-lo/15 provides two ways to do this: double-strike and emphasized print. Both of these go over the characters twice, but they use slightly different methods to darken the characters. Let’s try them and see what the difference is.
Line 20 turns on double-strike with < ESC > “G” and line 30 prints a line of text. In line 40 emphasized is turned on with < ESC > “E”. Line 50 prints a line of text in double-strike and emphasized. Line 60 then turns double-strike off with < ESC > “H” so that line 70 can print in emphasized only. Finally, line 80 turns emphasized off, so that SR-lo/15 is set for normal printing. Look closely at the different lines of printing.
Table 5-8 Master Select and the 256 ASCII Codes Pitch ?ica Emphasizzd Normal 0, 2, 64 8, 10, 12, Double-strike 16, 18, 80, Double-strike kEmphasized 24, 26, 28: 66, 128, 130, 14, 72, 74, 82, 144, 146, 30, 88, 90. 192, 194 76, 78, 136, 208, 210 92, 94, 152: 138, 140, 142, 154, 156, 158: 200, 202, 204, 216, 218, 220, 206 222 Elite 1, 7, 3, 5, Elite takes 9, 11, precedence 13, 15, 65, over 67, 69, 71, Emphasized.
.-.
CHAPTER 6 LINE SPACING AND FORMS CONTROL . We have learned how to print in many different ways, but so far we haven’t looked at how to position the printing on the page. In this chapter we will learn how to: l Change the vertical spacing l Change the length of the page l Set top and bottom margins STARTING NEW LINES Up until now the only time we have thought about printing on a new line is when we didn’t want it to happen.
will add the line feed for you. When you have DIP switch 2-3 off the printer will do the same thing when it receives a carriage return as it does when it receives a line feed. If you find that your printer double spaces when it should single space, then you probably need to turn DIP switch 2-3 on. n Reverse line feeds Your SR-lo/15 printer has a unique capability: it can move the paper up or down! Its unique tractor design allows the paper to be fed in either direction without jamming.
: NEW 18 FOR I = 1 TO 25 20 IF I = 13 THEN 50 30 LPRINT CHR$(27) "A" CHR$(I); 4@ LPRINT "This line spacing is set to" I 50 NEXT 60 LPRINT "Line spacing is set to l/6 inch (normal)." 70 LPRINT CHR$(27) "2" This is what you will get: This This This This This line line line line line spacing spacing spacing spacing is is is is set s.
Line 30 changes the line spacing. The command < ESC > “A” CHR$(n) changes the line spacing to n/72 of an inch. The loop that is started in line 10 increases the value of n (the variable I in the program) each time it is executed. So the line spacing increases as the program continues. Line 20 just shortcuts the loop when I = 13, since BASIC won’t let us send CHR$( 13) without adding an unwanted CHR$( 10) to it. Finally, the < ESC > “2” in line 60 resets the line spacing to 6 lines per inch.
(STAR mode) This This This This This This This Line line spacing line spacing line spacing line spacing line spacing line spacing line spacing s.pacing is is is is is is is is set set set set set set set set to to to to to to to to l/6 19 20 21 22 23 24 25 inch Inomal). (IBM mode) This This Line line line rm.31) . spaci The program works just the same as before, but the line spacing are just half (STAR mode) or one-third (IBM mode) what they were.
Table t -2 Line spacing c lmmands 1Function 1Mode spacing to l/8 inch STAR I-IBM Control code “0” I “0” Set line spacing to 7172 inch - (not attached) < ESC > “A” CHR$h) Set line spacing to n/72 inch ..- Set to “A” definition 1STAR I IBM (not attached) “2” - ~Setlinespacington/l#inch~~ - Set line spacing to n/216 inch One-time line feed of n/144 inch STAR STAR - < ESC > “3” CHR%(n) “.
without moving the printhead back to the left margin. The following commands do just that. The < ESC > “J” CHR$(n) command causes the printer to make one line feed of n/144 inch (STAR mode), or n/216 inch (IBM mode), but does not change the setting of the line spacing. Try this program to see how it works: 10 'Demo one-time line feeds. 29)LPRINT "Line number 1.” 341 LPRINT "Line number 2." ; 441 'One time line feed. 50 LPRINT CHR$(27) "J" CHR$(l@@) 641LPRINT "Line number 3." 74)LPRINT "Line number 4.
- The < ESC > “a” CHR$(n) command advances the paper n lines (using whatever the current line spacing is) without moving the printhead. Change line 40 and 50 of your program so that they are like this. - 4p) 'Advance paper 3 lines. 50 LPRINT CHR$(27) "a" CHR$(3) ; Now when you run the program the results will look like this. The new line 50 moves the paper up 3 lines, but the printhead doesn’t move.
40 'Form feed. 50 LPRINT CHR$(12) ; Before you run the program, turn your printer off and adjust the paper so that the top of the sheet is even with the top of the ribbon guide on the print head, then turn the printer back on. If you don’t remember how to do this, review Chapter 2. When you run the program, the results will look like this: 0 ’ - 0 L - - - Line Line - - - - number number - -- 0 j -i--------O I Line number 1. 2. 0 , Line number 3. 4.
Table 63 Form feed commands CHANGING THE PAGE LENGTH You may have some computer forms that you wish to use with SR- lo/ 15 that are not 11 inches high. That’s no problem, because you can tell SR-lo/15 how high the forms are that you are using. There are two commands for doing this, shown in this table: Table 6-4 Form length commands 11 Setthepage length toninches STAR < ESC> “C"CHR$(O)CHR$@) Let’s set up a 7 inch high form length, which is typical of many computer checks.
After you have run this program, turn off the printer and adjust the top of form position. When you turn the printer back on the page length will be reset to its normal setting (usually 11 inches). TOP AND BOTTOM MARGINS Many programs that use a printer don’t keep track of where they are printing on the page. This causes a problem when you get to the bottom of a page because these programs just keep on printing, right over the perforation.
10 20 30 40 50 60 'Demo top and bottom margins LPRINT CHR$(12) ; 'Form feed. FOR I = 1 TO 150 LPRINT "This is line" I NEXT I LPRINT CHR$(12) ; 'Form feed. When you run this program it will print 150 lines right down the page and across the perforations. When it’s done line 60 sends a form feed to advance the paper to the top of the next page. Look at the lines that have printed near the perforations. Separate the sheets and see if any of the lines have been torn in half.
< ESC > “0” < ESC > “1” < ESC > “2” < ESC > “J” CHR$(n) < ESC > “j” CHR$(n) -c ESC > “a” CHR$(n) < ESC > “A” CHR$(n) < ESC > “2” < ESC > “3” CHR$(n) < ESC > “J”CHR$(n) Set line spacing to l/8 inch Set line spacing to 7/72 inch Set line spacing to l/6 inch (for STAR mode) One-time line feed of n/144 inch (for STAR mode) One-time reverse line feed of n/144 inch (for STAR mode) Advance the paper n lines Define line spacing of n/72 inch (for IBM mode) Use < ESC > “A” definition (for IBM mode) Set line spacin
/ 1 < ESC > “j”CHR$(n) CHR$( < ESC < ESC < ESC 12) > CHR$( 12) > “C” CHR$(n) > “C” CHR$(O) < ESC > “R” CHR$(n) < ESC > “r” CHR$(n) < ESC > “N” CHR$(n) < ESC > “0” One-time reverse line feed of n/216 inch (for IBM mode) Form feed Reverse form feed Set page length to n lines CHR$(n) Set page length to n inches Set top margin; start printing on line n (for STAR mode) Set top margin; start printing on line n (for IBM mode) Set bottom margin; leave n lines blank Clear top and bottom margins 60
I CHAPTER 7 FORMATTING YOUR OUTPUT *. Y. You have probably used the tab and margin features on a typewriter. They make it easier to format the text on a page. SR-lo/15 also has tabs and margins that you can set. But it goes beyond the capabilities of a typewriter because besides having tabs that go across the page, called horizontal tabs, SR-lo/15 has verticaZ tabs that go down the page.
CHR$(9) is a problem with some computers. Some BASICS convert CHR$(9) to a group of spaces that act like a sort of pseudo-tab. This is fine if the computer and the printer have the same tab settings, but it doesn’t allow us to use our own tab settings on SR-10/15. We can “outsmart” these computer by adding 128 to the ASCII value that we use. Instead of using CHR$(9), use CHR$(137) for a tab command. Even this trick won’t work for Apple II computers, for they use CHR$(9) for something else entirely.
Table 7-l Horizontal tab commands Function Mode Control code Advance to next tab position STAR IBM STAR CHR$(9) CHRU9) < ESC > “D" CHR$(nl) CHR!$(n2)...CHR$(O) .z:ESC > “D" CHR$(nZ) CHR$(n2)...CHR$(O) “b” CHR!$(n) “b” CHR$(n) L Settabsatnl, n2, etc. STAR IBM One-time tabofn spaces SETTING does not support LEFT AND SR-10/15’s typewriter-once The commands \ I t-r IBM Note: If your computer CHR$(98) for “b.
The first thing that this program does is to branch to the subroutine that starts in line 70. This subroutine prints 80 X’s in a row. The first time that the subroutine is used, all the X’s tit in one line. Then line 30 sets the left margin to 10, and line 40 sets the right margin to 70. Once again the subroutine is used, but this time the X’s won’t all fit on one line since there is now only room for 60 characters between the margins. Run the program.
Now, let’s set some vertical tabs of our own. Add. these lines to the program: 12 LPRINT CHR$(27) "P" CHR$(lfl) ; 14 LPRINT CHR$(2@) CHR$(4@) CHR$(50) CHR$(@) ; < ESC > “P” is the command to set vertical tabs for the STAR mode. Like the horizontal tab setting command, tab positions must be defined in ascending order. Our example sets vertical tabs at lines 10, 20, 40 and 50. Then the CHR$( 11) in each of the following lines advances the paper to the next vertical tab. The printout is shown below.
This doesn’t confuse SR-10/15--it advances the paper to the next tab position which happens to be the first tab position on the next page. That’s nice, isn’t it? n A one-shot vertical tab command There’s a one-time vertical tab command that works just like the one-time horizontal tab command. It is < ESC > “a” CHR$(n), and it causes the paper to advance n lines. It doesn’t change the settings of the vertical tabs.
ri CHAPTER 8 SPECIAL FEATURES OF THE SR-lo/15 In the previous chapters we have learned about several groups of control codes. In this chapter we will look at more control codes. These codes don’t fit neatly into any of the groupings that we have studied, but they add a lot of capability to SR-10/15. So here goes.
to remind an operator to change the paper or to make another adjustment to the printer. Note to Apple users: Entering a CHR$(7) will sound AppZe’s bell; the code will not be sent to SR-10/15. You can try this by typing: LPRINT CHR$(7); There are two other codes that affect the bell. One disables the bell, so that SR-lo/15 will ignore a CHR$(7), and the other turns the bell back on. All three codes that affect the bell are shown in the following table.
for the code to go on-line again. CHR$( 19) is the code to turn SR-IO/l5 off-line; CHR$( 17) returns SR-lo/15 to on-line status. n Printing to the bottom of the sheet Sometimes when you are using sprocket paper you may want to print near the bottom of the last sheet. The paper-out detector usually stops SR-lo/15 when you are about 3 inches from the bottom of the sheet. This is to notify you if you are running out of continuous paper. SR-lo/15 has the ability to print right to the bottom of the sheet.
n Backspace, delete, and cancel text Backspace (CHR$@)) “backs up” the printhead so that you can print two characters right on top of each other. Each time SR- 1O/15 receives a backspace it moves the printhead one character to the left, instead of to the right. You can strike over multiple letters by sending more than one backspace code. Delete (CHR$( 127)) also “backs up” one character, but then it “erases” the previous character (it’s erased from SR-10/15’s buffer, not from the paper).
n Unidirectional printing Unidirectional printing is a big word that means printing in one direction only. SR-lo/15 normally prints when the printhead is moving in both directions. But once in a while you may have an application where you are more concerned about how the vertical lines align than with how fast it prints. SR-lo/15 lets you make this choice. The table below shows the commands for controlling how SR-lo/15 prints.
again. Finally line 110 sends a form feed to advance the paper to the top of a new page, and then uses the master reset to restore SR-IO/l5 to the power-on condition. You can also set SR-lo/15 to print in one direction for one line only by using the command < ESC > “ < “. This command immediately moves the printhead to the left margin and then prints the remainder of the line from left to right.
n Block graphics characters and special symbols Besides the upper and lower case letters and symbols that we are by now familiar with, SR-IO/l5 has a whole different set of characters that are for special uses. These characters include block graphics characters for drawing forms and graphs, and special symbols for mathematical, engineering and professional uses. The following program will print out all of the graphics characters available in STAR mode. 10 'Demo all block graphic characters.
Figure 8-1. 2. 4 + 6 3 133 C 129 ii 131 ;is: 138 P 139 i: 141 i 148 ij 14? b 15 1 111 158 pt 159 f 161 i 168 L 16s r 171 !?’ 178 $$j .:.... 179 181 1 182 188 J 189 1Yl , 192 198 /- 2 (:l1 2(:)f3 1 211 218 r 233 C 238 < 248 o 1 J r L ?(-)3 L-A 212 j L L .- L Figure 8-2.
134 A 144 I2 154 ti 164 iT 1 7 4 .<:: 184 , 194 l- 2!34 t 214 r 224 IX --I-r L .
NEW 18 LPRINT CHR$(27) "9" 20 LPRINT CHR$(27) "6" 30 FOR J = 3 TO 6 40 LPRINT " " J CHR$(J) " "; 50 NEXT 60 LPRINT " 21 " CHR$(21) 70 LPRINT 80 FOR J = 128 TO 254 STEP 10 90 FOR I = J TO J + 9 95 IF I > 254 THEN 110 100 LPRINT I CHR$(I) " "; 110 NEXT I : LPRINT : LPRINT : NEXT J Figure 8-2. shows what this program will print. If your chart doesn’t look like this because it has regular letters and numbers instead of the special symbols, then your computer is only using seven bits.
SR-IO/15 is a multi-lingual printer for it can speak in eight languages! SR-lo/15 changes languages by changing 11 characters that are different for the different languages. These sets of characters are called international character sets. The control codes to select the international character sets are given in Table 8-5. The characters that change are shown beneath their ASCII code in Table 8-6. Table 84 Internationad character sets countly 35 64 U.S.A # @ 93 94 96 [ , \ .
- Table 8-7 Macro instruction commands Function Define macro Use macro Mode Control code STAR IBM < ESC > “ + “....codes you include...CHR$(30) “+“....codes STAR IBM < ESC > “!” “?.’ 18 LPRINT CHR$(27) "+"; ' OF MACRO 24)LPRINT CHR$(18); ' 30 LPRINT CHR$(27) "Wfl"; ' 40 LPRINT CHR$(27) "F"; ' 50 LPRINT CHR$(27) "H"; ' 60 LPRINT CHR$(27) "-0"; ' 70 LPRINT CHR$(27) "T"; ' OFF 80 LPRINT CHR$(3Q)); ' you include...
In this chapter we have learned many different commands that have many different uses. In the next chapter we will make up for this diversity-the whole chapter only covers three commands! But they are some of the most powerful that SR- lo/l5 offers. They give you the ability to create your own characters.
CHAPTER 9 CREATING YOUR OWN CHARACTERS In this chapter we’ll cover: l Designing and printing your own characters l Designing proportional characters In the previous four chapters of this manual you’ve learned how to control the SR- lO/ 15 printer to give you dozens of different typefaces. By using various combinations of pitches, character weights, and font selections, you can create nearly any effect you want to in text.
0.0. 0 0 0 0 0 0.0. . -- 0 - Figure 9-l. The letter “C” is created by printing 15 dots. - _ descenders (such as the lower case “p” shown) use the bottom seven pins. As the printhead moves across the page (in either direction-that’s what is meant by bi-directional printing) it prints one column of dots at a time. Each time a dot is supposed to print an electromagnet inside the printhead causes the appropriate wire to strike the ribbon (making the SR- 1O/l 5 an impact printer). I - 0.0. : 0 .
But there is another area of memory in the SR-lo/15 reserved for user-defined characters. These are characters that you design and download into SR-10/15. When download characters are defined they are stored in RAM (random access memory), which allows you to define or modify them at any time. Each of these characters, whether it is from the standard character ROM or in download RAM, is constructed on a grid which is six “boxes” wide by nine “boxes” high.
Figure 9-5. Later in this chapter we’ll use this character to create a small graph.) You’ll notice that Figure 9-4 includes a lot of information around the grid. Don’t be intimidated; we’ll explain each item as we come to it in our discussion of defining and actually printing download characters. You may have noticed another difference between this grid and the one shown in Figure 9-3: it’s only eight boxes high. Which leads us to...
character uses the top eight dots, write in a one next to the word “Descender” on the layout grid; if it uses the bottom eight dots, write in a zero. In our example, we’ll want the bottom of the flask to line up with the baseline of the other characters, so it will not be a descender. As shown in Figure 9-5, we’ve written in a “1” on our grid. 12* I 64I I 32I I I! ASCII Code Descender 7 1 :t Start column End column M, = Descender * 128 + (Start l 16) + End Total Figure 9-5.
128 ASCII Code 64 Descender 32 Start column End column WRONG! 16 8 M, = Descender * 128 + (Start l 16) + End btal Figure 9-6. Dots cannot overlap; those in immediately adjacent “half columns” will be ignored when the character is printed. n Add up each column of dots Now it’s time to give our creative side a break and get down to some basic arithmetic. That’s where the numbers down the left side of the grid come in.
._ . value. Some examples will make this clearer. As shown in Figure 9-7, if we add the numbers for the dots that print in a column, the sum will be a number in the range of 0 to 255. Each number from O-255 represents a unique combination of dots. So add up the values of the dots in each column using this system. In Figure 9-8 we’ve shown our grid with the sums of the columns filled in across the bottom (see if these agree with your answers!).
can define any positions except the defined control code positions. This means that once a character is defined and assigned a value (and the download character set is selected), you can use that character on the printer the same way you would any standard character. You can send the character with the same ASCII value (for instance, if you had assigned your character a code of 66, it would print each time you sent a character “B” to the printer).
Our chart would hardly be complete with just a picture of a chemist’s flask, so in Figure 9-9 we’ve made completed grids for some other symbols: an automobile and a gun (quite a strange mix of characters!). The information on the grids is now complete (except for proportional width data-a more advanced topic we’ll take up shortly). n Download character definition command You’ve read through a long explanation of download characters and we haven’t even told you the command syntax yet! Now the wait is over.
We’ll be discussing proportional character widths in detail later in this chapter; for now, we’ll leave it at 11. The descender data was discussed earlier: to use the top eight pins, this bit should be 1; to use the bottom eight pins this bit should be 0. Figure 9-10 shows the bits of the attribute byte as we’ll use them for our flask character. By now you’ve probably seen an easier way to determine the value of the attribute byte.
10 LPRINT CHR$(27) "*" CHR$(l) CHR$(160) CHRS(162); 20 FOR N = 160 TO 162 30 FOR M = 0 TO 11 40 READ MM 50 LPRINT CHR$(MM); 60 NEXT M 70 NEXT N 80 LPRINT 90 DATA 139,2,5,8,241,0,0,241,8,5,2,0 100 DATA 139,124,0,66,4,64,36,16,2,16,12,0 110 DATA 139,46,16,2,60,0,48,0,48,0,48,0 When you run this program, it looks like nothing happens. That’s OK. We’ll see why in just a moment. Save this program. We’ll need it again shortly.
Voila! It should have printed out the three characters we defined. Your printout should look like this: (If it doesn’t, check the last program we ran for errors, then rerun it.) Let’s find out if there are any other characters in the download RAM.
. . L . . . 140 LPRINT ESC$ "$1"; 150 LPRINT wAutos" TB$; 164)FOR I=.4 TO 9.3 STEP .4 : LPRINT CHR$(161); : NEXT 170 LPRINT 180 LPRINT "Chemicals" TB$; 190 FOR I=.4 TO 8.7 STEP .4 : LPRINT CHR$(160); : NEXT 200 LPRINT 210 LPRINT "Guns" TB$; 220 FOR I=.4 TO 1.4 STEP .
ERASING DOWNLOAD CHARACTER DEFINITIONS After you have defined a set of characters (a whole new alphabet, perhaps) you may want to go back to using mostly standard characters with a few new user-defined characters mixed in. Rather than turning SR-lo/15 off (which erases all of the current settings, including download characters), you can send a command which will restore the default characters.
Figure 9-12. These download characters are defined as proportional characters. attribute byte, m0. As you know, the first bit of mO is used to specify whether the character is a descender or not. The next three bits are used to specify the starting print column (acceptable values are 0 to 7). The last four bits specify the ending print column (acceptable values are 4 to 11).
10 FOR N=l TO 4 20 READ Nl 30 LPRINT CHR$(27) "*" CHR$(l) CHR$(Nl) CHR$(Nl); 40 FOR M=@ TO 11 50 READ MM 60 LPRINT CHR$(MM); 70 NEXT M 80 NEXT N Mississippi" 90 LPRINT " 100 LPRINT 110 LPRINT "Standard characters without proportional spacing" 1241LPRINT 139)LPRINT Mississippi" 140 LPRINT CHR$(27) "$1" " 150 LPRINT CHRS(27) "$q" 160 LPRINT "Download characters without proportional spacing" 178 LPRINT 180 LPRINT CHR$(27) "$1" 190 LPRINT CHR$(27) "~1" " Mississippi" 200 LPRINT CHR$(27) "~0" CHR$(27) "$0" 210 L
One thing to remember about defining proportional characters: a character cannot be wider than the specified width. That seems obvious enough! For example, if you specify a width of 6 for a character (starting in column 1 and ending in column 6), the seventh through eleventh columns of dots (if you specified any) will not print.
In the program that follows, we’ve used this technique to create some large numbers. Each digit is actually made up of four characters-two horizontally by two vertically. This means, of course, that you must define and print four characters for each finished digit. We assigned the upper left quadrant of each digit to ASCII codes from 160 to 169, the upper right quadrant to codes 170 to 179, and so on. Figure 9-14 shows how one digit is defined, and Figure 9-l 5 shows the final output of our program.
130 140 150 160 170 180 READ MS PRINT i/l,CHR$(MS); NEXT S NEXT I ' ASCII = 160 'START OF DOWNLOAD CHARACTERS 190 FOR NUM = 0 TO 9 'NUMERALS 0 TO 9 200 NUMERAL.TOP$(NUM) = CHR$(ASCII + 0) + CHR$(ASCII + 1) 214)NUMERAL.BOT$(NUM) = CHR$(ASCII + 2) + CHR$(ASCII + 3) 2241ASCII = ASCII + 4 230 NEXT NUM 240 BLANKS = CHR$(200) 250 PRINT i/l,DOWN.CHAR.PROP$; LINE.7$ 260 FOR NUM = 8 TO 9 270 PRINT f/l,NUMERAL. TOP$(NUM);BLANK$; 280 NEXT NUM 290 PRINT #l, CHR$(l@> 300 FOR NUM = 0 TO 9 310 PRINT f/l,NUMERAL.
500 DATA 11, 0, 0, 0, 0, 0, 0, 32, 64, 32, 64, 32 510 DATA 11, 68, 42, 68.
s j :’ 810 DATA 11, 192, 0, 192, 0, 194, 32, 222, 32, 94, 32, 30 820 DATA 11, 12, 0, 28, 0, 142, 0, 198, 0, 198, 0, 198 830 DATA 11, 0, 206, 0, 156, 0, 248, 0, 240, 0, 224, 0 840 'SPACE 850 DATA 11, 8, 0, 8, 0, 0, 8, 8, 8, 8, 8, 8 SUMMARY Function Control code < ESC> “*” 1 nl n2 mO ml ...mZl Defines download character into RAM (for STAR mode) < ESC > “8~” CHR$(O) nl n2 mO ml . ..
. --- -
CHAPTER 10 PRINTING WITH DOT GRAPHICS Subjects covered in this chapter include: l SR-10/15’s bit image graphics capabilities l Printing a pre-defined shape l Plotting a calculated shape l High resolution graphics In Chapter 9 you were introduced to a form of computer graphics; you were able to actually define characters dot by dot. In this chapter you’ll learn to use the same principles to make SR- lo/ 15 print whole pages of dot graphics! We’ll show you how to use dot graphics to create “super download.
(if you’re not sure which type of interface your computer has, check the appendix for your computer). So when do you use graphics and when do you use download characters? Practically anything you can do with graphics you can do with download characters, and vice versa. A clever programmer could actually plot a mathematical curve using download characters or use strings of graphics data as user-defined characters.
it’s possible to have a graphics image as wide as 480 dots on SR-10 or 816 dots on SR- 15. So to figure out how many columns of graphics data to expect, SR-lo/15 multiplies n2 by 256 and adds the value of nl. If you divide the number of columns by 256, then n2 is the quotient and nl is the remainder (why not let your computer figure it out for you: if the number of columns is assigned to variable X, then nl =X MOD 256 and n2 = INT(X/256)). Table 10-l might make things even easier.
0 0 0 128 8 0 8 4 :1 $ 0 64 32 16 2 (nitused) Starting withthemostsignificant bitatthetop,eachpm oftheprint headisassigned a value whichisa poweroftwo.Notethat for7-bit computers, thetoppincannotbe used. Figure 10-l. A short program graphics command. ..-.--------_--- should demonstrate how to implement the The program below gave us this printout: - ----““..-__, -- __._- 10 ‘Demo dot graphics. PI = 3.
Ij n Combining text and graphics It’s also possible to mix text and graphics in one line. This can be useful for labeling charts or graphs, or even inserting fancy graphics in text. Try adding these lines to our program: 45 PRINT #l,"WOW!" ; 85 PRINT #l,"This is great!" ; Now if you run the program looks like this: you should get a printout that But there is one thing to be careful of: all graphics data must print on the same line.
32, etc.) down the left side of each row. Then after you’ve filled in the “dots” that you want to print, it’s time to get out the old calculator again! Just as you did with download characters, add up the values of each column of dots; this makes up one byte. In the program below, we’ve taken the logo graphics information and put it into BASIC DATA statements. The program itself is short and simple. The loop starting at line 100 reads the data statements into a string array variable called LOGO$.
60 GRAPHICS = CHR$(27)+CHR$(75) 70 DIM LOG0$(4) 80 WIDTH "LPT1:",255 90 ' READ DATA 100 FOR ROW = 1 TO 4 110 FOR COLUMN = 1 TO 100 120 READ P 130 LOGO$(ROW) = LOGO$(ROW) + CHR$(P) 140 NEXT COLUMN 150 NEXT ROW 160 ' PRINT LOGO 170 LPRINT LINE.8$; 180 FOR ROW = 1 TO 4 190 LPRINT GRAPHIC$;CHR$(l00);CHR$(0); 200 LPRINT LOGO$(ROW) 210 NEXT ROW 220 LPRINT LINE.
500 DATA 252,255,255,255,127,63,31,7,7,31 510 DATA 254,252,248,224,128,0,0,3,7,7 520 DATA 7,3,0,0,0,0,0,0,0,0 530 DATA 0,31,31,3,129,128,192,192,192,192 540 DATA 192,224,224,224,224,240,255,255,255,255 550 DATA 255,127,0,0,0,0,0,0,0,0 560 570 580 590 'ROW4 DATA 0,248,248,240,224,224,112,112,56,56 DATA 56,56,56,120,120,240,240,224,224,192 DATA 128,0,0,0,0,0,192,224,240,240 600 610 620 630 640 650 DATA DATA DATA DATA DATA DATA .
I/ and SR-lo/15 plotting the output, you can come up with some terrific business graphs, charts, and mathematical function plots. The best way to do this is to set up an array in memory. This is your “graph paper.” The first thing to do is to determine how big you want your output to be; this will determine the size of your array. (If you have grandiose plans to fill an entire page with plotter output, you better have lots of memory in your computer.
I : ._,,’.. . ,_ .- 270 ' 280 'Subroutine to draw a line from Xl,Yl to X2,Y2. 290 ' 300 XL = x2 - xl : YL = Y2 - Yl 310 NX = ABS(XL*LXFAC) : NY = ABS(YL*LYFAC) 320 IF NX < NY THEN NX = NY 330 NS% = INT(NX+l) 340 DX = XL/NS% : DY = YL/NS% 350 FOR 1% = 1 TO NS% 360 Xl = Xl + DX : Yl = Yl + DY 370 GOSUB 400 380 NEXT 1% 390 RETURN 400 ’ 410 'Subroutine to plot a point at Xl,Yl.
you need to change are the values in line 40. The array MASK% contains the values of the dots. (In order to make this program run on the most computers, we’re using only six pins for graphics. With many computers, you can use all eight available pins.) In lines 90 and 100 we’ve defined some other variables you’ll be interested in: LX, LXFAC, LY, and LYFAC are used as scaling factors.
at a time. The variable A$ is used to build a string of all the columns of BIT% in a given row. As you can see, by taking the program in small pieces and analyzing it, graphics programming does not have to be difficult. If you want to try some other plots, try these (replace lines after 600 with the lines below). The printouts from each program are shown below the listing. - 600 ’ 610 620 630 640 650 660 670 680 690 700 710 720 730 - 'Subroutine to plot a star.
HIGH RESOLUTION GRAPHICS Up until now all of the dot graphics printing we have done has been with SR-10/15’s normal density mode. This can give you some pretty sharp images at great speed. Sometimes though, you may want to create an image with even higher resolution. SR- lo/l5 has seven graphics modes you can use; they’re summarized in Table 10-2. The command syntax for all of the commands is the samejust as you have learned it for the < ESC > “K” (normal density) command.
Table 10-2 Dot graphics commands - - or < ESC > “*” CHR$(3) nl - Note: If your computer does not support lowercase characters, use CHR$(103), CHR$(121), and CHR$(122) for “g”, “y”, and “z”, respectively.
‘. Double Double density density/double Quadruple ‘x-- graphics density speed graphics .. ‘. ---.
So if quadruple density looks so great, why not use it all the time? Let’s try an experiment on your printer which will show just how the different density modes work. Using the “logo” program in this chapter, change line 60 to try each of the different modes. Just change the “CHR$(75)” to “g” + CHR$(l), “g” + CHR$(2), “g” + CHR$(3), “g” + CHR$(4), “g” + CHR$(S), “g” + CHR$(6) in turn for the STAR mode. (For the IBM mode, use “*” instead of “g”.
Star’s engineers have given programmers a unique shortcut for program development though-double density double speed graphics. Although this mode requires just as much memory and computing time as double density, it prints at the same speed as normal density graphics. Amazing, you say? Well, it is-until you know the secret. Every other column of dots is ignored, so the output is actually the same as normal density graphics.
< ESC > ‘2” nl n2 ml m2... Print quadruple density graphics (for IBM mode) < ESC > “g” n0 nl n2 ml m2... Master graphics selection (for STAR mode) < ESC > 3” n0 nl n2 ml m2...