FCC COMPLIANCE STATEMENT FOR AMERICAN USERS This 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.
Preface The User’s Manual for the FX Series Printers consists of two volumes: Tutorial and Reference. This volume is the Reference, which contains the appendixes to Volume 1. These appendixes are organized as follows: Appendix A deals with the characters: it gives ASCII codes and displays the dot matrix characters. Appendixes B through D cover control codes. Appendix B shows the codes in their ASCII numerical order, while C provides a list of the same codes organized by usage groups.
iv
FX Series Printer User’s Manual Volume 2 Contents Preface ..................................... iii List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii B ASCII Codes and Character Fonts . . . . . . . . . . . . . . . . ASCII Codes and International Characters . . . . . . . . . ASCII Code Summary . . . . . . . . . . . . . . . . . . . . . . . International Characters Summary . . . . . .
F Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problem/Solution Summary . . . . . . . . . . . . . . . . . . . . Beeper Error Warnings . . . . . . . . . . . . . . . . . . . . . . . . . Hex Diagnosis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coding Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . POKEing codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special printer drivers . . . . . . . . . . . . . . . . . . . . . .
K Parallel Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Transfer Sequence . . . . . . . . . . . . . . . . . . . . . . . . . Interface timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Signal relationships . . . . . . . . . . . . . . . . . . . . . . . . . . 333 335 335 335 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 List of Figures E-1 Factory setting of the DIP switches . . . . . . . . . . . . . . .
Appendix A ASCII Codes and Character Fonts This appendix provides information about the way the ASCII codes are employed on the FX printers and about the character fonts associated with those codes. The first section summarizes the codes. The second section displays, in ASCII order, the decimal number, the hexadecimal number, a printout, and an enlarged dot matrix for each character in the two fonts that you can access directly: 1. the Roman font for the USA character set (decimal 32-126) 2.
ASCII Code summary Dec Hex 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 00 01 02 03 04 05 06 07 08 09 OA OB OC OD OE OF 10 11 12 13 14 15 16 17 18 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 25 254 19 CHR Dec none none none none none none none BEL BS HT LF VT FF CR SO SI none DC1 DC2 DC3 DC4 none
International characters summary ASCII locations 0 to 31 and 128 to 159 store the international characters that are needed for sets other than the one for the USA. These characters are printable only with the CHR$(27) “6”, CHR$(27) “I”, or CHR$(27) “R” sequences.
ASCII Character Matrixes As in the summaries above, this section follows the ASCII code arrangement, but this time we show the codes only as they are associated with characters—0 through 255. The characters for the Roman and Italic USA fonts, which together make up the USA character set, occupy ASCII positions 32 through 126 and 160 through 254, respectively. The international characters use ASCII positions 0 through 31 and 128 through 159. We show enlarged dot matrixes for both pairs of fonts.
Dec Hex Character Width Dec Hex Character Width 12 OC 12 21 15 13 OD 12 22 16 8 14 OE 12 23 17 12 15 OF 11 24 18 12 16 10 10 25 19 12 17 11 11 26 1A 12 18 12 12 27 1B 10 19 13 12 28 1C 11 20 14 12 29 1D 12 257
Dec Hex Character Width Dec Hex Character Width 30 1E 12 39 27 5 31 1F 12 40 28 6 32 20 12 41 29 6 33 21 5 42 2A 12 34 22 8 43 2B 12 35 23 12 44 2C 7 36 24 12 45 2D 12 37 25 12 46 2E 6 38 26 12 47 2F 10 258
Dec Hex Character Width Dec Hex Character Width 48 30 12 57 39 12 49 31 8 58 3A 6 50 32 2 12 59 3B 6 51 33 3 12 60 3C 10 52 34 4 12 61 3D 12 53 35 5 12 62 3E 10 54 36 6 12 63 3F 12 55 37 7 12 64 40 56 38 8 12 65 41 12 259
Dec Hex Character Width Dec Hex Character Width 84 54 12 93 5D a 85 55 12 94 5E 12 86 56 12 95 5F 12 87 57 12 96 60 5 88 58 10 97 61 12 89 59 12 98 62 11 90 5A 10 99 63 11 91 5B a 100 64 11 92 5C 10 101 65 12 261
Dec Hex Character Width Dec Hex Character Width 102 66 f 10 111 6F o 12 103 67 g 11 112 70 p 11 104 68 h 11 113 71 q 11 105 69 i a 114 72 r 11 106 6A j 9 115 73 s 12 107 6B k 10 116 74 t 11 108 6C l a 117 75 u 12 109 6D m 12 118 76 v 12 110 6E n 11 119 77 w 12 262
Width Dec Hex Character Width Dec Hex Character 120 78 10 129 81 11 121 79 12 130 82 11 122 7A 10 131 83 11 123 7B 9 132 84 8 124 7C 5 133 85 8 125 7D 9 134 86 12 126 7E 12 135 87 10 127 7F 12 136 88 11 128 80 11 137 89 12 263
Dec Hex Character Width Dec Hex Character Width 138 8A 12 147 93 12 139 8B 12 148 94 12 140 8C 12 149 95 11 141 8D 12 150 96 142 8E 11 151 97 12 143 8F 11 152 98 12 144 90 12 153 99 91 11 154 9A 11 146 92 12 155 9B 11 145 264 9
Width Dec Hex Character Width Dec Hex Character 156 9C 12 165 A5 12 157 9D 12 166 A6 12 158 9E 11 167 A7 5 159 9F 12 168 A8 a 160 A0 12 169 A9 a 161 Al 10 170 AA 12 162 A2 10 171 AB 12 163 A3 12 172 AC a 164 A4 11 173 AD 12 265
Dec Hex Character Width Dec Hex Character 174 AE 7 183 B7 12 175 AF 10 184 B8 12 176 B0 12 185 B9 11 177 Bl 9 186 BA 8 178 B2 12 187 BB 9 179 B3 12 188 BC 10 180 B4 12 189 BD 11 181 B5 12 190 BE 9 182 B6 11 191 BF 11 266 Width
Dec Hex Character Width Dec Hex Character Width 210 D2 R 12 219 DB 11 211 D3 S 12 220 DC 7 212 D4 T 12 221 DD 11 213 D5 U 12 222 DE 10 214 D6 V 11 223 DF 12 215 D7 W 12 224 E0 5 216 D8 X 12 225 E1 11 217 D9 Y 12 226 E2 11 218 DA Z 12 227 E3 11 268
Dec Hex Character Width Dec Hex Character 228 E4 12 237 ED 11 229 E5 11 238 EE 10 230 E6 12 239 EF 11 231 E7 11 240 FO 11 232 E8 11 241 F1 11 233 E9 9 242 F2 10 234 EA 10 243 F3 11 235 EB 11 244 F4 10 236 EC 9 245 F5 11 Width 269
Dec Hex Character Width Dec Hex Character Width 246 F6 10 255 FF 247 F7 12 248 F8 12 249 F9 11 250 FA 12 251 FB 10 252 FC 9 253 FD 10 254 FE 12 270 12
Appendix B Control Codes in Numeric Order You activate an FX control code by using LPRINT CHR$(n), where n is the number in the decimal column below. When the ESC column contains a dash, you use only CHR$(n) but when ESC is written in this ESC column, you must precede the CHR$(n) with CHR$(27).
ESC Dec Hex Symbol Function - 11 0B VT Vertical tab. Empties the printer buffer, then advances the paper to the next vertical tab stop. - 12 0C FF Form feed. Empties the printer buffer, then advances the paper to the next logical top of form. - 13 0D CR Carriage return. Prints the contents of the buffer and resets the buffer character count to 0. Restores the print head to the left margin. You turn the automatic line feed on or off with DIP switch 2-4. - 14 0E SO Shift out.
ESC Dec Hex Symbol Function ESC 33 21 ! Master Print Mode Select (Master Select). Selects 16 unique print mode combinations. Format: CHR$(27)” ! “CHR$(n) where n = 0 - 255. See Appendix D. ESC 35 23 # Accepts the eighth bit “as is” from the computer. ESC 37 25 Activates a character set. DIP switch 1-4 must be off. Format: CHR$(27)” % “CHR$(0)CHR$(0) selects the ROM set; and CHR$(27)” % “CHR$(1)CHR$(0) selects the RAM set. % ESC 38 26 & Defines characters in user RAM.
ESC Dec Hex Symbol Function ESC 47 2F / Selects a vertical tab channel. Format: CHR$(27)“/“CHR$(n) where n = 0 - 7. ESC 48 30 0 Sets line spacing to 1/8-inch (g-dot). ESC 49 31 1 Sets line spacing to 7/72-inch (7-dot). ESC 50 32 2 Returns line spacing to the default of 1/6 inch (12-dot). ESC 51 33 3 Sets line spacing to n/216-inch (1/216-inch is 1/3 dot). Stays on until changed. Format: CHR$(27)“3”CHR$(n) where n = 0 - 255. ESC 52 34 4 Turns Italic Mode ON.
ESC Dec Hex Symbol Function ESC 61 3D = Sets the eighth bit to 0 (limits the range to 0 - 127). ESC 62 3E > Sets the eighth bit to 1 (limits the range to 128 - 255). ESC 63 3F ? Redefines one of the 4 alternate graphics codes -- “K”,“L",“Y”, or “Z” - as one of the seven graphics density numbers used with the ESCape “ * ” command. Format: CHR$(27)“?s”;CHR$(n); where s is K,L,Y, or Z and n is 0 - 6.
ESC Dec Hex Symbol Function ESC 68 44 D Resets the current tabs and sets up to 32 horizontal tabs in the current pitch. Tabs may range up to the maximum width for the character and printer size. For example, the maximum tab for Pica characters on an 8inch line is 79. Tab settings are not affected by subsequent changes in pitch. Format: CHR$(27)“D”CHR$(n 1)CHR$(n 2). . . CHR$(nk)CHR$(O) Terminate a tab sequence with CHR$(0) or a number less than that of the last tab (n k).
ESC Dec Hex Symbol Function ESC 75 4B K Turns Single-Density Graphics Mode ON. Prints 480 dots per 8-inch line. Format: CHR$(27)“K”CHR$(n 1)CHR$(n 2); followed by n data numbers, where n = n1 + 256*n 2 , n 1 = 0 - 255, n 2 = 0 - 255. For example, to print 480 dots, n1 = 224, n2 = 1. ESC 76 4C L Turns Low-Speed Double-Density Graphics Mode ON. Prints 960 dots per 8-inch line. Format: CHR$(27)“L”CHR$(n 1)CHR$(n 2) followed by n data numbers, where n = n1 + 256*n 2 , n 1 = 0- 255, n 2 = 0 - 255.
ESC Dec Hex Symbol Function ESC 81 51 Q Sets the right margin. Also cancels all text that is in the print buffer. Format: CHR$(27)“Q”CHR$(n) where n = 1 - maximum number of characters per line in the current pitch: FX-100 FX-80 2-136 in Pica 2-80 3-163 in Elite 3-96 4-233 in Compressed 4-137 ESC 82 52 R Selects an international character set by its country’s number. See Tables 6-2 and 6-3. Format: CHR$(27)“R”CHR$(n) where n = 0 - 8. ESC 83 53 S Turns Script Mode ON.
ESC Dec Hex Symbol Function ESC 89 59 Y Turns High-Speed Double-Density Graphics Mode ON; gives the same density as CHR$(27)” L”, but cannot print two adjacent dots in the same row. ESC 90 5A Z Turns Quadruple-Density Graphics Mode ON. Prints 1920 dots per 8-inch line. Format: CHR$(27)“Z”CHR$(n 1)CHR$(n 2) followed by n data numbers, where n = n, + 256*n2 , n 1 = 0 - 255, n 2 = 0 - 255. For example, to print 1920 dots on the FX-80 n1 = 128, n2 = 7. On the FX-100, to print 3264 dots, n1 = 192, n2 = 12.
ESC Dec Hex Symbol Function ESC 106 6A j On the FX-80 only, causes an immediate reverse line feed in an increment of 1/216inch without a carriage return. Similar to CHR$(27)“J”. Format: CHR$(27)“j”CHR$(n) where n = 0 - 255. ESC 108 6C I Sets the left margin. Format: CHR$(27)“I”CHR$(n) where n ranges from: FX-100 FX-80 in Pica 0 - 78 0-134 in Elite 0-160 0 - 93 in Compressed 0-133 0-229 ESC 112 70 p Turns Proportional Mode ON. Cannot mix with Elite, Emphasized, Compressed, Script, or Double-Strike Mode.
The printer’s high-order control codes from 128 to 155 and 255 mirror their low-order counterparts (0 - 27 and 127). For ready reference, both sets are listed here: Low Dec High Dec High Hex Symbol Function 0 128 80 NUL 7 8 9 10 11 12 13 14 15 17 18 135 136 137 138 139 140 141 142 143 145 146 87 88 89 8A 8B 8C 8D 8E 8F 91 92 BEL BS HT LF VT FF CR SO SI DC1 DC2 19 20 147 148 93 93 DC3 DC4 24 27 127 152 155 255 97 9B FF CAN ESC DEL Terminates horizontal and vertical tab setting.
282
Appendix C Control Codes by Function This Appendix shows the same control codes as Appendix B, but this time arranged by categories before ASCII order. If your computer cannot generate lowercase letters, use the equivalent decimal ASCII values. See Appendix B or refer to the pages suggested by the Index for usage instructions. Character Width (Pitch) CHR$(27)“M” CHR$(27) "P" CHR$(15) CHR$(18) CHR$(14) CHR$(20) CHR$(27)“W0” CHR$(27)“W1” CHR$(27)“p0” CHR$(27)“p1” Turns Elite Mode ON. Turns Elite Mode OFF.
Print Enhancement CHR$(27)“S0” CHR$(27)“S1” CHR$(27)“T” CHR$(27)"-0” CHR$(27)“-1” Turns Superscript Mode ON. Turns Subscript Mode ON. Turns either Script Mode OFF. Turns Underline Mode OFF. Turns Underline Mode ON. Mode and Character-Set Selection CHR$(27)“!"CHR$(n) Master Select. CHR$(27)”%“CHR$(n 1)CHR$(n 2) Selects a character set by source: ROM (factory) or RAM (user-defined). CHR$(27)“&“CHR$(n)CHR$(c 1)CHR$(c 2)CHR$(A)CHR$(d 1)... Defines characters c1 to c2 in RAM area; n is 0.
CHR$(27)” < ” CHR$(27)” = ” CHR$(27)” > " CHR$(27)“ U0 ” CHR$(27)“Ul” CHRS(27)“i0” CHR$(27) “il” CHR$(27)“s0” CHR$(27)“sl” CHR$(127) Turns One-Line Unidirectional Mode ON. Sets the high-order bit OFF. Sets the high-order bit ON. Turns Continuous Unidirectional Mode OFF. Turns Continuous Unidirectional Mode ON. Turns Immediate Mode OFF. Turns Immediate Mode ON. Returns to normal speed. Turns Half-Speed Mode ON. Deletes the most recent text character in the print buffer.
Page Format CHR$(9) or CHR$(137) Activates a horizontal tab. Activates a vertical tab. CHR$(1l) CHR$(27)" / “ CHR$(n) Selects a vertical tab channel. CHR$(27)“B"CHR$(n 1) . . . CHR$(nk)CHR$(0) Sets vertical tab stops. CHR$(27)“D”CHR$(n 1) . . . CHR$(nk)CHR$(0) Sets horizontal tab stops. CHR$(27)“Q”CHR$(n) Sets the right margin. CHR$(27)“b”CHR$(n)CHR$(n 2)CHR$(n 2) . . . CHR$(nk)CHR$(0) Stores vertical tab stops in a channel. CHR$(27)“1”CHR$(n) Sets the left margin.
Appendix D Control Code Comparison The first part of this appendix consists of a chart of the commands used on Epson printers. It shows similarities and differences between the MX III, the FX, and the RX. Unless otherwise specified, the FX column applies to both the FX-80 and the FX-100, and the RX column applies to both the RX-80 and the RX-100. In the second part of this chapter, we summarize the differences in software and then cover variations in hardware features.
288
Epson Model Differences In this discussion of software and hardware differences between the MX III, the FX and the RX, the command name (backspace, vertical tab, etc.) is that of the most recent model which carries it. CHR$(8) - Backspacing On the MX III in Expanded Mode, moves the print head to the left one Pica position. On the FX and RX in all six pitches, moves the print head to the left one position in the current pitch. CHR$(9) or CHR$(137) - Default horizontal tabbing See CHR$(27)“D” and CHR$(27)“e”.
CHR$(15) - Compressed Mode selection On the MX III, prints 132 characters per 8-inch line. On the FX-80 and RX-80, prints 132 characters per 8-inch line, but can print 137 characters if the right margin is changed. On the FX-100 and RX-100 prints 233 characters per 13.6-inch line. CHR$(17) and CHR$(19) - Printer selection On the FX only and only with DIP switch 2-1 off, turns printing on and off. When CHR$(19) is in effect, the printer ignores all output.
Escape”/” , “B”, and “b” - Vertical tabbing On the FX and RX-100 only lets you set up to 16 vertical tabs and store up to eight vertical tab channels in memory. ESCape “3" - Special line spacing On all three models, you can set and reset the line feed function by changing hardware (DIP switch and/or cable wiring). On the FX and RX, this code provides n/216-inch line spacing and incidentally controls the automatic line feed function.
Escape ” G” - Double-Strike Mode selection On the MX III, FX-100, and RX, moving in and out of DoubleStrike Mode on one line produces a descent of one-third dot per change. ESCape ”H” - Double-Strike Mode selection On the MX III, this code also cancels Script Mode. ESCape ” I ” - Special character selection On the FX only, you can use this code as a toggle (with 0 and 1) which allows you to print the characters stored behind control codes 0 to 31.
ESCape ”Y" - High-Speed Double-Density Graphics Mode selection On the FX and RX, prints ESCape”L” graphics at twice the usual speed. There is one limitation: it will not print adjacent dots in the same row. ESCape “Z” - Quadruple-Density Graphics Mode selection On the FX and RX, prints 1920 dots per B-inch line; on the FX-100 and RX-100, prints 3264 dots per 13.6-inch line. Escape ”^” - Nine-pin Graphics Mode selection On the FX and RX-100 only, speeds up screen dumps. ESCape ”b” - Vertical tabbing.
ESCape”s” - Half-speed printing On the FX, prints at half the normal speed, which results in 80 characters per second. On the RX, prints at half the normal speed, which results in 50 characters per second. Dumping programs in hexadecimal On the FX and RX, you can use the hex dumping facility to aid you in debugging. All codes sent to the printer are dumped onto the paper in their hex format, which lets you see exactly what the printer is receiving from the computer.
Appendix E Defaults and DIP Switches In this Appendix we list the default settings for your printer, showing which settings you can change and the way you can change them. Some of the defaults can be changed by using DIP switches; the second section illustrates and discusses those defaults. Default Settings When your FX comes from the factory, it is set to the following defaults.
* 2K buffer available for user-defined characters * l Paper-out sensor on * Non-slashed zero (although there’s no code for “turning on” slashed zero, you can slash one zero at a time with backspace) * Carriage return issued at the end of a line without an automatic line feed l Bidirectional movement of the print head * l Skip-over-perforation feature off * Beeper on (turning off the paper-out sensor deactivates the beeper for this function but not for others) Top of form occurs at the position of th
Table E-1. DIP switch function Switch 1 Note: The shaded boxes show the factory settings. OFF Figure E-Z.
Table E-2. International DIP switch settings See Chapter 6 for a discussion of the international sets. Switch 1-5: selects a default print weight. When it is ON, Emphasized is the default. When it is OFF, Single-Strike is the default. Switch 7-4: controls the RAM memory. When it is ON, makes a 2K buffer available. When it is OFF, that memory can be used for userdefined characters. Switch 1-3: controls the paper-out sensor.
Switch 2-2: controls the beeper. When it is ON, the beeper sounds when it receives a CHR$(7) or to indicate the paper has run out. When it is OFF, CHR$(7) or paper-out doesn’t sound beeper. For printer detected error other than paper-out sensing (for which switch 1-3 must also be set), the beeper will sound regardless of the setting of switch 2-2. Switch 2-1: selects the printer.
300
Appendix F Troubleshooting This appendix approaches troubleshooting from several directions. The first section uses a columnar format to match solutions with problems. Other sections cover beeper error warnings, hexadecimal code dumping, coding and seven-bit solutions, and specific solutions for several popular personal computer systems. Problem/Solution Summary The left column below will help you in identifying the source of your problem and start you on the way to finding a solution.
Changing form measurements The ESCape”C” command is not working properly. Don’t set, form lengths of 0 or 128. The ESCape“N” skip-over-perforation doesn’t work. Don’t set the skip larger than the form length. Tabbing Vertical tabs don’t work correctly. Can’t set vertical tabs greater than the form length. Each tab sequence must be terminated by a CHR$(0) or a number less than the last tab value. Horizontal tabs don’t work correctly.
Printer “freezes” in Graphics Mode. The printer expects a certain number of pin patterns, determined by n1 and n2. It will wait patiently until the quota is full. Note that 9-Pin Graphics Mode requires two bytes for each column of graphics. Can’t get a full page in width. Some systems require a WIDTH statement. See your system documentation. Seven-bit computers are limited to widths of 0 - 127, 256 - 383, 512 - 639, etc. See below. Having trouble getting into Graphics Mode.
Loading paper Paper goes crooked as it rolls down. It may be running against the ribbon guide. Move the printhead to the middle of its path. Paper crunches up. The paper guides are set incorrectly. Move them to fit this paper. If your paper is thin, doubling the first page may give enough rigidity to ease it through the guides. For subsequent loading, tape the first page of a new batch of paper to the last page of an old batch, thus avoiding reloading. Top edge of paper sticks under the roller.
1. A short circuit between the collector and the emitter of a head transistor along with a shorted dot driver winding produces: PI, PI, PI . . . PI, PI, PI on power-up or self-test, and PI, PI, PI, PI when on-line and printing. 2. Detection of high voltage produces: PI, PI, PI, PEE 3. Errors detected by slave CPU (restricted printhead motion or PTS sensor failure) produce: PI, PI, PI . . . PI, PI, PI 4.
Figure F-1. Best-case hex dump Most BASICS, however, are not quite that straightforward. For example, the TRS-80 Model III prints Figure F-2: Figure F-2. TRS-80 Model III hex dump Notice that the FX is receiving decimal code 10 as hex 0D, which is decimal 13. In addition, decimal code 12 (hex 0C) is coming across as a series of line feeds, hex 0A (decimal 10). The hex mode prints 20 numbers per line on the FX-80 and 34 numbers per line on the FX-100.
printing, either by trial and error or by using the hex dumping capability of the FX, you can start overcoming them. Because each computer system deals with ASCII codes differently, it is impossible to provide solutions for all potential problems in one appendix. We can, however, point out generic problems and suggest ways to handle them. There are four common approaches. First, you may be able to buy an alternative printer interface card for your system. This is the best solution for 7-bit system problems.
These codes can be sent directly to the printer by POKEing them to a special memory location where they are immediately forwarded to the printer. The format is: POKE 14312, N where N is the decimal value of the code you wish to send to the printer. This works fine as long as the printer is ready to receive the data when you are ready to send it. On the Model I, the printer’s readiness is assured if location 14312 contains a decimal 63.
50 IF B>9 THEN B=B - 7 60 T=ASC(MID$(B$,P + 1, l)) - 48 70 IF T>9 THEN T=T-7 80 POKE A,B*l6 + T 90 A=A+1 100 NEXT P 110 POKE 16422, 187 120 POKE 16423, 64 This driver will also work on the TRS-80 Model III-with one change in line 10: change 32E837 to D3FB. That’s all there is to it. If you use this program, you can kiss problems with radical codes goodbye.
User-defined characters can’t be printed with the top 8 pins (the standard position for most characters). Eight pins can’t be used in defining characters. Here we suggest some ways to work around these types of problems. High-order bit control If you own a seven-bit system, the FX can help you.
ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ Setting the eighth bit on in line 10 adds 128 to each of the number in line 20; thus it prints Italic characters. The ESCape ”=” in line 30 effectively subtracts 128 from each of the numbers in line 40, so the second line prints as the characters from 65 throught 90. Line 50 returns your system to its usual state. Seven-bit graphics The 7-bit limitation affects graphics in two ways.
Solutions for Specific Systems The next four sections illustrate dealing with interface puzzles on four types of computers: the Apple II, the TRS-80, the IBM-PC, and the QX-10. Apple II solutions There are two types of problems that you who own Apple II computers will need to address. The first is that the Apple II is an 8-bit computer, but its printer interface only handles seven bits. The second is that there is one problem code number: nine.
code and the program will not work properly. The programs in this manual do not use CHR$(9), but some do use its high-order version CHR$(137) - which your system will change to CHR$(9). In these cases use the following method to change your printer initialization code to a number that is not used in the program. For example, you can change your initialization code to one by typing: PR#l PRINT CHR$(9); CHR$(l) TRS-80 solutions A routine to POKE codes to the memory of a Model I is given above.
This does allow you to print anything, but it ignores any previous WIDTH statements. If you want to print more than 80 characters per line in a graphics program, you must therefore change your opening statement to include the appropriate WIDTH statement: OPEN "LPTl:" AS #l : WIDTH #l, 255 And for the programs in this manual, don’t forget to use PRINT #l wherever we use LPRINT. This won’t work for those of you who have the original release of the Disk Operating System (DOS 1.0).
Sometimes it may be easier to use another low-order value. For example: FOR X=1 TO 10 IF X=9 THEN X=10 When DATA numbers include 9, you can sometimes simply double each of them or change each 9 to 8 or 11. The best number to substitute for 9 in pin patterns is usually 11.
Appendix G Mixing Print Modes One of the most pleasing aspects of your FX printer is its wide variety of print modes. By mixing modes as shown in Table G-1, you can print characters in 128 different type styles. The details are in Chapter 5; a short summary is provided here. Table G-1, Arriving at 128 type styles. Methods for Mixing The Master Select code can be used to select 16 popular print modes. The format is CHR$(27)"!"CHR$(n) where n ranges from 0 to 255.
By using the character form of some of the numbers, you can shorten the command string. Table G-2 shows some convenient characters to be used for the various combinations. You can find the Master Select code for any valid combination of pitch and weight by reading across in the row for the pitch you have selected and down in the column for the weight you want. Where the two intersect you will find the ASCII symbol to use in the simplified format.
it stays on until turned off. When two modes that conflict are turned on at the same time, the printer must choose which one to use. For example, suppose you turn on both Elite and Compressed Pitches. Since the printer can only print one pitch at a time, it must make a choice; in this case, the printer chooses Elite. The Compressed switch, however, is still on even though it doesn’t show on your printout.
320
Appendix H Customizing the FX You can adapt your FX to fit a variety of needs. You can alter the print capability both by hardware switches that change default conditions and by software codes that activate or deactivate different print modes. In this Appendix we show you a few typical applications and a few adjustments that you may want to make to your printer.
Keep in mind that this puts extra wear on your ribbon and slows your printing speed. A few word processing programs support the FX’s Proportional Mode. Since there is no DIP switch for this mode, consult your program’s manual for instructions on activating Proportional printing. If you wish to use right-justification with Proportional, be sure that your program can do so.
Appendix I Printer Maintenance Always Always keep your printer in a safe and clean location. Keep it away from: Dust and grease Heaters and furnaces. Safe temperature range is 5°C (41°F) to 35°C(95°F) Base unit for cordless telephone systems Large electrical machines Crowded areas (the paper needs room to flow freely) Leaky ceilings Rambunctious children or pets. Now and Then Clean particles and dust from the printer every so often with a soft cloth or brush.
O-2 lubricant on the shafts and platen bearings, wiping off excess with cloth. Use G-2 sparingly on ribbon feed, line feed, and carriage return drive gears, every five million lines. Changing the Print Head The expected life of an FX print head is about 100,000,000 characters (assuming an average of 14 dots per character). See your Epson dealer for FX print head replacements. To remove the old print head: If you have been printing, turn the printer OFF for about 15 minutes to allow the print head to cool.
Now pull the cable from the connector block. Hold the block firmly because it has to stay put. Pull the print head straight up and off. To install the new print head: Place the new print head onto the head mount and flip the locking lever back toward the front of the printer. Connect the cable to the block.
326
Appendix J Technical Specifications Printing Printing method ......... Impact dot matrix Printing speed ........... 160 characters per second Paper feed speed ......... Approximately 150 ms/line (at 1/6 inch/line) Printing direction ........ Bidirectional, logic seeking Unidirectional (left to right) in Graphics Mode Character set ............
Column width: Maximum characters per line FX-100 FX-80 Pica Pica Expanded Elite Elite Expanded Compressed Compressed Expanded 80 40 96 48 132* 68 136 68 163 81 233 116 *137 if right margin is changed (See Chapter 9). Paper FX-80 Paper width P i n - f e e d . . . . . . . . . . . . . . . . 9.5” to 10" Adjustable sprocket pinfeed Tractor feed with optional 4" to 9" tractor unit Cut Sheet ............... 7.25" to 8.5” Friction Feed Friction Feed with Roll Paper .............. 8.
Dimensions and weight FX-80 100 mm 420 mm FX-100 150 mm 594 mm Height . . . . . . . . . . . . . . . Width (without paper ..... feed knob) Depth .................... 347 mm 354 mm Weight ................... 7.5 kg 10.5 kg Power .................. 120 AC ± 10% Power capacity .......... 70 volt-amperes maximum Frequency .............. 49.5 to 60.5 Hz Environment Temperature . . . . . . . . . . . . . . Operating 5°C to 35°C (41°F to 95°F) Storage — 30°C to 70°C ( — 22°F to 158°F) Humidity ...............
330
Schematic 331
Appendix K The Parallel Interface The FX printer uses a parallel interface to communicate with the computer; this appendix describes it. Connector pin assignments and a description of respective interface signals are shown in Table K-1. Table K-1.
Table K-1, continued Signal Return 13 — 14 — Signal — AUTO FEED XT 15 — 16 17 — — 18 19 - 30 31 — — NC OV CHASSIS GND NC GND — INIT 32 — ERROR 33 34 35 — — — 36 — GND NC — SLCT IN Direction Description Pulled up to + 5 volts through 3.3K ohm resistance. When this signal is LOW, the paper is IN automatically fed 1 line after printing. (The signal level can be fixed to this by setting DIP switch 2-4 to ON.) — Unused. — Logic ground level.
4. Data transfer must be carried out by observing the ACKNLG or BUSY signal. (Data transfer to this printer can be carried out only after receipt of the ACKNLG signal or when the level of the BUSY signal is LOW.) 5. Under normal conditions, printer cable pins 11, 12, and 32 are activated when the paper-out condition is detected. The ESCape”8” code disables pins 11 and 32, but not pin 12. Those computers that monitor pin 12 halt printing when the paper is out, making ESCape”8” ineffective.
Table K-2. Signal interrelations On-Line OFF ON ON ON SLCT IN DC1/DC3 HIGH/LOW HIGH LOW DC1/DC3 DC1 DC3 DC1//DC3 ERROR LOW HIGH HIGH HIGH BUSY HIGH LOW/HIGH same same ACKNLG Not generated Generated after data entry same same DATA ENTRY Disabled Enabled (normal entry) Enabled* Enabled (normal entry) *Data entry will be acknowledged, but the input data will be lost until DC1is input. Note: ERROR status is assumed to result only in Off-Line state, and the ERROR status does not always mean SLCT IN.
INDEX Note: Refer to Table of Contents and List of Figures for specific programs. Also, the chapter summaries are not indexed. A Accessories, 16 American Standard Code for Information Interchange. See ASCII Apostrophe. See REMarks Apple II computers, 38, 40, 312-313 See also Seven-bit systems Arrays, 173-176,189-193 DIMensioning, 176 Arrow.
C Cable, 16, 35 CANcel, 46 Caret symbol. See Exponent character Carriage return, 23, 41 CHR$(13) produces it. See also Line feed Centronics. See Interface Channels. See Tabs, vertical Character fonts, shown, 253-270 See also User-defined characters Character size, 256-270, 327 See also specific pitches by name Character string function. See CHR$ function CHR$ function, 39 See also ASCII codes CHR$(7). Sounds beeper. See Beeper CHR$(8). Produces backspace. See Backspace CHR$(9). Activates a horizontal tab.
Control codes, 41-42 Hex dumping and. See Hex dumping for FX compared with those for MX and RX, 287-294 listed by function, 283-286 listed by number, 271-281 See also specific modes and functions Control panel, 35 Conventions used in this manual, iii-vi Core sets of user-defined characters, 223-226 Corvus Concept computers, 151 Covers. See lids D DATA statements, 154-156, 166-167 Data transfer sequence, 335-336 DEC microcomputers, 151 Default settings, 44, 295-296 DEFINT, 176 DELete, 46 CHR$(127) deletes.
ESCape = CHR$(27), 42-43 format for commands, iv-v, 46-47, 57-58 listed by function, 283-286 listed by number, 271-281 See also specific modes or functions ESCape “!”. Master Select. See Master Select ESCape "#". Accepts eighth bit as is from computer. See Bit, high order ESCape “%“ CHR$(n1)CHR$(n 2). Selects a character set. See User-defined characters ESCape “&“ CHR$(n)“s1s2". Selects characters to be defined. See Userdefined characters ESCape “*“ CHR$(m)CHR$(n1)CHR$(n2). Selects Graphics Mode, density m.
ESCape “I1”. Enables printing of control codes 0-31. See User-defined characters. ESCape “J” CHR$(n). Produces an immediate one-time line feed of n/216-inch without a carriage return. See Line feed ESCape “K” CHR$(n1)CHRS(n 2). Turns Single-Density Graphics Mode on. See Graphics Mode ESCape “L” CHR$(n1)CHR$(n 2). Turns Low-Speed Double-Density Graphics Mode on. See Graphics Mode ESCape "M". Turns Elite Mode on. See Elite Mode ESCape “N” CHR$(n). Sets skip-over-perforation.
F Firing of pins. See pins FF. See Form feed Foreign language characters. See International character set Form feed, 103-105 CHR$(12) produces one. button, 35 See also Top of form Forms length of, 103-107 ESCape “C” CHR$(0)CHR$(n) sets length to n inches; ESCape “C” CHR$(n) sets to n lines; ESCape “@” resets to default and sets top of form to current line. non-standard, 105-107 See also Form feed; Top of form Friction-control lever, 26, 28, 30 Friction feed, 28-29 Function switches.
Nine-Pin, 152-154 Escape “^“ CHR$(d)CHR$(n1)CHR$(n2) enters Nine-Pin Graphics Mode. reassigning code, 150-152 Escape "?s" CHR$(n) reassigns an alternate code to Graphics Mode n. summary table, 151 Grid. See dot matrix H Half-Speed Mode, 89, 322 ESCape "s1" turns it on; ESCape “s0” returns it to normal. Head. See Print head Hex dumping, 305-306 Humidity, 329 Horizontal tabs.
Line feed, 98-101 CHR$(10) produces it. button, 35-36 computer interface and. See Interface DIP switch for, 23 one-time immediate, 99-100 ESCape “J”CHR$(n) produces it. reverse, 99, 101 ESCape “j”CHR$(n) produces it. Line spacing, 93-98 ESCape “A”CHR$(n) sets to n/72”; ESCape “0” sets at 1/8"; ESCape “1” sets at 7/72”; ESCape “2” sets at 1/6” (default); ESCape “3”CHR$(n) sets at n/216”.
N NEC, 151 Nine-pin graphics. See Graphics Mode Noise reduction. See Half-Speed Mode O Off sets, 82-83 ON LINE light and button, 35 Overstrikes, 81-82 P Page, top of. See Top of form Paper bail, 15, 24, 26, 29 loading, 24-32, 304 length. See Forms separator, 17-18 thickness adjustment, 32, 34 types of, 16, 24, 328 Paper-out sensor, 110, 304 ESCape “9” turns it on; ESCape “8” turns it off. DIP switch control of, 297-298 Parallel interface. See Interface Pattern design. See Graphics PEEK.
Print head and dot graphics, 132-133 and dot matrix printing, 50 life of, 16, 324, 328 replacement, 324-325 Print modes. See Modes Print pitch summary table, 60 See also specific pitches by name Print quality, 61-66 Print speed. See Half-Speed Mode Print type chart, 78 Print width. See specific pitches by name; Width Printer buffer, 44 Printer driver for problem codes, 308-309 Priorities. See Modes. Proportional Mode, 64-65 ESCape “p1” turns it on; ESCape “P0” turns it off.
S Schematic, 331 Script Mode, 71-72 ESCape “S0” turns Superscript Mode on. ESCape “S1” turns Subscript Mode on. ESCape “T” turns either Script Mode off. Self test for printer. See Test Semicolons, iv, 45 Sensor. See Paper-out sensor Separator, paper. See paper Serial board.
Temperature, 329 Test automatic, 35-36 for seven-bit system, 309 Top of form, 31-33, 103-104 CHR$(12) sends the paper to top of form. ESCape “C” resets it to current paper position. ESCape “@” resets form length to default and sets top of form to current line. with skip-over-perforation, 109 See also Reset Code Tractor built-in, 24-28 cover, 14, 19 removable, 14-15, 28-31 Troubleshooting, 301-315 TRS-80, 38, 40, 307-309, 313 Type style chart, 317 U Up arrow.
w Width of characters, 256-270 statements, 313-314 Word processing, 36, 321-322 Z Zero, slashed, 23 349
Control Codes by Function Print Width Commands CHR$(27)"M" CHR$(27)“P” CHR$(15) [^O] CHR$(18) [^R] CHR$(14) [^N] CHR$(20) [^T] CHR$(27)“W1” CHR$(27)"W0" Turns Turns Turns Turns Turns Turns Turns Turns Elite Mode ON. Elite Mode OFF. Compressed Mode ON. Compressed Mode OFF. One-Line Expanded Mode ON. One-Line Expanded Mode OFF. Continuous Expanded Mode ON. Expanded Mode OFF. Print Quality Commands Turns Emphasized Mode ON. CHR$(27)“E” Turns Emphasized Mode OFF. CHR$(27)“F” Turns Double-Strike Mode ON.
Forms Control Commands Produces a form feed. CHR$(12) [“L] Produces a carriage return. CHR$(13) Turns the paper-out sensor OFF. CHR$(27)“8” Turns the paper-out sensor ON. CHR$(27)“9” CHR$(27)“C”CHR$(n) Sets the form length in lines: n = 0 - 127. CHR$(27)“C”CHR$(0)CHR$(n) Sets the form length in inches: n = 0 - 22. CHR$(27)“N”CHR$(n) Produces a variable skip-over-perforation. n = 0 - form length or 127. Turns skip-over-perforation OFF. CHR$(27)“0” Formatting Commands CHR$(27)“D”CHR$(n 1) ...
CHR$(27)”%“CHR$(n 1)CHR$(n 2) Selects a character set: n1 selects ROM (0) or RAM (1); n2 is 0. CHR$(27)“&”CHR$(n)CHR$(c 1)CHR$(c 2)CHR$(A)CHR$(d 1) ... CHR$(d11)... Defines characters c1 to c2 in RAM area: n is 0. Each character requires an attribute byte (A), followed by 11 data numbers (d1 to d11). CHR$(27)“:“CHR$(n 1)CHR$(n 2)CHR$(n 3) Copies ROM characters to the user RAM area. All numbers must be 0.
ASCII Codes Character or Function Dec Hex 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 00 01 02 03 04 05 06 07 08 09 OA OB OC OD OE OF 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 55 37 7 56 57 38 39 8 9 none none none none none none none BEL BS HT LF VT FF CR SO SI none DC1 DC2 DC3 DC4 none none none CAN none none ES
Dec Hex 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 AE AF BO B1 B2 B3 B4 B5 B6 87 B8 B9 BA BB BC BD BE BF CO C1 C2 C3 C4 C5 C6 C7 C8 C9 Character or Function , / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I Dec Hex 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 Character or Fun