Pase@DOCKMASTER.ARPA (Bill Pase) (04/21/86)
Here is the 1st Word printer driver for the Panasonic printers. I'd sent this out before but apparently it did not get out to everyone. The following is in two parts, the documentation for the driver and the hex file itself. To use it just perform the normal install proceedure as described in the 1st Word manual. Since I didn't write this, and haven't used it all I can't take responsibility. Good Luck. /bill --------------------------kxp1091.doc--------------------------- This 1ST_WORD printer driver is compatible with the following printers : PANASONIC (1090,1080,1091,1092,1592 1093. As well as these ROLAND (1010,1011,1111). Since the light function is not available on these printers, I have substituted for proportional mode. Here are a list of changes and additions : LIGHT mode (F4) is now set for Proportional mode In the special character menu on the second line there ten characters which for lack of a better term I will call LCD characters, like a calculator display's. Since only the Atari printer is capable of reproducing these I use them to enact special funtions like : LCD ( 0 ) NOW used to turn ON ELITE pitch printing LCD ( 1 ) NOW used to turn OFF ELITE pitch printing LCD ( 2 ) NOW used to turn ON CONDENSED printing LCD ( 3 ) NOW used to turn OFF CONDENSED printing LCD ( 4 ) NOW used to turn ON ENLARGED printing LCD ( 5 ) NOW used to turn OFF ENLARGED printing LCD ( 6 ) NOW used to turn ON DOUBLE space printing LCD ( 7 ) NOW used to trun OFF DOUBLE space printing LCD ( 8 ) NOW used to turn ON 1 1/2 space printing LCD ( 9 ) NOW used to turn OFF 1 1/2 space printing OPERATING NOTES: 1: It is impossible to print both in ELITE mode and NLQ at the same time. 2: When using the double space feature place the LCD 6 before the line where you want duoble spacing to begin. And place the LCD 7 where you want it to end. For example if you want "The lazy dog" to be double spaced : ON S C R E E N ON P R I N T E R Mary had a little 6 Mary had a little The lazy dog 7 The lazy dog Modified by Craig Tremblay of Compucentre Carlingwood If there are any questions of if you find any errors please feel free to contact me at the following phone number : ( 613 ) 7 2 9 - 0 4 4 8 -----------------------end of kxp1091.doc------------------------ -------------------------kxp1091.hex----------------------------- **************************************************************** * * Panasonic Dot Matrix Printer Driver Configuration Table * (1080 / 1090 / 1091 / 1092 / 1093 / 1592) compatible * * As Well as these Rolland printer (1010 / 1111 / 1011) * * 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. * **************************************************************** * * Name of printer * =============== * PANASONIC KX-P() * THE INSTALL PRINT ROUTINE IS NOT SET UP FOR ANY OTHER PRINTER * BUT THESE MODIFICATIONS ALLOW FULL USE OF THE PANASONIC OR ROLAND * PRINTERS WITHIN THE BOUNDS OF THE 1ST WORD PROGRAM. MODIFICATON * BY CRAIG TREMBLAY, COMPUCENTRE CARLINGWOOD (613) 729-0448 * Miscellaneous configurable variables * ==================================== * * 1: printer type, 0=dot matrix, 1=daisy wheel * Note if 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 * 0, 0, 0, 0, 0 * * 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 table 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 * Character width 1, D, A * Linefeed WITH return * 2 * Forward print * 3 * Reverse print * 4, 1B, 42, 80, 0, B * Vertical tab to line * 5 * Absolute horizontal tab 6, 1B, 45 * Draft bold on 7, 1B, 46 * Draft bold off 8, 1B, 6E, 1B, 45 * NLQ bold on 9, 1B, 46, 1B, 6E * NLQ bold off A, 1B, 34 * Draft italic on B, 1B, 35 * Draft italic off C, 1B, 6E, 1B, 34 * NLQ italic on D, 1B, 35, 1B, 6E * NLQ italic off E, 1B, 6F * Draft proportional on F, 1B, 50 * Draft proportional off 10, 1B, 6E, 1B, 6F * NLQ proportional on 11, 1B, 50, 1B, 6E * NLQ proportional off 12, 1B, 53, 0 * Draft superscript on 13, 1B, 54 * Draft superscript off 14, 1B, 50, 1B, 53, 0 * NLQ superscript on 15, 1B, 54, 1B, 6E * NLQ superscript off 16, 1B, 53, 1 * Draft subscript on 17, 1B, 54 * Draft subscript off 18, 1B, 50, 1B, 53, 1 * NLQ subscript on 19, 1B, 54, 1B, 6E * NLQ subscript off 1A, 1B, 2D, 1 * Draft underline on 1B, 1B, 2D, 0 * Draft underline off 1C, 1B, 6E, 1B, 2D, 1 * NLQ underline on 1D, 1B, 6E, 1B, 2D, 0 * NLQ underline off 1E, 0C * Formfeed 1F, 12 * Horizontal initialisation * 20 * Vertical initialisation 21, 1B, 40 * Termination: printer reset 0 * NULL termination byte * * Translation Table * ================= * * This table provides translation from single Atari input bytes into * multiple Epson 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, 08, 1B, 52, 0, 5E * Up arrow: USA | backspace USA ^ 2, 1B, 52, 0, 7C, 8, 76 * Down arrow: USA | backspace USA v 3, 2D, 8, 3E * Right arrow: - backspace > 4, 3C, 8, 2D * Left arrow: - backspace < 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 LH Atari symbol F * No RH Atari symbol 10, 1B, 6E, 1B, 4D * LCD 0 NOW USED TO TURN NLQ ELITE PITCH ON 11, 1B, 50, 1B, 6E * LCD 1 NOW USED TO TURN NLQ ELITE PITCH OFF 12, 1B, 0F * LCD 2 NOW USED TO TURN CONDENSED PITCH ON 13, 1B, 6E * LCD 3 NOW USED TO TURN CONDENSED PITCH OFF 14, 1B, 0E * LCD 4 NOW USED TO TURN ON ENLARGED PRINT 15, 14 * LCD 5 NOW USED TO TURN OFF ENLARGED PRINT 16, 1B, 33, 48 * LCD 6 NOW USED TO TURN DOUBLE SPACE ON 17, 1B, 33. 24 * LCD 7 NOW USED TO TURN DOUBLE SPACE OFF 18, 1B, 33, 36 * LCD 8 NOW USED TO TURN 1 1/2 LINE SPACE ON 19, 1B, 33, 24 * LCD 9 NOW USED TO TURN 1 1/2 LINE SPACE OFF 7F * No triangle 80, 43, 8, 2C * Capital C cedilla: C backspace , 81, 1B, 52, 2, 7D * Lower case u umlaut from German font 82, 1B, 52, 1, 7B * Lower case e acute from French font 83, 61, 8, 1B, 52, 0, 5E * Lower case a circumflex: a backspace USA ^ 84, 1B, 52, 2, 7B * Lower case a umlaut from German font 85, 1B, 52, 1, 40 * Lower case a grave from French font 86, 1B, 52, 4, 7D * Lower case a boll from Danish 1 font 87, 1B, 52, 1, 5C * Lower case c cedilla from French font 88, 65, 8, 1B, 52, 0, 5E * Lower case e circumflex: e backspace USA ^ 89, 65, 8, 1B, 52, 1, 7E * Lower case e umlaut: e backspace French umlaut 8A, 1B, 52, 1, 7D * Lower case e grave from French font 8B, 69, 8, 1B, 52, 1, 7E * Lower case i umlaut: i backspace French umlaut 8C, 69, 8, 1B, 52, 0, 5E * Lower case i circumflex: i backspace USA ^ 8D, 1B, 52, 6, 7E * Lower case i grave from Italian font 8E, 1B, 52, 2, 5B * Capital A umlaut from German font 8F, 1B, 52, 4, 5D * Capital A boll from Danish 1 font 90, 1B, 52, 9, 40 * Capital E acute from Norwegian font 91, 1B, 52, 4, 7B * Lower case ae dipthong from Danish 1 font 92, 1B, 52, 4, 5B * Capital AE dipthong from Danish 1 font 93, 6F, 8, 1B, 52, 0, 5E * Lower case o circumflex: o backspace USA ^ 94, 1B, 52, 2, 7C * Lower case o umlaut from German font 95, 1B, 52, 6, 7C * Lower case o grave from Italian font 96, 75, 8, 1B, 52, 0, 5E * Lower case u circumflex: u backspace USA ^ 97, 1B, 52, 1, 7C * Lower case u grave from French font 98, 79, 8, 1B, 52, 1, 7E * Lower case y umlaut: y backspace French umlaut 99, 1B, 52, 2, 5C * Capital O umlaut from German font 9A, 1B, 52, 2, 5D * Capital U umlaut from German font 9B, 1B, 36, 9B * CENT sign from IBM mode 2 9C, 1B, 36, 9C * Pound sterling from IBM mode 2 9D, 1B, 36, 9D * Yen from IBM mode 2 9E, 1B, 52, 2, 7E * Esszet from German font 9F, 1B, 36, 9F * Lower case swash f: print f A0, 1B, 36, A0 * Lower case a acute IBM mode 2 A1, 1B, 36, A1 * Lower case i acute IBM mode 2 A2, 1B, 36, A2 * Lower case o acute IBM mode 2 A3, 1B, 36, A3 * Lower case u acute IBM mode 2 A4, 1B, 36, A4 * Lower case n tilde IBM mode 2 A5, 1B, 36, A5 * Capital N tilde IBM mode 2 A6, 1B, 36, A6 * Lower case a underline IBM mode 2 A7, 1B, 36, A7 * Lower case o underline IBM mode 2 A8, 1B, 36, A8 * Inverted ? IBM mode 2 A9, 1B, 36, A9 * top left corner IBM mode 2 AA, 1B, 36, AA * top right corner IBM mode 2 AB, 1B, 36, AB * 1/2 fraction IBM mode 2 AC, 1B, 36, AC * 1/4 fraction IBM mode 2 AD, 1B, 36, AD * Inverted ! IBM mode 2 AE, 1B, 36, AE * << IBM mode 2 AF, 1B, 36, AF * >> IBM mode 2 B0, 61, 8, 7E * Lower case a tilde: a backspace USA ~ B1, 6F, 8, 7E * Lower case o tilde: o backspace USA ~ B2, 1B, 52, 4, 5C * Capital crossed O from Danish 1 font B3, 1B, 52, 4, 7C * Lower case crossed o from Danish 1 font B4, 6F, 8, 65 * lower case oe dipthong B5, 4F, 8, 45 * 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, 1B, 52, 1, 7E * Umlaut from French font BA, 27 * Acute: print ' BB * No dagger BC * No paragraph symbol BD * No copyright symbol BE * No Registered symbol BF * No Trademark symbol C0, 79, 8, 1B, 52, 1, 7E * ij ligature: y backspace French umlaut C1, 59 * Capital IJ ligature: print Y C2,1B,4B,06,00,00,62,14,08,14,62 * H C3,1B,4B,06,00,00,42,42,42,7E,02 * E C4,1B,4B,06,00,00,00,42,44,7E,00 * W C5,1B,4B,06,00,00,40,40,40,7E,40 * B C6,1B,4B,06,00,00,4E,40,40,40,7E * R C7,1B,4B,06,00,00,00,00,40,7E,00 * E C8,1B,4B,06,00,00,40,60,50,4E,00 * W C9,1B,4B,06,00,00,7E,40,40,40,7E CA,1B,4B,06,00,00,7E,02,02,42,7E CB,1B,4B,06,00,00,00,40,40,70,00 CC,1B,4B,06,00,00,42,42,42,42,7E CD,1B,4B,06,00,00,C0,40,42,44,78 CE,1B,4B,06,00,00,6E,10,20,42,7E CF,1B,4B,06,00,00,00,42,42,7E,00 D0,1B,4B,06,00,00,7C,42,42,42,7C D1,1B,4B,06,00,00,02,7E,02,02,7E D2,1B,4B,06,00,00,72,52,42,42,7E D3,1B,4B,06,00,00,62,12,0A,0E,72 D4,1B,4B,06,00,00,40,5F,40,40,78 D5,1B,4B,06,00,00,40,40,40,40,3E D6,1B,4B,06,00,7E,0A,12,62,02,7E D7,1B,4B,06,00,00,42,7E,40,40,7E D8,1B,4B,06,00,00,00,00,40,7F,00 D9,1B,4B,06,00,00,00,40,40,40,7F DA,1B,4B,06,00,00,40,7E,42,42,7E DB,1B,4B,06,00,00,70,50,40,40,7F DC,1B,4B,06,00,00,60,10,08,0E,70 DD, 1B, 52, 2, 40 * Section mark from German font DE * No dropped circumflex DF, 1B, 36, EC * infinity symbol E0, 1B, 36, E0 * alpha E1, 1B, 36, E1 * Esszet from German font E2, 1B, 36, E2 * No Greek.... E3, 1B, 36, E3 * PI SYMBOL E4, 1B, 36, E4 * SIGMA E5, 1B, 36, E5 * FUNNY O E6, 1B, 36, E6 * MICRO E7, 1B, 36, E7 * GAMMA E8, 1B, 36, E8 * I OVER O E9, 1B, 36, E9 * - OVER O EA, 1B, 36, EA * OMEGA EB, 1B, 36, EB * FUNNY O EC, 1B, 36, ED * / OVER O ED, 6F, 8, 1B, 36, B3 * ! OVER O EE, 1B, 36, EE * 3 BACKWARDS EF, 1B, 36, EF * n F0, 1B, 36, F0 * Equivalence F1, 1B, 36, F1 * +-: + backspace _ F2, 1B, 36, F2 * >=: > backspace - F3, 1B, 36, F3 * <=: < backspace _ F4, 1B, 36, F4 * integral top piece F5, 1B, 36, F5 * integral bottom piece F6, 1B, 36, F6 * Division sign F7, 1B, 36, F7 * No twiddly = symbol F8, 1B, 36, F8 * Degree symbol F9, 1B, 36, F9 * superior bullet FA, 1B, 36, FE * inferior bullet FB, 1B, 36, FB * square root sign FC, 1B, 36, FC * superior n FD, 1B, 36, FD * superior 2 FE * No superior 3 FF, 1B, 36, FA * macron 0 -----------------------end of kxp1091.hex------------------------ That is all there is to it. Let me know if you get a messed copy. Support free software. /bill