M       COLUMNS=160 CHARWIDTH=8 CODEPAGES=437,850,852,853,857,858,860,865
  ##########################################################################

     FILESPEC.TXT V2.08 Specification & Reference documentation for NECPINW

     Copyright (C) 1996-2001 by Matthias Paul
                                Ubierstrae 28
                                D-50321 Brhl
                                GERMANY

     All rights reserved (except those detailed below).

     Registered trademarks and tradenames mentioned inhere are owned
     by their respective owners.

     mailto:<Matthias.Paul@post.rwth-aachen.de>
     mailto:<mrpaul@epost.de>
     mailto:<mpaul@drdos.org>

     Main distribution points (NECPI???.ZIP):

     http://www.uni-bonn.de/~uzs180/mpdokeng.html
     http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/util/print/cpi/
     http://www.freedos.org/
     http://mpaul.drdos.org/

     Other distribution points (NECPINW.ZIP - not currently up to date):

     ftp://ftp.rhrz.uni-bonn.de/pub/pc/dos/misc/
     ftp://ftp.uni-stuttgart.de/pub/systems/msdos/util/printers/
     http://www.leo.org/pub/comp/platforms/pc/msdos/utils/printutils/
     ftp://ftp.leo.org/pub/comp/platforms/pc/msdos/utils/printutils/

     Last edit: 2001-02-26 MPAUL

  ##########################################################################

     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.

     You should have received a copy of the GNU General Public License
     along with this program (see LICENSE.TXT, http://www.gnu.org,
     or http://www.fsf.org/copyleft/gpl.htm); if not, write to the
     Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
                                                                            
  ##########################################################################

     Contents:
     =========

     - DOS compatibility
     - Printer compatibility
       + Available Code Page support with the various NEC Pinwriter models
       + Available optional EPROMs for various NEC Pinwriter models
       + Requirements for EPROM support on various NEC Pinwriter models
     - Installation under DOS                                               
                                                                            
  ##########################################################################

     DOS compatibility:
     ==================

     NECPINW.CPI is a DOS Printer Code Page Information file designed
     for usage with DR DOS 6.0, DR DOS "Panther" & DR DOS "StarTrek",
     Novell DOS 7, Caldera OpenDOS 7.01, DR-OpenDOS 7.02, and DR-DOS
     7.02 - 7.05.  (It will also work under DR PalmDOS/NetWare PalmDOS 1.0
     when using the PRINTER.SYS from one of the other DR DOS releases,
     but DR PalmDOS/NetWare PalmDOS itself does not ship with PRINTER.SYS).

     It currently does not support any other DOS issues than those listed
     above, sorry.  Older issues of DR DOS or MS-DOS/PC DOS need some
     adaptations or may not work at all.  At the time of this writing,
     FreeDOS does not support any .CPI files, but hopefully this will
     be added at a later stage and probably NECPINW.CPI will then also
     work with FreeDOS.  Reports are welcome.                               
                                                                            
  ##########################################################################

     Printer compatibility:
     ======================

     The range of supported Code Pages provided by NECPINW.CPI depends on
     the used NEC Pinwriter model and its configuration.

     So far, NECPINW has been tested only with two 24 wire dot matrix
     printers of the NEC Pinwriter series, a NEC P5300 (P7plus) [1990-05:
     FW REV.15, CG REV.04] with color and CSF options and a color NEC P9300
     (P90) [1993-10: FW REV.16.02, CG REV.03] with 2 bin CSF option.
     (In lack of any font EPROM for the printer, the optional EPROM
     functionality of the P9300 could not be tested so far.)  Features
     unsupported by these printers have been tested in "theory" by using
     the printers' hex-dump facility.  Anyway, reports with other printers
     are most welcome...

     Since the shipping NECPINW.CPI file is designed for generic use with
     any of the supported printers, it may allow to switch to Code Pages
     not available with your device.  Please do not select Code Pages not
     supported by your model, as this may lead to unpredictable results.

     Available Code Page support with the various NEC Pinwriter models:
     ------------------------------------------------------------------        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

     hex     CP   Name                                           P2      P5     P5XL   P6/P7       P5200   P2200 P2200XE P6200   P3200   P3800   P1200   P8000
     |       |    |                                              P3      P560   P560XL P660/P760   P5300   |     P2plus  P6300   P3300   P3900   P1300   P72X
     |       |    |                                              CP2     P565   P565XL P665/P765   P6plus  |     |       P60     P20     P42Q    P2000   |
     |       |    |                                              CP3     |      P9XL   CP6/CP7     P7plus  |     |       P70     P30     P52Q    P2Q     |
     |       |    |                                              |       |      |      CP660/CP760 |       |     |       P9300   P22Q    |       P3Q     |
     |       |    |                                              |       |      |      CP665/CP765 |       |     |       P90     P32Q    |       P2X     |
     |       |    |                                              |       |      |      |           |       |     |       P7200   |       |       |       |
     |       |    |                                              |       |      |      |           |       |     |       P7300   |       |       |       |
     |       |    |                                              |       |      |      |           |       |     |       P62     |       |       |       |
     |       |    |                                              |       |      |      |           |       |     |       P72     |       |       |       |
     |       |    |                                              |       |      |      |           |       |     |       |       |       |       |       |
     016Fh   367  ISO-646 (US) 7-bit                             yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     01B5h   437  International, USA, IBM-2, PC-8, World Trade   yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     029Bh   667  Polish (Mazovia) (=CP 991)                     no      no     no     no          no      no    no      8       8       8       8       8
    (02E1h   737) Greek                                          no      no     no     no          no      no    no      3 [1]   3 [1]   3 [1]   3 [1]   3 [1]
     0352h   850  Multilingual, Latin I                          no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     0354h   852  Slavic, Eastern Europe (Latin II)              no      no     no     no          no      no    no      2,6,7,8 2,6,7,8 2,6,7,8 2,6,7,8 2,6,7,8
    (0355h   853) Turkish (Latin II)                             no      no     no     no          no      no    no      4 [1]   4 [1]   4 [1]   4 [1]   4 [1]
     0357h   855  Cyrillic I                                     no      no     no     no          no      no    no      1,5,6   1,5,6   1,5,6   1,5,6   1,5,6
    (0359h   857) Turkish (=CP 58201)                            no      no     no     no          no      no    no      4 [1]   4 [1]   4 [1]   4 [1]   4 [1]
     035Ah   858  Multilingual, Latin I with EURO SIGN           no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     035Ch   860  Portuguese                                     no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     035Fh   863  French Canadian                                no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     0361h   865  Nordic, Norway II, Danish                      no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     0362h   866  Russian, Cyrillic II                           no      no     no     no          no      no    no      1,5,6   1,5,6   1,5,6   1,5,6   1,5,6
     0363h   867  Czech??? (Kamenicky???) (=CP 895)              no      no     no     no          no      no    no      2 [2]   2 [2]   2 [2]   2 [2]   2 [2]
     037Fh   895  Czech??? (Kamenicky???) (=CP 867)              no      no     no     no          no      no    no      2 [2]   2 [2]   2 [2]   2 [2]   2 [2]
     03DFh   991  Polish (Mazovia) (=CP 667)                     no      no     no     no          no      no    no      8       8       8       8       8
     03F3h  1011  ISO-7 Germany (=CP 65282)                      yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes

    [2135h  8501] Multilingual, Latin I with EURO SIGN           no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
    [E352h 58194] "" (=CP 8501)                                  no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
    (E359h 58201) Turkish with EURO SIGN at D5h (=CP 857)        no      no     no     no          no      no    no      4 [1,3] no      no???   no???   4 [1,3]

     E5B5h 58805  CP 437 variant w/ EURO SIGN at 9Fh             no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     E69Bh 59035  CP 667 variant w/ EURO SIGN at 9Fh (=CP 59359) no      no     no     no          8 [3]   no    no      8 [3]   no      no???   no???   8 [3]
     E752h 59218  CP 850 variant w/ EURO SIGN at 9Fh             no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     E75Fh 59231  CP 863 variant w/ EURO SIGN at 9Fh             no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     E761h 59233  CP 865 variant w/ EURO SIGN at 9Fh             no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     E7DFh 59359  CP 991 variant w/ EURO SIGN at 9Fh (=CP 59035) no      no     no     no          8 [3]   no    no      8 [3]   no      no???   no???   8 [3]

     FF00h 65280  (0) 7-bit USA (=CP 367)                        yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF01h 65281  (1) 7-bit France                               yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF02h 65282  (2) 7-bit Germany (=CP 1011)                   yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF03h 65283  (3) 7-bit UK                                   yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF04h 65284  (4) 7-bit Denmark I                            yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF05h 65285  (5) 7-bit Sweden                               yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF06h 65286  (6) 7-bit Italy                                yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF07h 65287  (7) 7-bit Spain I                              yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF08h 65288  (8) 7-bit Japan                                yes     yes    yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF09h 65289  (9) 7-bit Norway I                             no???   yes??? yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF0Ah 65290  (10) 7-bit Denmark II                          no???   yes??? yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF0Bh 65291  (11) 7-bit Netherlands                         no???   yes??? yes    yes         yes     yes   yes     yes     yes     yes     yes     yes
     FF0Ch 65292  (12) 7-bit Turkey                              no      no     no     no          yes     yes   yes     yes     yes     yes     yes     yes
     FF0Dh 65293  (13) 7-bit Spain II                            no      no     no     no          yes     yes   yes     yes     yes     yes     yes     yes
     FF0Eh 65294  (14) 7-bit Latin America                       no      no     no     no          yes     yes   yes     yes     yes     yes     yes     yes
     FF10h 65296  (16) Multilingual (=CP 850)                    no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     FF11h 65297  (17) Portugal (=CP 860)                        no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     FF12h 65298  (18) French Canada (=CP 863)                   no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     FF13h 65299  (19) Norway II (=CP 865)                       no      no     no     no          yes     no    no      yes     yes     yes     yes     yes
     FF14h 65300  (20) EPROM (e.g. CP 852, ca. CP 737,853,857)   no      no     no     no          no      no    no      opt.    opt.    opt.    opt.    opt.
     FF15h 65301  (21) EPROM (e.g. CP 866, CP 667/991)           no      no     no     no          no      no    no      opt.    opt.    opt.    opt.    opt.
     FF16h 65302  (22) EPROM (e.g. CP 855, CP 866)               no      no     no     no          no      no    no      opt.    opt.    opt.    opt.    opt.
     FF17h 65303  (23) EPROM (e.g. CP 867/895)                   no      no     no     no          no      no    no      opt.    opt.    opt.    opt.    opt.
     FF18h 65304  (24) EPROM (e.g. CP 855)                       no      no     no     no          no      no    no      opt.    opt.    opt.    opt.    opt.
     FF19h 65305  (25) EPROM (var.)                              no      no     no     no          no      no    no      opt.    opt.    opt.    opt.    opt.
     FF1Ah 65306  (26) EPROM (reserved)                          no      no     no     no          no      no    no      res.    res.    res.    res.    res.
     FF1Bh 65307  (27) EPROM (reserved)                          no      no     no     no          no      no    no      res.    res.    res.    res.    res.
     FF1Ch 65308  (28) EPROM (reserved)                          no      no     no     no          no      no    no      res.    res.    res.    res.    res.
     FF1Dh 65309  (29) EPROM (reserved)                          no      no     no     no          no      no    no      res.    res.    res.    res.    res.
     FF1Eh 65310  (30) EPROM (reserved)                          no      no     no     no          no      no    no      res.    res.    res.    res.    res.
     FF1Fh 65311  (31) EPROM (reserved)                          no      no     no     no          no      no    no      res.    res.    res.    res.    res.

     FF70h 65392  DL font w/ EURO SIGN at D5h (universal)        no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF71h 65393  DL font w/ EURO SIGN at D5h (Draft 10 cpi)     no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF72h 65394  DL font w/ EURO SIGN at D5h (Draft 12 cpi)     no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF73h 65395  DL font w/ EURO SIGN at D5h (Draft 12 cpi HS)  no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF74h 65396  DL font w/ EURO SIGN at D5h (Draft 15 cpi)     no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF75h 65397  DL font w/ EURO SIGN at D5h (Draft 17 cpi)     no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF76h 65398  DL font w/ EURO SIGN at D5h (Draft 20 cpi)     no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF79h 65401  DL font w/ EURO SIGN at D5h (LQ 10 cpi)        no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF7Ah 65402  DL font w/ EURO SIGN at D5h (LQ 12 cpi)        no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF7Bh 65403  DL font w/ EURO SIGN at D5h (LQ 15 cpi)        no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF7Ch 65404  DL font w/ EURO SIGN at D5h (LQ 17 cpi)        no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]
     FF7Dh 65405  DL font w/ EURO SIGN at D5h (LQ 20 cpi)        no      no     no     no          yes [3] no    no      yes [3] no      no???   no???   yes [3]

     FF80h 65408  Download font (default)                        128     128    128    128         128/256 96    96/128  128/256 96/128  128     128     128/256
     FF81h 65409  Download font 1                                no      no     no     no          128/256 no    no      128/256 no      no      no      128/256
     FF82h 65410  Download font 2                                no      no     no     no          128     no    no      128     no      no      no      128

     FF90h 65424  Internal fonts (default)
     FF90h 65425  External font cardridge 1 (logical/physical)   ???     no???  yes    opt.???     yes     yes   yes     yes     no      yes     no      opt.???
     FF91h 65426  External font cardridge 2 (logical/physical)   ???     no???  yes    opt.???     yes     no    no      yes     no      yes     no      opt.???
     FF92h 65427  External font cardridge 3 (logical)            no???   no     no     no          yes     no    no      yes     no      yes     no      opt.???
     FF93h 65428  External font cardridge 4 (logical)            no???   no     no     no          yes     no    no      yes     no      yes     no      opt.???

     FFA0h 65440  Internal font  0 (Courier 10)                  no???   no [4] no [4] no [4]      yes     yes   yes     yes     yes     yes     yes     yes
     FFA6h 65446  Internal font  6 (Super Focus)                 no???   no     no     no          no      yes   no      no      no      no      no      no
     FFACh 65452  Internal font 12 (OCR-B)                       no???   no     no     no          no      yes   no      no      no      no      no      no
     FFAFh 65455  Internal font 15 (ITC Souvenir 10)             no???   no     no     no          yes     yes   yes     yes     no      yes     no      yes
     FFB0h 65456  Internal font 16 (Helvetica/Helvette 10 PT)    no???   no     no     no          yes     no    yes     yes     yes     yes     yes     yes
     FFB2h 65458  Internal font 18 (Times 10 PT)                 no???   no     no     no          yes     no    yes     yes     yes     yes     yes     yes
     FFB3h 65459  Internal font 19 (New Prestige Elite 12 WP)    no???   no     no     no          yes     no    yes     yes     yes     yes     yes     yes
     FFC2h 65474  Internal font 34 (Bold PS)                     no      no     no     no          yes [5] no    yes     yes     yes     yes     yes     yes
     FFD2h 65490  Internal font 50 (Fast Focus 10)               no      no     no     no          no      no    yes     no      no      no      no      no
     FFD3h 65491  Internal font 51 (Fast Focus 12)               no      no     no     no          no      no    yes     no      no      no      no      no
     FFD4h 65492  Internal font 52 (Quick Gothic 10)             no      no     no     no          no      no    no      yes     yes     yes     yes     yes
     FFD5h 65493  Internal font 53 (Quick Gothic 12)             no      no     no     no          no      no    no      yes     yes     yes     yes     yes

     Notes:                                                                    /////////////////////////////////////////////////////////////////////////////////

     [1] These Code Pages are not actually supported by EPROMs #3/#4,
         but only a relatively small number of Code Points differ between
         the EPROM fonts and the official Code Pages.  Hence I decided to
         at least add partial support for these Code Pages.

         CP:  Differences compared to the EPROM implementation:

         737  EEh, F0h, F1h, F4h, F5h, FCh.
         853  86h, 8Fh, 91h, 92h, 9Bh, 9Dh, A8h, A9h, ACh, ADh,
              B5h..B8h, BDh, BEh, C6h, C7h, CFh..D8h, DDh, DEh, ...
         857  9Bh, 9Dh, A9h, B5h..B8h, BDh, BEh, C6h, C7h, CFh..D8h,
              DDh, DEh, ...

     [2] I assigned Kamenicky to Code Page 867, because some original NEC
         advertisment flyers mentioned, that Code Page 867 would be supported
         by one of the optional EPROMs (they said nothing about the supported
         language, though).  From other sources I have hints that Code Page
         867 is Czech, hence it seems a good assumption for Code Page 867
         is Kamenicky.  Info wanted...

         On the other hand, the code set provided by the EPROM is known to
         be 100% identical with the code set used by the word processor
         Wordperfect for DOS as well as the Czech graphical web browser
         Arachne under the ID 895, although according to IBM CDRA level 2
         CP 895 is used by the IBM PC architecture and offically assigned
         to "CM/Group 2: 7-bit Latin SBCS: Japanese (EUC-JP JIS-Roman)".
         Furthermore, the Arachne documentation mentions that this
         "Kamenicti" code set is also provided by KEYBCS.
         In lack of any better info, I enabled CP 895 to be Kamenicky,
         which is subject to change.

     [3] Code Pages 8501 and 58194 are variants of Code Page 850, but with
         the EURO SIGN at Code Point D5h.  PC DOS 7 - 2000 provides
         this revised Code Page under the name 850, but I decided to
         leave the traditional Code Page 850 alone as the old definition
         is still in use in most of the other DOS operating systems.
         My proposal for the EURO SIGN-variant of Code Page 850 was
         Code Page 8501, while the IBM CDRA level 2 standard reserves the
         range E000h..EFFFh for user definable CCSIDs (that is, "Code Pages"
         here).  NECPINW.CPI still provides the Code Page under both IDs,
         but IBM has meanwhile assigned ID 858, making my previous proposal
         obsolete.  Hence, support for 8501/58194 may vanish, use 858 instead.
         The printer must be set up to accept a 256 character download
         font (check print buffer settings etc.).
         With one of the OS/2 Warp FixPaks, IBM added the EURO SIGN to
         Code Page 857 at Code Point D5h.  Similar to CP 58194, NECPINW.CPI
         supports this under ID 58201 and (depending on EURO_857 optionally)
         under CP 857.  Code Point D5h was previously undefined in the offical
         definition of CP 857.
         To provide some level of support to the FreeDOS EUROTSR extension,
         I introduced variants of Code Pages 437, 667/991, 850, 863, and 865
         under IDs 58805, 59035/59359, 59218, 59231, and 59233.  They replace
         the "French Franc"/"Dutch Gulden" symbol at Code Point 9Fh by the
         EURO SIGN.  Unfortunately download fonts are bound to specific
         printer modes, and it is not possible to properly define a character
         for all possible resolutions at the same time.
         For now ("EURO_STYLE EQU 9"), the EURO SIGN is defined for
         Letter Quality (LQ), 10 cpi (Pica) which seems to be the most
         commonly used setting.
         Alternatively the char sets with EURO SIGN at D5h are available in
         Draft 10..20 cpi under IDs 65393..65398 and in LQ 10..20 cpi under
         IDs 65401..65405, whereby ID 65401 is again LQ 10 cpi (Pica).
         Under ID 65392 you can use the download data for Draft in any mode,
         including all the LQ modes.  In contrast to the above said, this
         allows to have *one* definition that will be printed in *any*
         resolution, however, it looks very ugly in LQ modes, and columns
         are no longer aligned, too.  If you still want this universal
         setting to become the default, please edit this to "EURO_STYE EQU 0".
         This will change the default for Code Pages 857, 858, 8501, 58194,
         58201, 58805, 59035/59359, 59218, 59231, and 59233.  No variants of
         Code Pages 58805, 59035/59359, 59218, 59231, and 59233 with forced
         font sizes are available.  Note, that the EURO SIGN can also be
         used in expanded Draft and LQ modes without further modification.

     [4] Because the corresponding printer supports only the mentioned
         type face (in LQ mode), it is not selectable.

     [5] The manuals for these NEC Pinwriters mention that the "Bold PS"
         type face is supported, but forget to list it in the documentation
         of the control sequences ("ESC_,'k'").  However, it is in fact
         supported.

      -  An EPROM-number instead of just 'yes' indicates that these Code Pages
         are only supported with the corresponding additional EPROM installed
         to the NEC Pinwriter (see table below).
         Unfortunately Code Pages 852, 855, and 866 are not supported by all
         available EPROMs, and Code Pages 855 and 866 differ in their
         selection ID between various EPROMs.
         By default NECPINW.CPI supports the EPROMs #5/#6 "Code Tables"
         ("EPROM_NO EQU 6").  Support for the other EPROMs, however, is
         selectable at compilation time (EPROM_NO).  Note, that not all fonts
         may be supported in these extra Code Pages (see tables below).

      -  A 128 or 256 size instead of just 'yes' indicates that the printer's
         download RAM buffer may hold only 128 or 256 characters in this
         mode of operation.

      -  The IBM CDRA level 2 standard reserves Code Page IDs FF00h..FFFEh
         for user definable "private use" assignments.  Hence I introduced
         a number of pseudo-Code Pages to directly address all code sets
         available with the various NEC Pinwriters.  Just add the NEC char set
         selection IDs in the range 0..14, 16..19, and 20..25 plus 26..31
         (decimal) to the FF00h base resulting in 65280..65311.  This allows
         to use code sets not even assigned to one of the offical Code Page
         IDs, e.g. the "7-bit Japan" char set (8) is available under ID 65288
         (FF08h) or - provided the proper EPROM installed to your printer -
         the "CWI" code set (EPROM #7 "Hungary") can be found under ID 65301
         (FF15h).
         While these must not necessarily reflect actual different code sets,
         65392..65405 selects the EURO SIGN char set (with the symbol at D5h)
         in different resolutions, Code Page assignments 65408..65410 allow
         to select one of the download fonts (default, 1, or 2), 65424..65448
         allow to switch between internal fonts and one of the four external
         cardridge fonts, and 65440, 65446, 65452, 65455, 65456, 65458, 65459,
         65474, 65490, 65491, 65492, or 65493 activate one of the internal
         fonts (e.g. 65459 selects "New Prestige Elite 12 WP" which
         significantly differs in the supported range of characters).
         These are mainly provided for test purposes and not for general use.
         Please note, that these numbers are NECPINW.CPI and printer specific
         and are not supported by other devices or software.  Furthermore,
         by definitionem other software may use these numbers for other
         purposes, so you must not assume to get the same results elsewhere.

      -  For Code Page support fully meeting the official specifications, the
         printer must not be set to the internal font "Prestige Elite 12 WP"
         nor to any other incompatible download or cardridge font (see above),
         since these fonts use a code set with major differences compared to
         IBM-2 (which is Code Page 437 in this respect).
         Speaking of "Prestige Elite 12 WP": While the lower half of the
         code set is identical, this font has many special symbols in the
         upper half, which cannot be found in Code Page 437 nor in any other
         Code Page (some can be found in Epson's ISO-646 country specific
         subset of "US Legal", but at different Code Points).  Code Page
         switching is still functional when using this font, but only
         those Code Points are replaced with the correct shapes, which
         differ between the country specific code set to be set and
         Code Page 437.
         In other words, you can think of the printer 'assuming' the
         font's base plane (the setting assigned to Code Page 437) would
         actually be Code Page 437; so, when switching Code Pages, it has
         to replace only those characters, which differ between these
         Code Pages.  However, for unknown reasons the font's base plane
         is very different from Code Page 437 and any other Code Page.
         (BTW. The P2X manual and a number of other sources explicitly
         mention that "Prestige Elite 12 WP" cannot be used in conjunction
         with Code Pages 850, 860, 863, or 865.)  As a matter of this fact,
         you will get better results in any Code Page other than 437 (since
         more Code Points are matching), but still many shapes differ from
         the Code Page to be set.
         NECPINW.CPI could have been designed to avoid this by switching
         back to a default font (most often "Courier" or "DRAFT Gothic")
         each time a new Code Page is set or refreshed.  The obvious backdraw
         would be, that users usually printing in fonts other than the
         default font would need to re-select their alternative font
         after each and any Code Page switch.  Currently, NECPINW.CPI does
         not change the active font selection whenever possible (exceptions
         are download Code Pages like 8501 and entries which explicitly
         require a font or mode switch).

      -  You should not use NECPINW.CPI with the first three generations of
         NEC Pinwriters (P2/P3 and CP2/CP3, P5 (P530, P560, P565), P5XL
         (P530XL/P535XL, P550XL/P555XL, P560XL/P565XL, P5 Coax), P9XL, P6/P7
         (P660/P760, P665/P765) and CP6/CP7 (CP660/CP760, CP665/CP765)),
         because these printers do not support Code Page switching at all.
         Only download fonts would help to get rid of this restriction,
         but these printers only support 128 chars for DL, imposing other
         problems in programming.  Some of these early printers may still
         support a few of the entries in the user definable range.

      -  The original NEC Pinwriter programmer's manual as well as
         signatures in many printer drivers mention a P42/P52, this
         should read P42Q/P52Q instead.  According to NEC Deutschland GmbH,
         there never actually was a P42/P52.
         Some sources list a P9, but I'm not sure if such a printer actually
         existed; maybe the P9XL was meant instead.
         Presumably some variants of the P5XL (namely the P530XL/P535XL,
         P550XL/P555XL, and P5 Coax) emulate Diabolo 630, NEC 3550, and
         IBM 3287/4214 printers, respectively.  For now I'm assuming that
         they don't actually support the necessary ESC/P control sequences
         needed by NECPINW.CPI to succeed, that's why I didn't mentioned
         them in the comparison table above.
         According to a comparison table found on KMP (Europe) ink ribbons,
         the P5200 (P7plus) may be called NEC 5200 or ASTRA 2252 in some
         countries, while the P5300 (P7plus) may be called NEC 5300 or
         ASTRA 2253, and the P9300 (P90) may be called ASTRA 2293.
         It also mentions a model named P72Q, which most probably should
         be read as P72X.  As far as I know, there was no P72Q printer,
         however, sometimes the combination of P42Q/P52Q was mis-spelled
         as P42/P72 in some original NEC readme files (namely FA4.TXT/FA4.DOC
         for Q&A 4.0).  BTW, these same documents also refer to P200 when
         they mean the P2200, this could be a typo as well, or a hint on
         another alias.
         An ink ribbon comparison table found in a German Conrad electronic
         catalog mentions compatible printers such as P2C (probably CP2???),
         P2000XE (maybe P2200XE???), P220 (maybe P2200XE???), P7 DMP24 (maybe
         a Tandy printer similar to the P7, a least a Tandy DMP 240 24 wire
         dot matrix printer existed???), P7D (maybe a variant of the P7???),
         P20Q (probably P22Q???), P72Q (probably P72X again???), P92 (not P90,
         as this one is also listed there...), PC 8025B, PC 8023B-C (serie
         PC 8000), and PLQ.  However, that table is very contradictory in
         itself, so some of these names may be typos.  Anyway, the existence
         of printers using the same ink ribbon does not necessarily mean,
         the printer would be compatible on the software/firmware side.
         I also saw the CP3 named P3/C on the web.  The P2 and P3 have been
         18 wire dot matrix printers (no info on P5 and P9???), and would
         therefore require different download fonts, anyway.
         GEOS/New Deal Office drivers contain hints that the Philips NMS 1461
         and NMS 1467 24 wire dot matrix printers can be set up in "NEC mode"
         (in contrast to their "Epson" or "IBM" modes), but at present I have
         no idea which NEC model they emulate.

      -  Internal font 16 ("S. Helvetica 10 PT") is named "Helvette" for
         the P5200/P5300 (P6plus/P7plus).

     Available optional EPROMs for various NEC Pinwriter models:
     -----------------------------------------------------------               \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

      No Name       Rev kBit  Selection ID                                          Supported by models         Supported in fonts
      |  |           |   |    20       21      22       23        24     25         |                           |
      #1 Russian     R5  512  Russian  Extruss 866      Baltic    855    --         all Pinwriters with EPROM   Courier, Draft, Bold PS
      #2 East Europe R4  512  852      Balkan  Hungaria Kamenicky Polish Yugoslavia all Pinwriters with EPROM   all resident fonts (except Prestige Elite WP)
      #3 Greek       R4  512  Greek    --      --       --        --     --         all Pinwriters with EPROM   Courier, Draft, Bold PS, Times PS, Helvetica PS
      #4 Turkey      R1  512  Turkey   --      --       --        --     --         all Pinwriters with EPROM   all resident fonts (except Prestige Elite WP)
      #5 Code Tables R3  512  852      866     855      --        --     --         all Pinwriters with EPROM   Courier, Draft, Bold PS, Times PS, Helvetica PS,
                                                                                                                ITC Souvenir, Quick Gothic, LQ S/S, Draft S/S
      #6 Code Tables R3 1024  852      866     855      --        --     --         P62/P72, P42Q/P52Q, P72X??? all resident fonts (except Prestige Elite WP)
      #7 Hungaria    R1  512  852      CWI     --       --        --     --         all Pinwriters with EPROM   all resident fonts (except Prestige Elite WP)
      #8 Polish      R1  512  852      Mazovia Polish_7 --        --     --         all Pinwriters with EPROM   all resident fonts (except Prestige Elite WP)
      #9 ORC-BDR     R2  512  ORC-BDR  --      --       --        --     --         P20/P30, P60/P70, P90,      Courier (P20/P30, P22Q/P32Q, P42Q/P52Q), ITC
                                                                                    P22Q/P32Q, P42Q/P52Q, P72X??? Souvenir (P60/P70, P90, P42Q/P52Q???, P72X???)
     #10 Bank        R1  512  USA_Bank --      --       --        --     --         all Pinwriters with EPROM   all resident fonts (except Prestige Elite WP)

     Notes:                                                                    /////////////////////////////////////////////////////////////////////////////////

      -  Fonts for EPROM #2 ID 24 "Polish" and EPROM #8 ID 22 "Polish_7"
         are identical.  BTW, the fonts differ from Code Page 437 only in
         characters *below* 80h!

      -  Code Page #8 ID 21 "Mazovia" is Code Page 667 under PTS-DOS & S/DOS.
         It is named Code Page 991 in the documentation for Marcin Gryszkalis'
         PLC (a Polish text converter).  Both assignments don't seem to be
         Code Page assignments approved by IBM or Microsoft.

      -  According to NEC's PARAMENU/PINWR_SW utilities EPROM selection IDs
         can be in the range 20..31 (1..12) for all printers with optional
         EPROM support, although only 20..25 have been used so far.

     Requirements for EPROM support on various NEC Pinwriter models:
     ---------------------------------------------------------------           \\\\\\\\\\\\\\

     Printer model           kBit        PCB Revision                   Firmware
     |                       |           |                              |
     P3200/P3300 (P20/P30)   512         all                            since FW17
                                         (until C5 in 1024 kBit socket)
     P6200/P6300 (P60/P70)   512         since B8                       since FW20.04
     P9300 (P90)             512         since A2                       since FW13.01
     P7200/P7300 (P62/P72)   1024/512    cp: all                        cp: all
                                         font: new version 1993         font: FW 12
     P22Q/P32Q               512         all                            all
     P3800/P3900 (P42Q/P52Q) 1024/512    cp: all                        cp: all
                                         font: all                      font: since June 1993
     P1200/P1300 (P2Q/P3Q)   512???      all???                         all???
     P2000 (P2X)             512???      all???                         all???
     P8000 (P72X)            1024/512??? all???                         all???

     Notes:                                                                    //////////////

      -  The NEC Pinwriters P2/P3, CP2/CP3, P5 (P530, P560, P565),
         P5XL (P530XL/P535XL, P550XL/P555XL, P560XL/P565XL, P5 Coax),
         P9XL, P6/P7 (P660/P760, P665/P765), CP6/CP7 (CP660/CP760,
         CP665/CP765), P2200, P2200XE (P2plus), and P5200/P5300
         (P6plus/P7plus) don't provide any EPROM font support.              
                                                                            
  ##########################################################################

     Installation under DOS:
     =======================

     Example:

      -  CONFIG.SYS:

           COUNTRY=49,437,C:\DRDOS\COUNTRY.SYS
           DEVICE | HIDEVICE | DEVICEHIGH=...\PRINTER.SYS PRN=(1050,999,2)

      -  AUTOEXEC.BAT:

           MODE PRN: CODEPAGE PREPARE=((437,850) ...\NECPINW.CPI)
           [HILOAD | LH | LOADHIGH] NLSFUNC C:\DRDOS\COUNTRY.SYS
           CHCP 437

     Notes:

      -  In this example we assume country code 49 (Germany) and
         corresponding Code Pages 437 and 850.  Please change this
         according to your requirements.

      -  We use a dummy hardware Code Page 999 here to force PRINTER.SYS
         to actually send the control sequences from the NECPINW.CPI file
         for *both* Code Pages 437 and 850, rather then using an internally
         fixed control sequence for the hardware Code Page when switching
         to 437.  This sequence would be valid for the Epson FX-850/
         FX-1050 printer (in the case of the "1050" type), but not for
         the NEC Pinwriters.

      -  If your COUNTRY.SYS file (as it is used by NLSFUNC) supports
         Code Page nnnnn for your country (normally 437 and 850 for
         Germany = 49), you are now able to change the Code Page for the
         system and all devices with Code Page support installed by issuing

           CHCP nnnnn

         However, this way you cannot switch to the other Code Pages
         supported by NECPINW.CPI (but not supported by COUNTRY.SYS for
         your country).  To select a random Code Page which is supported
         by your printer and by NECPINW.CPI, you have to use somewhat
         more complex DOS commands instead:

           MODE PRN: CODEPAGE PREPARE=((nnnnn) ...\NECPINW.CPI)
           MODE PRN: CODEPAGE SELECT=nnnnn

         This will replace the 1st slot (which has been assigned to 437
         before) by the new Code Page nnnnn.  If you would like to replace
         the 2nd slot, just add a comma in front of nnnnn in the PREPARE
         command.  Note, that these commands do not change the active
         Code Page for any other devices (e.g. display or other printers)
         or the system.

      -  For additional information on how to install DOS Code Page support,
         please refer to DOS user manuals (HELP, DOSBOOK, etc.) or consult
         my comprehensive NWDOSTIP.TXT document from my tips & tricks
         package MPDOSTIP.ZIP (available in German language only).

      -  For details on DOS Code Page support, Code Page ID references,
         and .CPI file formats, have a look at my DOS .CPI and Linux
         .CP file analyzer and decompiler package CPI???.ZIP, also
         part of FreeDOS.  For details on DOS country support, country
         ID references, and COUNTRY.SYS file formats, have a look at
         my COUNTRY.ZIP/CHCC???.ZIP package.  (The most current previews
         on future versions are available on email request.)

  ##########################################################################P
