[net.micro.atari16] 1st word printer driver for Smith-Corona TP-1

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--------------------------------