





             WORDSTAR 4.0 -- THE DRIVER FOR THE EPSON LQ-2500 PRINTER

    The following listings are a breakout of the pointer table and
    printer functions code of the EPSON LQ2500 driver in WS4, Rel. 027.
    See also Chuck Christenson's work in DRIVER.DOC, on the CompuServe
    MICROPRO Forum, DL3, (at this writing).

    I have not been able to figure out what the incompleted table items do.
    However, those pointers containing 00,00 are simply not used.

                               Compiled by:
                        -Jim Gainsley 76703,1007-
                                 4/21/88

  ============================================================================
                    Pointer   Address where
  Table   Offset    As Shown   code resides
  Addr   Dec  Hex   (LSB,MSB)   (MSB/LSB)      Printer function controlled:
  ----------------------------------------------------------------------------
  1CBC    00  (00)   00,00        0000    DRIVER NAME   4C,51,32,35,30,30
                                 (Not included with table below for clarity.)
  1CC2    06  (06)   00,00
  1CC4    08  (08)   00,01        ?

  1CCD    11  (0B)   1E,22        221E    Beginning of a table not labeled.
  1CCF    13  (0D)   14,1F        1F14    $START
  1CD1    15  (0F)   3E,1F        1F3E    $DONE
  1CD3    17  (11)   2E,1F        1F2E    $QUIT

  1CCF    19  (13)   01,7F,00,00,00,B4,00,FF,FF   I haven't the foggiest...

  1CD9    28  (1C)   01,20        2001    SET N/180THS LINE SPACING
          30  (1E)   00,00
          32  (20)   00,00
          34  (22)   00,00
  1CE0    36  (24)   00,00
  1CE2    38  (26)   1F,00        ?
  1CE4    40  (28)   00,00        0000    IF INSTALLED WOULD POINT TO CHAR
  1CE6    42  (2A)   00,00                XLATION TABLE. NOT USED FOR LQ2500.
  1CE8    44  (2C)   00,00
  1CEA    46  (2E)   00,00
  1CEC    48  (30)   E9,1F        1FE9    $PF
  1CEE    50  (32)   F5,1F        1FF5    $PG
  1CF0    52  (34)   00,00
  1CF2    54  (36)   FF,FF        ?
  1CF4    56  (38)   02,05        ?
  1CF6    58  (3A)   05,20        2005    BACKSPACE
  1CF8    60  (3C)   02,7F        ?
  1CFA    62  (3F)   00,D7        ?
  1CFC    64  (41)   1F,00        ?
  1CFE    66  (43)   00,00
  1D00    68  (46)   00,01        ?
  1D02    70  (48)   00,00
  1D04    72  (4A)   78,00        ?
  1D06    74  (4C)   00,01        ?
  1D08    76  (4E)   CF,1F        1FCF    UNDERLINE ON
  1D0A    78  (50)   D3,1F        1FD3    UNDERLINE OFF




                    Pointer   Address where
  Table   Offset    As Shown   code resides
  Addr   Dec  Hex   (LSB,MSB)   (MSB/LSB)      Printer function controlled:

  ----------------------------------------------------------------------------
  1D0C    80  (52)   00,00
  1D0E    82  (54)   00,00
  1D10    84  (56)   E3,1F        1FE3    DBL STRIKE ON
  1D12    86  (58)   E6,1F        1FE6    DBL STRIKE OFF
  1D14    88  (5A)   DD,1F        1FDD    EMPHASIZED ON
  1D16    90  (5C)   E0,1F        1FE0    EMPHASIZED OFF
  1D18    92  (5E)   C9,1F        1FC9    ITALIC ON
  1D1A    94  (60)   CC,1F        1FCC    ITALIC OFF
  1D1C    96  (62)   07,20        2007    SUPERSCRIPT ON
  1D1E    98  (64)   0F,20        200F    SUB/SUPER OFF
  1D20    100 (66)   0B,20        200B    SUBSCRIPT ON
  1D22    102 (68)   0F,20        200F    SUB/SUPER OFF
  1D24    104 (6A)   12,20        2012    LQ ON
  1D26    106 (6C)   16,20        2016    LQ OFF
  1D28    108 (6E)   00,00
  1D2A    110 (70)   1A,20        201A    PROP SP OFF
  1D2C    112 (72)   00,00
  1D2E    114 (74)   00,00
  1D30    116 (76)   1E,20        201E    COMPOS TABLE (Not included below.)
  1D32    118 (78)   5A,1E        ?
  1D34    120 (7A)   98,1E        ?
  1D36    122 (7B)   D6,1E        ?
  1D38    124 (7C)   3A,1D        1D3A    Another pointer to 1F4E
  1D3A    126 (7E)   4E,1F        1F4E    COMP. ELITE. (SEE CW/PS TABLE BELOW.)

  END OF POINTER TABLE


      The following section is the addresses pointed to above, the functions
      and the printer code that will execute. All available bytes are shown.
      To change anything, just use WSCHANGE and enter your code at the
      addresses shown.

  Addrs.
  -------
  1F14    $START  10,1B,40,1B,4F,1B,70,00,1B,78,00,1B,74,01,1B,36,0D,
                  00,00,00,00,00,00,00,00,00

  1F2E    $QUIT   07,1B,70,00,1B,40,0D,0C,00,00,00,00,00,00,00,00

  1F3E    $DONE   06,1B,70,00,1B,40,0D,00,00,00,00,00,00,00,00,00

     The following are strings that are called when the various
     combinations of .CW, .PS, and .LQ commands are in effect.  See
     the README file accompanying WS4, rel. 027 for the LQ2500

  Addrs     .LQ  .LQ  .PS
  Cont'd    OFF   ON   ON      FONT NAME                 CODE
  -----------------------------------------------------------------------------
  1F4E  .CW  6    6    --     COMP. ELITE PREST   09,1B,4D,0F,1B,57,00,1B,6B,03
  1F58       7    7   5(0-7)  COMP. COURIER       09,1B,50,0F,1B,57,00,1B,6B,02
  1F62       8    8    --     15 PITCH COURIER    09,1B,67,12,1B,57,00,1B,6B,02
  1F6C      10    10   --     ELITE PRESTIGE      09,1B,4D,12,1B,57,00,1B,6B,03
  1F76      12    12  10(8-16) COURIER            09,1B,50,12,1B,57,00,1B,6B,02
  1F80      14    --   --     EXP/COMP COURIER    09,1B,50,0F,1B,57,01,1B,6B,02
  1F8A      16    16   --     EXP/15P  COURIER    09,1B,67,12,1B,57,01,1B,6B,02
  1F94      20    20   --     EXP/ELITE PREST     09,1B,4D,12,1B,57,01,1B,6B,03
  1F9E      24    24  20(18-30) EXP COURIER       09,1B,50,12,1B,57,01,1B,6B,02



  Addrs      FUNCTION                   CODE
  --------------------------------------------------------------------------


  1FA8    .PS ON COMP. ROMAN      0A,1B,70,01,0F,1B,57,00,1B,6B,00
  1F63    .PS ON       ROMAN      0A,1B,70,01,12,1B,57,00,1B,6B,00
  1FBE    .PS ON EXP.  ROMAN      0A,1B,70,01,12,1B,57,01,1B,6B,00

  1FC9    ITALIC ON (^PY)         02,1B,34
  1FCC    ITALIC OFF(^PY)         02,1B,35
  1FCF    UNDRLN ON (^PS)         03,1B,2D,01
  1FD3    UNDRLN OFF(^PS)         03,1B,2D,00,
  1FD7    INTERCHR SPACE (0=DEF)  03,1B,20,00,00,00
  1FDD    EMPHASIZED ON           02,1B,45
  1FE0    EMPHASIZED OFF          02,1B,46
  1FE3    DBL STRIKE ON (^PD)     02,1B,47
  1FE6    DBL STRIKE OFF(^PD)     02,1B,48
  1FE9*   $PF PHANT SP(PARA SIGN) 03,50,08,49,00,00,00,00,00,00,00,00
  1FF5**  $PG PHANT RUB(SEC SIGN) 07,1B,52,02,40,1B,52,00,00,00,00,00
  2001    SET n/180 LINE SP       03,1B,33,00
  2005    BACKSPACE               01,08
  2007    SUPERSCRIPT ON (^PT)    03,1B,53,00
  200B    SUBSCRIPT ON (^PV)      03,1B,53,01
  200F    SUB/SUPER OFF (^PV/T)   02,1B,54
  2012    LQ ON (.LQ1)            03,1B,78,01
  2016    LQ OFF (.LQ0)           03,1B,78,00
  201A    PROP SP OFF (.PS0)      03,1B,70,00

  *  I Show this as I patched it to provide a simulated Paragraph sign (P/I).
  ** I Show this as I patched it to provide the section sign (21h).




































