User’s Manual for MX-70 Printer by David A. Lien C O M P U S O F T ® PUBLISHING A Division of CompuSoft, Inc. P.O. Box 19669 l San Diego, California 92119 U.S.A.
This Book was prepared especially for Epson America, Inc. by CompuSoft ® Publishing. All rights, domestic and international are reserved by CompuSoft ®, Inc. Requests for permission to reproduce or distribute this User’s Manual should be addressed to: COPYRIGHT DEPT CompuSoft®, Inc. P.O. Box 19669 San Diego, CA 92119 Copyright © 1981 by CompuSoft® Publishing, A Division of CompuSoft®, Inc. San Diego, CA 92119 All rights reserved.
FCC Compliance Statement This equipment generates and uses radio frequency energy. If not installed and used properly, that is, in strict accordance with the manufacturer’s instructions, it may cause interference to radio and television reception.
Trademark Acknowledgements TRS-80 is a Trade Mark of Radio Shack. Centronics is a Trade Mark of Centronics, Inc. Apple is a Trade Mark of Apple Computers, Inc. Microsoft is a Trade Mark of Microsoft, Inc.
A Personal Note From the Author Congratulations on your decision to buy an Epson MX-70 printer! In my opinion, it’s the best dollar value in a low cost printer on the market today. Like its big brothers the MX-80 and MX-100, its mechanical features are unsurpassed for the cost. Its electronics features are ideal for the user looking for top value in a printer for general utility use, and high resolution graphics.
vi
MX-70 Table of Contents FCC Compliance Notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trademark Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Personal Note from the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 1: The Starting Line . . . . .
USER’S SERVICE MANUAL WARNING High voltage exists inside this unit and the case should be opened only by a qualified person! viii
USER’S SERVICE MANUAL WARNING High voltage exists inside this unit and the case should be opened only by a qualified person! viii
Introduction “But do I REALLY have to take a course on ‘How to operate a printer’ to use this one?” No - not if you only want to use it for mundane printing. It prints “mundanes” very nicely. If you want to use the exotic features it offers, approach your new printer in the same way as your first computer - with a healthy curiosity and an open mind. They probably far exceed what you expected from a printer inexpensive enough to call your own.
X
The Starting Line Chapter 1 The Starting Line This important chapter shows how to unpack, set up, and test your new printer. Read it before you get into trouble. The time spent will be your best investment since buying the printer itself. Counting the Parts Open the box and carefully and remove the contents. We should find: 1. This User’s Manual (obviously . . . ) 2. The Epson MX-70 printer 3. A long box containing the ribbon cartridge 4.
Chapter 1 With the printer facing you, as shown in Figure 1-2, grasp the lid on its left top side and pull straight up. Very easy. To replace the lid, just reverse the procedure. Figure 1-2 Locate the 2 shipping screws, shown in Figure l-3. These screws are used to protect the MX-70 from damage during shipping. Shipping Screws Turn the printer over and lay it on a soft surface.
The Starting Line Installing the Ribbon Position the printer with the Epson label (front) facing you. Locate the paper bail (the moveable metal bar with numbers l-80 on it - see Figure l-3) and push it toward the back of the printer, against the metal platen. Remove the ribbon cartridge from its box and turn the plastic knob counterclockwise so the ribbon is tight. (Figure l-4A) Figure 1-4A Hold the cartridge by its vertical fin (sounds like a shark).
Chapter 1 Ribbon Incorrect Incorrect Correct Figure 1-4C Wind the ribbon tight again with the little plastic knob, and it’s all set to go. You may notice a sticker with the words EXCHANGE TIMES pasted on the ribbon cartridge. This is a remnant of an early plan to refill the cartridges when the ribbon wears out. That idea was abandoned, at least for the time being. Matching the Printer to the Computer At this point, a decision should be made.
The Starting Line Opening the Case To locate the wiring terminals, we have to open the case. The lid should still be off. Remove the roller knob by pulling straight out, with firm but steady pressure (Figure l-5). Figure 1-5 Turn the printer upside down on a soft surface. With a Phillips-head screwdriver, completely loosen (but don’t remove) all 4 corner screws as shown in Figure l-6. Place tape over the 4 holes so the screws won’t fall out when we tip the printer right-side up again.
Chapter 1 Figure 1-7 Take a minute to gawk at all the stuff in the box. Wow! As Custer said, “Look at all those . . . ” well, anyway. Wonder how they sell it as cheap a they do? (Hope it prints as good as it looks.) The Epson Connection Figure l-7 shows the location of the moveable wire. It is between the 2 “pull top” terminals, and is labeled “auto. ” To release the wire from one terminal for transfer to the other, pull up gently on its colored top.
The Starting Line When in Doubt, Bluff If you have an Apple, move (if necessary) the short white wire located between them to the red terminal (as in red apple). If you have any other computer, hook it (for now) to the white terminal. If we guessed wrong, nothing will be harmed. We’ll just have to reopen the case and move it to the opposite one. The results will be known early in the next chapter. A plastic plate is taped to the access hatch on the inside back of the lid.
Chapter 1 To install the rack, simply spring the wires a bit so they pop into the holes in the printer frame, as shown in Figure l-8. Figure l-8 Feeding the Paper The MX-70 accepts pin-feed paper between 4” and 10” wide. Both the left and right hand tractors are adjustable to match the spacing between the drive holes. (We never get too far from the land, do we?) Position the box or stack of paper behind and below the printer.
The Starting Line Pull the paper bail forward. Open both tractor covers and center the paper guide roller between them (Figure l-10). Tractor Position Lock Lever Paper Holding Cover Paper guide roller Tractor Position Lock Levers Paper Holding Covers Figure 1-10 Feed the incoming paper above the plastic tube but below the wire frame, into the slot and right on around to the tractors. Move the tractors as necessary to match the hold spacing in the paper.
Chapter 1 Adjusting for Paper Thickness The MX-70 can print on all types of pre-printed multiple copy forms and carbons, as well as ordinary printer paper. The 7 position thickness control lever (Figures l-10 and l-11) moves the print head closer to or farther from the paper, changing the print quality somewhat. For ordinary, single-thickness paper, start out with the control lever at about the middle position. For multiple copy forms, pull it towards the front of the printer.
The Starting Line Where is all the motor noise? How about some big levers, lights, and alarms? Looks like dynamite in a small silent package! The POWER light should be lit. Press the FEED button several times and watch it advance the paper. This doesn’t look at all complicated. The Final Checkout The final part of this checkout takes about 3½ minutes. It’s important that we do it; plus it shows us what print characters are available. Load the printer with plenty of paper. Turn the printer OFF.
Send it a Message Chapter 2 Send it a Message The MX-70 printer is smart. It knows how to follow instructons. Any Code Devised by Man Can be Broken by Man Many instructions are sent to the printer. Every letter, number, and other character travels from the computer through the printer cable in the form of a code made up of numbers. We know it as the ASCII code (American Standard Code for Information Interchange), pronounced ASK-key. Let’s take a quick glance at Appendix A to refresh our memory.
Chapter 2 graphic and other features they will have to resort to POKEing codes or some other devious means, and are referred to their own computer’s reference manual. The Philosophy This is a book about a printer, but since a printer without a computer is worthless, we must also talk about computers. It is still a book about how to use a printer. We have chosen to write this manual around the Apple II-t computer, using Applesoft BASIC.
Send it a Message may be connected to Port #l) to the code stream sent to the video screen. PR#0 “unhooks” Port #I from the video signal chain by sending ALL printing only to the screen. Most other BASICS use a special word such as LPRINT to send codes directly (and exclusively) to the printer. A separate PRINT statement must be used to send codes exclusively to the video screen.
Chapter 2 There are many parallel interface cards made by other manufacturers. Be sure the card you purchase is designed to work with the MX-70. Testing the Hookup The time has come to see if all this hardware works. Whatever your computer is, now’s the time to be sure it’s hooked up to the printer. We will soon find out if we hooked the “auto” wire to the correct terminal, mentioned in the last chapter. Turn on the MX-70 first, then the computer.
Send it a Message 10 PRINTTAB (14) ; “GREETINGS FROM THE GRAPHIC” 20 PRINTTAB (22); CHR$ (14); “MX-70’ 30 PRINTTAB (22) CHR$ (27) “K” CHR$ (60) CHR$ (0); 40 FOR I=1 TO 25 STEP .4 50 PRINT CHR$ (2^INT(3.4*(SIN(I)+l))); 60 NEXT I : PRINT 70 PRINTTAB (20) CHR$ (98) CHR$ (121) CHR$ (14)’ EPSON’ Time Out For Emergency Training CAUTION: If you make a typing error that causes the program to crash, or look weird, be sure to turn the printer OFF then on again before running the corrected program.
Chapter 2 There is a lot happening, so we’d better disect the program (like a frog) to learn all about it. Type (TRS-80 etc. use LLIST) LIST to LIST the program on paper. Push the FEED button to roll the printout past the lid. Tear it off and keep it handy so we can study the program as we go along. SAVE the program on tape (or disk) to avoid having to type it in later. Line by Line We’re going to type the last program back in, a line at a time, analyzing it as we go.
Send it a Message Not all codes actually print on either the screen or the printer. Most special or “control” codes don’t really PRINT anything, even though we must precede them with a PRINT to “push them down the line” to the printer. For example, type the following at the command level: PRINT CHR$(14); "DOUBLE WIDE" and see the words appear in double width (not double spaced). D O U B L E W I D E Figure 2-4 LIST the program to paper again.
Chapter 2 We send the special code CHR$ (27), which means “,” down the line immediately preceding a control code that needs that . These special “code pairs” are logically called “Escape codes.” We can either build them into a BASIC program or send them from the command level, as we did earlier with the simple stand-alone control codes. We will learn to use each “Escape code” as it is needed. Our First Escape Code “K” stands for KICK it into the GRAPHICS MODE.
Send it a Message Line 50 actually sends the messages down the line to the printer. The expression inside the CHR$ function looks complicated, but that’s just to keep your atention. Observe its form, but ignore its contents. We’ll have to study the whole manual to find out how to generate such a pretty line of graphics. Add line 50: 50 PRINT CHR$ (2^INT (3.4*SIN(I)+l))); and RUN. Isn’t that slick? It gets even better when we understand how to design our own. The Finale Only 1 more easy line.
Chapter 2 Special ‘Escape’ Codes CHR$ (27) - The BASIC ASCII combination for “Escape.” (Special code used with letter codes) “K” - The letter “K.” (Kicks ON graphics mode when preceded by Escape.
More Print Control Commands Chapter 3 More Print Control Commands That last chapter was a heavy one, but it gave us a good overview of many MX-70 features. In this chapter we’ll explore a few of them in more detail. As before, CHR$ is the magic wand. Continue to refer to Appendix B as needed to help maintain perspective on what we’re doing and where we’re going. Double the Pleasure There is an easy way to print 2 sizes of characters on the same line.
Chapter 3 Don’t forget, double WIDTH mode is automatically turned off at the end of each line, unless that line ends with a semicolon (;). If we want to print a very long line consisting entirely of double-width characters, the program lines holding the parts of that message must each have a trailing semicolon. Double-width is quite unique but loses its visual impact if used all the time.
More Print Control Commands It may take a little practice to get the paper positioning perfect. We need to be able to do it right, especially for matching lines and boxes on pre-printed forms such as invoices, bills of sale, purchase orders and the like. Some users find it easier to position the paper in the ball park, then finish positioning by reference to the match mark on the pin feed holder, one of the tractor pins, something else that moves with the paper, or some point over which the paper travels.
Chapter 3 The Form Feed - in Basic Software Let’s modify our program to print only 10 lines, then have it automatically roll the paper up to the next TOE CHR$ (12) means “Feed Form to TOF.” Make the program read: 9 PR #1 (Apple) 20 FOR N = 1 TO 1 0 30 PRINT N 40 NEXT N 45 PRINT CHR$(12) (TRS use 12+128=140) 49 P R # 0 (Apple) and RUN. CURSES! (the villain said). We overshot the top of the next form by one lousy line.
More Print Control Commands Let’s all read the following “Philosophy” carefully. It is absolutely vital that we understand the concept of the “endless loop” to use any printer for serious business type applications. A Little Homespun Philosophy Having discovered the problem, and it is a very real and vital one, let’s analyze the needs of the average user of the Form Feed (FF) command. Typically, he is a businessman sending out a long string of bills.
Chapter 3 Now we are all on the same channel, and the printer hasn’t forgotten where the Top Of Form belongs. When the floor is strewn with paper and the point has been made, you may hit CTRL-C, (or BREAK) and let a silent smile creep across your ugly puss. Success is sweet, eh Crock! (CRUNCH!) Onward Suppose we’re not using full 66 line forms. When’s the last time you got a statement on a sheet of paper that big? Oh really? And it started out “Greetings from the President . . ."? Well, anyway.
More Print Control Commands 30 NEXT N 39 PR #0 (Apple) and RUN. OK gang. It’s different strokes for different folks. Users who can see their printer merrily printing numbers out to column 75 can give their computer a little pat on the - ah, keyboard. Some TRS-80 users may see the printer tab over to 60, then the carriage returns to print position 0 and continues printing numbers. This is a computer software deficiency - it’s not sending the right messages to the printer. Very common.
An Introduction to Dot Matrix Printing Chapter 4 An Introduction to Dot Matrix Printing (Subtitled, “Does a Dull Title Make a Topic Dull?“) My Computer Can’t Do High Resolution Graphics! Correction, your computer can do high resolution graphics - on the MX-70 printer. Any computer that has the BASIC CHR$ function and the correct computer/printer interface can punch out super graphics on the MX-70. It’s as easy as sending CHR$ (0), . . . through CHR$ (255).
Chapter 4 Each pin is driven by a “gun,” or electromagnet, which “fires” when told to do so by the electronics inside the printer. The printer electronics responds to those ASCII code instructions we send from the computer in the form of “ASCII numbers.” For example, to print the letter “I.” wires 1 and 7 are fired first. They hit the ribbon, which makes marks on the paper where the left top and bottom of the letter “I” should be.
An Introduction to Dot Matrix Printing Figure 4-3 For a complete listing of all the standard MX-70 characters, look at the self-test printout from Chapter 1. It’s right there, hanging on your wall, isn’t it? How it all Lays out on Paper We have seen that all the characters are a uniform 7 dots high. What Appendix C doesn’t show is that the spacing between the lines is a fixed 5 dots. This makes each text line a total of 12 dots high.
Chapter 4 So what does all this higher mathematics have to do with graphics? Just this. If we are to create high-resolution graphics on the MX-70, we have to eliminate the “dead space” between letters by changing the automatic line spacing to some value less than l/6 inch.
An Introduction to Dot Matrix Printing Line 10 contains the following 2 distinct commands: 1. An “A.” It opens Pandora’s box to let us set the vertical line spacing accurate to a single DOT - 1/72nd of an inch. Mercy! 2. A CHR$ (##). We can specify how many dots we wish to roll down between the top of one line’s printing and the top of the next. The number can range from 0 to 85. We picked 12, since that is the default mode.
Chapter 4 Check the printout and find where spacing is 12. Doesn’t that look more like what we’re used to? Now look at 24 dot spacing. Aha! It’s double spacing. By sending the highpowered command in line 10, we can plug in our own value of S and make the printer give us just about any spacing we want between lines (up to 85). And, we can do it either inside a program or at the command level. That ought to kick the old mind into overdrive! Let’s LIST the program on paper to take a closer squint at it.
An Introduction to Dot Matrix Printing There are several code numbers already reserved for special things. If we look closely at the printouts from this chapter, we can see that the spacing when the following numbers are used may not be what we have anticipated: 8 - reserved for (DELETE PREVIOUS CHARACTER) 9 - reserved for (TAB) 10 - reserved for Line Feed 12 - reserved for Form Feed 13 - reserved for Carriage Return There are no nice clean ways around this problem -just very messy ones.
Chapter 4 Type in this NEW program: 9 PR #1 10 PRINT CHR$ (27) "A" CHR$ (0) (Apple) (or 0+ 128) 20 PRINT "UNDERLINE" 30 FOR U=l TO 9 : PRINT CHR$ (95); : NEXT U 40 PRINT CHR$ (27) "2" 50 PRINT "WORKS" 59 PR #0 (Apple) and RUN. Oops, too close for comfort. We forgot that the MX-70 doesn’t have lower case descenders, and the underline character is in that category. We’d better drop the underline down one dot. UNDERLINE WORKS Figure 4-6 Change line 10 to: 10 PRINT CHR$ (27) "A" CHR$ (l) and RUN.
An Introduction to Dot Matrix Printing Line 40 returns line spacing to the normal 12 DOTS Line 50 PRINTS more text to show that all is normal and that’s plenty to think about in this chapter.
Graphtrax II Chapter 5 Graphtrax II Caution - Entering High Resolution Space To create graphics on the MX-70, we must enter a completely new mode: the GRAPHICS MODE. In this mode, pre-defined characters do not exist - only dots. We create our own characters or images by arranging the dots however we wish. In the GRAPHICS mode we have complete control over which pins fire, and when. It sounds like a lot of fun, and is, but there are an awful lot of dots in just one line, let alone an entire page.
Chapter 5 The Saki flowed like melting snow from Mt. Fuji when they contrived that wild scheme. Let’s see if we can wring it out. Suppose we want to shoot 100 columns of graphics to the printer, on one row. What numbers would we use for N1 and N2? CHR$ (l00) CHR$ (0) for 100 columns Ok, so we got lucky. How about 300 columns? Well, 300-256=44. Let’s try: CHR$ (44) CHR$ (1) Since N2 = CHR$ (1), 256 is added to N1. 44 + 256 = 300. Not really so bad.
Graphtrax II We’ll label these top 8 pins as follows: 128 - 0 TOP 64 - o 32 - o 16 - o 8 - O 4 - o 2 - o l - o o BOTTOM (Ninth pin not used) From now on we will refer to the second pin (pin 1 above) as the “bottom” pin when using graphics. Why not label them 1, 2, 3, . . . 8 etc? Well, the numbers shown are the actual ASCII numbers that fire the respective pins. CHR$ (128) fires the top pin, while CHR$ (1) k-es the bottom one. CHR$ (7) fires the bottom three (4+2+1).
Chapter 5 Wow! A jackpot. Using the bottom of an old Coke bottle as a magnifier, we see that each column is 7 dots high. 50 columns of 7 rows of dots. The sum of the bottom 7 pin numbers is 1 + 2 + 4 + 8 + 16 + 32 + 64 = 127 So that’s how they do it! Quiz Time Question: What single number will allow us to fire only the pins labeled 1, 4, and 16? Think it through now. How about . . . 1+4+16=21 ? Let’s try 30 PRINT CHR$ (21); and RUN.
Graphtrax II Now for the Bad News Before racing off to create a HI-RES forgery of the Mona Lisa, be aware that the above is how is it SUPPOSED to work. Reality is brutal - there are some exceptions to almost every rule. Code numbers 9 and 13 for the Apple, and 0, 10, 11, and 12 for the TRS-80 create havoc when used as N1 or N2. (It’s deja vu from the last chapter). Other computers may have trouble with different codes.
Chapter 5 TRS-80 Model I: 10 LPRINT CHR$ (27) "K" CHR$ (50) CHR$ (2); and RUN. Figure 5-2 Press CTRL-C or BREAK to stop. Very impressive. Note that we are not printing the slash character (ASCII number 47); but are positioning the dots one at a time. Line 50 of the “welcome program” should now make sense. We see that to fire a single pin, we must send a power of 2 down the line to the printer. Line 50 of the “welcome program” does just that. 50 PRINT CHR$ (2^INT(3.
Graphtrax II 100 DATA 4 , 4 , 4 , 4 , 4 , 6 1 , 7 1 , 7 0 , 6 0 , 4 , 4 , 4 , 4 , 4 110 DATA 7 2 , 7 9 , 8 9 , 1 0 7 , 7 7 , 7 3 , 1 2 7 , 8 9 , 7 3 , 7 9 , 7 3 , 7 3 , 7 3 , 7 3 120 DATA 1 6 , 1 1 2 , 5 4 , 1 7 , 8 1 , 1 7 , 1 2 6 , 1 6 , 4 8 , 8 0 , 1 6 , 1 6 , 1 6 , 1 6 TRS-80 Model I: 40 LPRINT CHR$ (27) “K”CHR$ (14) CHR$ (2) ; and RUN. Figure 5-3 How about that one, culture hounds? Here’s how it works: Line 10 sets the line spacing for 7 pin graphics. The G clef is printed in three lines.
Advanced Graphics Chapter 6 Advanced Graphics Firing Pins at Seven Paces The MX-70 allows any computer to control the firing of its 8 active pins by simply sending ASCII code numbers between O-255. Conversely, these 256 code numbers are sufficient to control all 8 pins. Multi-line graphics programs will therefore usually be done with a top-of-line to top-of-line spacing of 8 dots (8/72”).
Chapter 6 Line 10 sets the top-to-top line spacing at 7 dots. Lines 20 and 30 KICK the printer into graphics mode. N specifies the number of graphic columns. By making it a variable, we can easily change it later, right within a program, to print graphic lines of different lengths. As a preliminary software test before things get too complicated, we’d better check the line spacing. Add these lines: 25 FOR X=1 TO 3 40 FOR C = 1 TO 50 : PRINT CHR$ (127); 501 PRINT : : NEXT C NEXT X . . .
Advanced Graphics The Data Bank HI RESolution graphics requires lots of DATA. It comes with the territory So, what should our DATA lines look like? How should we format them so they contain the information we need? What information do we need? ASCII numbers O-127 are used to specify the firing combinations for the 7 pins. Since much graphic printing, fortunately, is repetitious, we can develop a coding scheme to simplify and reduce the sheer volume of DATA required. It can use pairs of numbers.
Chapter 6 40 FOR G=l TO N 50 READ X 120 NEXT G 130 PRINT The numbers READ into X are the actual pin firing instructions. If X falls in the range 0 - 127, we print it in line 60 below.
Advanced Graphics List and recheck the completed program to make sure everything is correct: 9 PR #1 (Apple only) 10 PRINT CHR$ (27) "A" CHR$ (7) 20 READ N : PRINT TAB (10); 30 PRINT CHR$ (27) "K" CHR$ (N) CHR$ (0); 40 FOR G=l TO N 50 READ X 60 IF X>=0 THEN PRINT CHR$ (X); : GOT0 120 70 G = G-X-l 80 READ Y 90 FOR P = 1 TO ABS(X) 100 PRINT CHR$(Y); 110 NEXT P 120 NEXT G 130 PRINT 900 PRINT CHR$(27)"2" 999 PR #0 (Non-Apple use END) 1020 DATA 55,0,3,7,15,31,63,63,-42,127,63,63,31,15,7,3 Summary of TRS-80
Chapter 6 All That Work for one Line? We shouldn’t complain too loudly. It works, and no one said creating graphics was easy. Our current “universal” program can only handle one line of DATA, and it’s becoming increasingly apparent that HI-RES graphics requires lots of lines of DATA. The following simple changes allow it to handle virtually unlimited amounts of DATA: 15 ONERR GOT0 900 (TRS-80 etc.
Advanced Graphics Rowdy Characters Add the following lines: 1070 DATA 44,-12,8,-32,127 1080 DATA 39,-17,0,64,96,112,120,124,-12,127,124, 120,112,96,64 and RUN. Figure 6-4 Oops! There’s trouble in River City. Fortunately, we’ve seen these same control code problems before. Hate to keep bringing this subject up, but it does disturb our use of the printer. We’ve seen codes 9 and 13 cause trouble on the Apple, and codes 0, 10, 11, and 12 cause trouble on the TRS-80.
Chapter 6 A Confession Line 1070 was artificially injected into this conversation to illustrate some of the problems the rebel character codes can cause. We’re playing for real now, so change line 1070 to: 1070 DATA 44,-12,0,64,112,120,124,127,127,15,7,67,99,51,3, 63,123,71,3,3,71,123,63,3,51,99,67,7,15,127,127, 124,120,112,64 and RUN. Figure 6-5 Ah SO! Is it a picture of the MX-70 design engineer? Turned up-side down it looks like a flying saucer.
Advanced Graphics Figure 6-6 It was worth it! We now have all the tools needed to design and print our own graphics. Be sure to save the finished program as we will use it in the next chapter.
The Final Push Chapter 7 The Final Push Only masochists failed to SAVE the final program from the last chapter. We’re now going to delete all its DATA lines and reconstruct it for more universal applications. DELETE LINES 1000-1080. Mix and Match We are obviously amazed at the MX-70’s graphics ability. Our thoughts logically lead to thinking about mixing graphics and text on the same line. Can it be done? Sure, nothing to it.
Chapter 7 No, it’s not another demon. It is a “broken signboard” that needs a text type LABEL in the middle. The finished graphics/text display will be printed in these three parts: 15 columns of graphics 30 columns of text (5 characters) 15 columns of graphics Now we have to mix and match graphics and text on the same line. First, the graphics: 160 GOSUB 20 170 DATA 15,127,8,28,62,93,-8,28,0,0 and RUN. Figure 7-2 Then text: 180 PRINT”82 CM”; and RUN.
The Final Push Figure 7-4 Nothing to it! NOTE: As long as semicolons are used to delay the line feeds, graphics and text are easily mixed on the same line. New lines can be started by simply adding line feeds with PRINT statements as shown in line 140. The Long Lines Division None of our examples so far have used the full 480 columns available to the MX-70. In fact, we’ve always used less than 100 columns since the printer will be used by computers with different capabilities.
Chapter 7 If we really understand what we’re doing, the 7-bit limitation can be overcome. Apple users try: 140 GOSUB 20 : GOSUB 20 : PRINT 150 DATA 23,-23,127,127,-127,127 and RUN. Now we are getting somewhere. Instead of trying to print the entire line in one shot, we hooked two print routines together with a semicolon. The first printed 23 columns, and the second printed 127 columns. Really Long Lines Suppose we want to use even longer lines, up to the maximum of 480 columns.
The Final Push Apple Stew I’m afraid that Apple users wound up with a slightly different result, even though the 300 should be valid for the current program. Figure 7-7 This appears to be a conflict among the Apple, the interface board, and the MX-70. It seems that anything printed past column 256 gives us scrambled eggs. While the factory-type experts work on a solution, Apple users add the following line: 7 P R I N T C H R $ ( 9 ) ; “2 5 5 H ” (Apple users only) and RUN.
Chapter 7 Pictogram Let’s see if we can parlay strings of graphic characters into a useful format. Enter this NEW program.
The Final Push The DATA for the population figure is READ into array A in line 30. Each figure is printed in SUBroutine 300. DATA line 130 determines how many figures are printed on each row. We have the makings of a horizontal bar graph, but it needs some trimmings. Let’s add a few labels and move the whole works over a bit.
Chapter 7 10 PRINT TAB(23)CHR$(14)"POPULATION PROJECTION" 140 PRINT : PRINT TAB(37); : GOSUB 300 150 PRINT "( = 1,000" and RUN. Figure 7-10 That’s plenty for this chapter. Code Summary PRINT CHR$ (9) “255H” - Allows Apple users to print past column 255 without heartburn.
Using the HIRES Screen Dump Program Chapter 8 Using the HIRES Screen Dump Program Should I Study This Chapter? Epson dealers can supply a machine language “screen dump” diskette for Apple users with 48K disk systems. It permits creation of exotic HI-RES graphics on the Apple screen, then dumping them, dot for dot to the MX-70 printer. Since the MX-70 graphics are related to the Apple (as the MX-80 graphics replicate the TRS-80’s), this particular software is of interest only to Apple users.
Chapter 8 Load the demo disk into drive 1 and boot the system. The HELLO program will automatically load and execute. After a brief commercial from the copyright holder, the program asks: IS THE PICTURE ALREADY IN MEMORY? (Y/N)? We respond with: N The computer retaliates with: INSERT DISK CONTAINING PICTURE THEN PRESS RETURN ? Since the DOS and sample PICTURES are on the same disk, press What follows is the HIRES diskette catalog of sample programs and files.
THIS PAGE HAS BEEN AMENDED Using the HIRES Screen Dump Program DISNEY CHAR SCHEMATIC PORTRAIT CHESS Follow the Yellow Brick Road The HELLO program guides us through the actual process of printing the pictures. It’s completely self-explanatory (as every confusing technical book says), but here’s some step-by-step guidance. WHAT IS THE FILENAME OF THE PICTURE ? The program is asking for the NAME of the picture we want to print.
THIS PAGE HAS BEEN AMENDED Chapter 8 For now, let’s try REVERSE: R The last question is: WHAT IS THE PRINTER SLOT # ? (1-7) ? Double check to see that the printer is ON and loaded with paper. Our printer card is in slot I, so: 1 Now we just sit back and relax while the MX-70 does its thing. No fair peeking until it finishes.
THIS PAGE HAS BEEN AMENDED Using the HIRES Screen Dump Program Go ahead and try the different print options with PORTRAINT, large and small, reverse and regular. Print several of the pictures. Instead of PORTRAINT type the name of another one. Most load into the HIRES page “low memory.” We’ll wait for you here. Be an Artist for Fun-and Profit Impressed, or just intimidated? Let’s see what we can do’ about making our own mess on the paper.
Chapter 8 Not too shabby for rank amateurs. Here’s what happens: Line 10 clears the screen. Line 20 selects the “low memory” HIRES page. This part of memory is used for high-resolution graphics, while text is stored on a different ‘page’ of memory. 48K disk users have two different chunks of memory that can be used for HIRES graphics. If we wanted, we could store 2 different pictures at the same time. Refer to the Apple Programming Reference Manual for more information. Line 30 selects a color.
Using the HIRES Screen Dump Program 50 R=30 * ( ~ - S I N( A ) ) and 50 R=80 * COS(3 * A/4) (Change line 40 to 40 FOR A=0 TO 26 STEP .01) and RUN. Figure 8-3 When you see one you like, add this screen dump “linking routine” to hook the BASIC program to the HIRES program: 80 POKE 10,76 : POKE 11,00 : POKE 12,96 90 PRINT “BLOAD EPSON.HIRES.OBJ” 100 PRINT USR(0001) and RUN.
Chapter 8 Figure 8-4 Lines 80 and 90 are straight out of the HIRES INSTRUCTIONS program listing. They load the screen dump routine without leaving the BASIC program. As indicated in the HIRES instructions, we use the machine language routine named EPSON.HIRES.OBJ (Line 90), and where: A B C D = = = = PAGE (O=PG.l, l=PG.2) SIZE (O=SMALL, l=LARGE) PICTURE (O=REG.
Using the HIRES Screen Dump Program “...Never give up!” Commencement Address Now that we’ve learned everything there is to know about the MX-70 and HIRES graphics, our education is ready to begin. I’d enjoy hearing from you and seeing some of your artistic creations.
APPENDIX A Appendix A ASCII Charts for MX-70 79
Appendix A This is the standard ASCII character set. The codes that are highlighted are understood by the MX-70 printer. The rest are for your information only, and serve no function on the MX-70 printer.
Appendix B Control Codes ASCII *2 8 10 %12 13 14 20 27 *:65 *67 *75 FUNCTION Returns line spacing to 1/6”. Cancels last character entered in text mode. Line Feed (LF). Empties printer buffer. Form Feed (FF). Advances paper to the next top of form. Empties printer buffer. Carriage Return (CR). Empties printer buffer. Turns on double width. Turns off double width. ASCII code for ESCAPE. ASCII “A.” Sets line spacing of line feed. Range: 0 - 85/72”. ASCII “C.” Sets form length. Default is 66 lines.
APPENDIX C Appendix C Character Set 83
Appendix C 84
APPENDIX D Appendix D TRS-80 Differences This MX-70 Manual is designed around the Apple II for reasons discussed in Chapter 2. Fortunately, TRS-80 users can use it successfully by following the notes and suggestions in this appendix and throughout the text. In fact, using the MX-70 with the TRS-80 is quite easy: with no ports to initialize, no control codes needed to permit 80 column listings, and straightforward LPRINT commands.
Appendix D We can get around this limitation by POKEing the code numbers directly to the printer buffer, foiling BASIC’s attempts to intercept it. The location we POKE is 14312, so use: POKE 14312,0 In fact, we could use POKE to send ALL our graphic codes, but this approach creates timing problems between the printer and computer. Every POKE needs to be followed by a test to see if the printer is ready to accept more codes.
APPENDIX D The Model III does not share the Model I’s problem sending code 0. Nonetheless, another way to send codes to the printer is: OUT 251,# where # represents the code we wish to send. If this creates timing problems, we may need to test the status of the printer before sending it each code number. For example: 100 IF PEEK (14312) AND 240 <> 48 THEN 100 places the program in a “holding pattern” until the printer is ready for more. See the computer reference manual if more details are desired.
APPENDIX E Appendix E Use with Atari Using Atari 800 Computer with Atari 850 Interface Lines ending with a semicolon cause the Atari to automatically “pad” the rest of the line with spaces until it is 40 characters long, when using LPRINT. Therefore, it is advisable to avoid LPRINT. Fortunately, there is another approach to printing that allows semicolons to be used without problems.
APPENDIX F Appendix F Use with Apple Apple Integer Basic The MX-70 is activated by ASCII code numbers from O-255. The easiest way to send these codes in BASIC is via the CHR$ function, a feature not supported by Apple Integer Basic. In theory the codes could all be POKEed from BASIC but it doesn’t seem to be a practical option. Apple Disk Basic Nearly all programs in this manual are written in Applesoft ROM BASIC.
Appendix F Tricky Codes Most Apple users will encounter difficulty when using codes 9 and 13 in ESCAPE sequences and the graphics mode. To corral these and other rowdy codes, we can POKE the ASCII code numbers directly to the printer driver. Use: POKE 49296,9 in place of PRINT CHRS(9) Unfortunately, using the POKE statement instead of PRINT creates timing problems between the printer and computer.
APPENDIX F The prior code sequence also diverts all output to the printer ONLY! The video display is disabled after the CTRL-I # N sequence. The way to bring it back is by: I In the process, the printer width defaults back to 40 columns. Apple Mush But how do we send control characters to the printer? The most obvious way is with the CTRL key on the keyboard. Let’s try it. FIRST: activate the printer by typing PR#l . SECOND: hold down the CTRL key and press I. THIRD: type 80N.
APPENDIX G Appendix G Special Notes on Other Computers/Languages/Interfaces Interfacing The MX-70 is designed to interface directly with parallel printer computers like the Apple II and the TRS-80 Models I, II, and III. RS-232, IEEE 448, and other interfaces are not factory supported. There is no provision for installing interface boards inside the case.
APPENDIX H Appendix H Technical Specifications 1.4.1 Printer (1) Printing Method. . . . . . . . . . . . . . . (2) Character set. . . . . . . . . . . . . . . . . (3) C h a r a c t e r f o r m a t i o n . , (a) Text mode . . . . . . . . . . . . . . . (b) Bit image mode . . . . . . . . . . (4) Character size . . . . . . . . . . . . . . . . (5) Paper feed . . . . . . . . . . . . . . . . . . . (6) Paper . . . . . . . . . . . . . . . . . . . . . . . . (a) Kind . . . . . . . . . . . . . . . . . . . (b) Width . .
APPENDIX I Appendix I Control Circuit Board and Initialization Control circuit board With the MX-70. such functions as head carriage control, paper feed control. etc., are performed by the one-chip microprocessor 8049 located on the control circurt board. The microprocessor has a 2K-byte ROM and a 128-byte RAM. The print head and two stepper motors are driven by the 16 driver transistors. fig. 1 shows the control circuit diagram Transistor STROBE_ Fig.
Appendix I Power circuit The power circuit generates 5V DC for the logic circuit, and 24V DC to energize the solenoids of the print head and two stepper motors. Printer initialization Printer initialization is accomplished in either of the two ways described below. (1) Initialization takes place automatically each time the primary AC power source is interrupted and reapplied (i.e., by turning the Power Switch off and on).
APPENDIX J Appendix J Pinout Chart The MX-70 includes a parallel interface as the standard equipment, and this paragraph describes the parallel interface. (1) Specifications (a) Data transfer rate: 1000 CPS (max.) By externally supplied STROBE pulses. (b) Synchronization: By ACKNLG or BUSY signals. (cl Handshaking: Input data and all interface control signals are (d) Logic level: compatible with the TTL level.
Appendix J Table 7 (Cont’d) Signal Pin No. Return Pin No. Signal 12 30 PE OUT 13 - SLCT OUT 14 - AUTO FEED X Description Direction In Always GND Level. Pulled up to +5V via 3 . 3 κ Ω resistor. With this signal being at "LOW" level, the paper is automatically fed one line after printing. (The signal level can be fixed to "LOW" w i t h A U T O p r o v i d e d o n t h e control circuit board.) 15 - NC Not used. 16 - OV Logic GND level.
APPENDIX K Appendix K Parallel Interface Timing The MX-70 includes a parallel interface as standard equipment, which is compatible to the Centronics parallel interface. The Printer can be connected easily to any computer with this interface structure. Fig, 3.1 shows the timing chart when signals are to be input from an external device to the MX-70.
Appendix K STEP 3. Connect the jumper No. 2 (AUTO) on the control circuit board to enable the AUTO FEED function. By the above operating steps, the MX-70 operations including the interface can be checked. Unlike the self-test (self-diagnostic) function by the built-in program, this method permits the Printer operations to be checked along with the parallel interface operation.
APPENDIX L Appendix L Printer Maintenance A clean and comfortable environment will insure the best possible service from your printer (and its operator). Find it a Nice Home Your Epson printer is designed to take a lot of punishment, but there is no reason to become careless. In fact, it will last a lot longer if you pamper it. Treat it at least as good as your pet rock. - Avoid operation in direct sunlight. - Avoid use in areas where there is a high concentration of dust or grease.
Appendix L and divide into 100,000,000. The result is the estimated print head life in days. (Then count the legs and divide by four . . .) If and when the print head needs replacement, make sure it is cool to the touch. It may operate very hot under heavy use. Remove the printer lid and ribbon cartridge. Turn the head lock lever clockwise and pull the print head straight up and off. Don’t pull too far! It’s still connected to the base of the printer by a flat ribbon cable.
Appendix M: Schematic Diagram
INDEX Page Automatic line feed, proper setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4, 6, 16 Cable, printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1,7,87 Characterset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83,84 CHR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NOTICE Please send your comments, suggestions, and any errors you might find to: THE EDITOR MX-70 Manual 60x 19669 San Diego California 92119 U.S.A. Thank You.
LIMITED WARRANTY Epson America, Inc., “Epson,” warrants this product against defects in material and workmanship for a period of ninety (90) days from the original date of purchase by only the original consumer purchaser. This Warranty applies only should the product fail to function properly under normal use.