bray@alberta.UUCP (Brian Bray) (05/08/86)
Here a driver for First Word with the Smith-Corona TP-1 daisy wheel printer and the "Presidential" and "Ascii" type wheels. It took some fiddling to get this to work, so posting should save others time. -Brian -------------------Start of File--------------------------------- **************************************************************** * * Printer Driver Configuration Table * * for Smith Corona TP-1 printer. * * This file contains tables defining the code sequences * to be sent to the printer to perform various functions * and to access the characters from codes in the Atari * character set. * * * Usage: * * This printer has been declared as a "dot matrix" because * it is too dumb to recognize the codes sent by 1st_prnt * for daisy wheels. In order to access both a dot matrix and this * driver, rename the file 1st_prnt.dot to 1st_prnt.dsy after * running the configuration program on this file. * * This file was created by Brian Bray from sample files * supplied with First Word (86/05/08). * * **************************************************************** * * Name of printer * =============== * Smith Corona TP-1 * * Miscellaneous configurable variables * ==================================== * * 1: printer type, 0=dot matrix, 1=daisy wheel * Note, if the printer type is 0, the following 4 variables are never used. * 2: unit width of one character * 3: unit height of one line * 4: Approximate middle of carriage after formfeed * 5: Carriage shift for bold overstrike * 6: 1 to PAUSE BETWEEN PAGES * 0, 0, 0, 0, 0, 1 * * Printer characteristics * ======================= * * This table specifies the printer command sequences. * If the top bit of a code is set, then this indicates the position * of a parameter passed to the printer. The code whose top bit is set in * this tabl is added to the parameter passed, before being sent to the * printer. It is not used in all command sequences, only in those where * the printer requires a variable value such as the length of a vertical * tab. * * 0, 1B, 1F, 81 * Set horizontal movement increment (HMI) to (n-1) 1, D * CR/LF * 2, 1B, 35 * Forward print * 3, 1B, 36 * Backwards print * 4, 1B, B, 81 * Absolute vertical tab to (n-1) * 5 * Absolute horizontal tab to (n-1) * 6 * Draft bold on * 7 * Draft bold off * 8 * Near Letter Quality (NLQ) bold on * 9 * NLQ bold off * A * Draft italic on * B * Draft italic off * C * NLQ italic on * D * NLQ italic off * E * Draft light on * F * Draft light off * 10 * NLQ light on * 11 * NLQ light off * 12, 1B, 44 * Draft superscript on * 13, 1B, 55 * Draft superscript off * 14, 1B, 44 * NLQ superscript on * 15, 1B, 55 * NLQ superscript off * 16, 1B, 55 * Draft subscript on * 17, 1B, 44 * Draft subscript off * 18, 1B, 55 * NLQ subscript on * 19, 1B, 44 * NLQ subscript off 1A, 19 * Draft underline on 1B, 19 * Draft underline off 1C, 19 * NLQ underline on 1D, 19 * NLQ underline off 1E, C * Formfeed * 1F * Horizontal initialisation: set HMI (n-1), forward print, return 20, 19 * Vertical initialisation: set Underline off. 21, D * Tidy up: return and printer reset 0 * * Translation Table * ================= * * This table provides translation from single Atari input bytes into * multiple printer codes, and is useful for printing extraneous * characters such as accented characters etc. All characters are * subjected to translation, but if there is no entry in the table for * a particular code, then the original code is sent to the printer. * * The entries must be arranged in ascending order of Atari input * code. The table is NULL terminated. * 0 * NULL: print a space 1 * Up arrow 2, 17, 8, 76 * Down arrow 3, 2D, 8, 16 * Right arrow 4, 2D, 8, 15 * Left arrow 5 * No close box 6 * No size box 7 * No full box 8 * No tick 9 * No clock A * No Bell B * No musical note E * No Atari left hand symbol F * No Atari right hand symbol 10, 30 * LCD 0 11, 31 * LCD 1 12, 32 * LCD 2 13, 33 * LCD 3 14, 34 * LCD 4 15, 35 * LCD 5 16, 36 * LCD 6 17, 37 * LCD 7 18, 38 * LCD 8 19, 39 * LCD 9 23 * HASH: phantom rubout 3C, 15 * < on Ascii wheel only 3E, 16 * > on Ascii wheel only 5E * NO ^ 60 * NO ` 7C, 17 * | on Ascii wheel only 7E * NO ~ 7F * No triangle 80, 43, 8, 2C * Capital C cedilla: C backspace , 81, 75, 8, 22 * lower case u umlaut 82, 65, 8, 27 * Lower case e acute: e backspace quote 83, 61 * Lower case a circumflex 84, 61, 8, 22 * lower case a umlaut 85, 61 * Lower case a grave 86, 61 * No lower case a boll 87, 63, 8, 2C * Lower case c cedilla: c backspace , 88, 65 * Lower case e circumflex 89, 65, 8, 22 * lower case e umlaut 8A, 65 * Lower case e grave 8B, 69, 8, 22 * lower case i umlaut/diaresis 8C, 69 * Lower case i circumflex 8D, 69 * Lower case i grave 8E, 41 * No capital A umlaut 8F, 41 * No capital A boll 90, 45 * No capital E acute 91 * No lower case ae dipthong 92 * No capital AE dipthong 93, 6F * Lower case o circumflex 94, 6F, 8, 22 * lower case o umlaut 95, 6F * Lower case o grave 96, 75 * Lower case u circumflex 97, 75 * Lower case u grave 98, 79, 8, 22 * lower case y umlaut 99, 4F * No capital O umlaut 9A, 55 * No capital U umlaut 9B, 17 * c cent 9C, 23 * Pound Sterling 9D, 59, 8, 2D * Yen: Y backspace - 9E * No esszet 9F, 66 * Lower case swash f: print f A0, 61, 8, 27 * Lower case a acute: a backspace quote A1, 69, 8, 27 * Lower case i acute: i backspace quote A2, 6F, 8, 27 * Lower case o acute: o backspace quote A3, 75, 8, 27 * Lower case u acute: u backspace quote A4, 6E * Lower case n tilde A5, 4E * No capital N tilde A6, 61, 8, 5F * Lower case a underline: a backspace _ A7, 6F, 8, 5F * Lower case o underline: o backspace _ A8 * No inverted ? A9 * No top left corner AA * No top right corner AB, 16 * 1/2 fraction AC, 15 * 1/4 fraction AD * No inverted ! AE * No << AF * No >> B0, 61 * Lower case a tilde B1, 6F * Lower case o tilde B2, 4F, 8, 2F * Capital crossed O: O backspace / B3, 6F, 8, 2F * Lower case crossed o: o backspace / B4 * No lower case oe dipthong B5 * No capital OE dipthong B6, 41 * No capital A grave: print A B7, 41 * No capital A tilde: print A B8, 4F * No capital O tilde: print O B9, 22 * No umlaut: use double quote ----------------End of File--------------------------------