Written by                   Carsten Siebholz (c.siebholz AT t-online de>
     T6963 driver by         Andreas 'powARman' Regel (andreas.regel AT gmx de)
     KS0108 driver by        Andreas 'randy' Weinberger (vdr AT smue org)
     SED1520 driver by       Andreas 'randy' Weinberger (vdr AT smue org)
     GU256X64-372 driver by  Andreas 'randy' Weinberger (vdr AT smue org)
     SED1330 driver by       Roland Praml
     GU140X32F driver by     Andreas Brachold

The vdr-logo example is from Jan Grell (jan AT grell-netz de)


Project's homepage:          http://c.siebholz.bei.t-online.de

Latest version available at: http://c.siebholz.bei.t-online.de


See the file COPYING for license information.



Description:
------------
  showpic is a program to show an image on a graphic LC Display.
  At the moment, these controllers are supported:
    Hitachi HD61830
    Toshiba T6963
    Samsung KS0108
    Epson SED1520 (only tested with DIP122 lcd module)
    Epson SED1330
    Noritake GU140X32F-7806
    Noritake GU256X64-372

  Other controllers might be supported in the future...

  The images must be in an own format (*.glcd), which can be created
  with the convpic tool.



Installation and Configuration:
-------------------------------
  1. unpack the tarball


  2. to compile the tool, type
     GRAPHLCD_DRIVER=HD61830 make
     for a HD61830 Display

     or type
     GRAPHLCD_DRIVER=T6963 make
     for a T6963 Display

     or type
     GRAPHLCD_DRIVER=KS0108 make
     for a KS0108 Display

     or type
     GRAPHLCD_DRIVER=DIP122 make
     for a Reichelt EA DIP122 Display (SED1520) with 122x32 pix

     or type
     GRAPHLCD_DRIVER=SED1330 make
     for a SED1330 Display




  The LCD has to be connected to a parallel Port and the wiring must be
  like this:
   (Note: This pin number might differ with other displays)
                         vv
  HD61830
  =======
    printerport   LCD          other
    -----------   ----------   ----------
    GND   (18)    GND   (01)   GND          (Ground)
                  VDD   (02)   +5V          (V Controller)
                  V0    (03)   +5V..-15V    (Contrast)
    INIT  (16)    RS    (04)                (Register Select)
    nLF   (14)    nRW   (05)                (Read/Write)
    nSTRB (01)    EN    (06)                (Enable)
    D0    (02)    D0    (07)                (DataBit0)
    D1    (03)    D1    (08)                (DataBit1)
    D2    (04)    D2    (09)                (DataBit2)
    D3    (05)    D3    (10)                (DataBit3)
    D4    (06)    D4    (11)                (DataBit4)
    D5    (07)    D5    (12)                (DataBit5)
    D6    (08)    D6    (13)                (DataBit6)
    D7    (09)    D7    (14)                (DataBit7)
                  nCS   (15)   GND          (Chip Select)
                  nRES  (16)   +5V          (Reset)
                  VEE   (17)   -12V         (V LCD)
                  nDO   (18)                (not connected)



  T6963
  =====
    printerport   LCD          other
    -----------   ----------   ----------
    GND   (18)    GND   (03)   GND          (Ground)
    nSTRB (01)    WR    (05)                (Write)
    nSEL  (17)    RD    (06)                (Read)
    nLF   (14)    CE    (07)                ()
    INIT  (16)    C/D   (08)                ()
    D0    (02)    D0    (11)                (DataBit0)
    D1    (03)    D1    (12)                (DataBit1)
    D2    (04)    D2    (13)                (DataBit2)
    D3    (05)    D3    (14)                (DataBit3)
    D4    (06)    D4    (15)                (DataBit4)
    D5    (07)    D5    (16)                (DataBit5)
    D6    (08)    D6    (17)                (DataBit6)
    D7    (09)    D7    (18)                (DataBit7)

    Because the T6963 driver reads the status of the display, it *might*
    be neccessary to enable the bidirectional mode in the BIOS and to
    enable bidirectional mode in the Linux kernel:
    <*> Parallel port support
      <*>   PC-style hardware
      [*]   IEEE 1284 transfer modes



    Alternative wiring  (used by some Windows programs):

    printerport   LCD          other
    -----------   ----------   ----------
    GND   (18)    GND   (03)   GND          (Ground)
    INIT  (16)    WR    (05)                (Write)
    nLF   (14)    RD    (06)                (Read)
    nSTRB (01)    CE    (07)                ()
    nSEL  (17)    C/D   (08)                ()
    D0    (02)    D0    (11)                (DataBit0)
    D1    (03)    D1    (12)                (DataBit1)
    D2    (04)    D2    (13)                (DataBit2)
    D3    (05)    D3    (14)                (DataBit3)
    D4    (06)    D4    (15)                (DataBit4)
    D5    (07)    D5    (16)                (DataBit5)
    D6    (08)    D6    (17)                (DataBit6)
    D7    (09)    D7    (18)                (DataBit7)

    If You have this wiring, You must compile with:
      eg: GRAPHLCD_DRIVER=T6963 GRAPHLCD_WIRING=WINDOWS make plugins



    Note: the LCD must operate in the 6x8 Font mode.
      Usually, there is a pin to choose 6x8 or 8x8 Font mode.

      There are Displays that have a pin to select the number of
      characters per line. In that case, You have to select
      (horiz.Size / 6) characters per line.



  KS0108
  ======
    printerport   LCD          other
    -----------   ----------   ----------
    GND   (18)    GND   (01)   GND          (Ground)
                  Vdd   (02)   +5V
                  Vo    (03)                (LCD Contrast In)
    nSEL  (17)    R/S   (04)                (Register Select)
                  R/W   (05)   GND          (Read/Write)
    nSTRB (01)    EN    (06)                (Enable)
    D0    (02)    D0    (07)                (DataBit0)
    D1    (03)    D1    (08)                (DataBit1)
    D2    (04)    D2    (09)                (DataBit2)
    D3    (05)    D3    (10)                (DataBit3)
    D4    (06)    D4    (11)                (DataBit4)
    D5    (07)    D5    (12)                (DataBit5)
    D6    (08)    D6    (13)                (DataBit6)
    D7    (09)    D7    (14)                (DataBit7)
    nLF   (14)    CS1   (15)                (ChipSelect Controller 1)
    INIT  (16)    CE2   (16)                (ChipSelect Controller 2)
                  RESET (17)   +5V          (Controller Reset)
                  Vout  (18)                (Contrast Out)
                  LED+  (19)   +4V          (Backlight)
                  LED-  (20)   GND          (Backlight GND)



  SED1520/DIP122
  ==============
    printerport   LCD          other
    -----------   ----------   ----------
    GND   (18)    GND   (01)   GND          (Ground)
                  Vdd   (02)   +5V
                  Vo    (03)                (LCD Contrast In -4V)
    nSEL  (17)    R/S   (04)                (Register Select)
                  R/W   (05)   GND          (Read/Write)
    nSTRB (01)    EN1   (06)                (Enable Left)
    D0    (02)    D0    (07)                (DataBit0)
    D1    (03)    D1    (08)                (DataBit1)
    D2    (04)    D2    (09)                (DataBit2)
    D3    (05)    D3    (10)                (DataBit3)
    D4    (06)    D4    (11)                (DataBit4)
    D5    (07)    D5    (12)                (DataBit5)
    D6    (08)    D6    (13)                (DataBit6)
    D7    (09)    D7    (14)                (DataBit7)
    INIT  (16)    EN2   (15)                (Enable Right)
                  RESET (16)   +5V          (Controller Reset)
                  LED+  (17)   +4V/150mA    (Backlight with 6,4Ohm Resistor to +5V)
    (nLF) (14)    LED-  (18)   GND          (Backlight GND [via BS170])



  SED1330
  =======
    printerport   LCD          other
    -----------   ----------   ----------
    GND   (18)    GND   (01)   GND          (Ground)
                  VDD   (02)   +5V          (V Controller)
                  V0    (03)   +5V..-22V    (Contrast)
    INIT  (16)    RS    (04)                (Register Select)
    nLF   (14)    nRW   (05)                (Read/Write)
    nSTRB (01)    EN    (06)                (Enable)
    D0    (02)    D0    (07)                (DataBit0)
    D1    (03)    D1    (08)                (DataBit1)
    D2    (04)    D2    (09)                (DataBit2)
    D3    (05)    D3    (10)                (DataBit3)
    D4    (06)    D4    (11)                (DataBit4)
    D5    (07)    D5    (12)                (DataBit5)
    D6    (08)    D6    (13)                (DataBit6)
    D7    (09)    D7    (14)                (DataBit7)
                  nCS   (15)   GND          (Chip Select)
                  nRES  (16)   +5V          (Reset)
                  VEE   (17)   -22V         (V LCD)
                  nDO   (18)                (not connected)


  GU140X32F
  =========
    printerport   LCD          other
    -----------   ----------   ----------
    GND   (18)    GND   (01)   GND          (Ground)
                  VDD   (02)   +5V          (V Controller ! 350mA)
                  NC    (03)                (not connected)
    STRB  (1)     RS    (04)                (Register Select)
    LF    (14)    RW    (05)                (Read/Write)
    INIT  (16)    EN    (06)                (Enable)
    D0    (02)    D0    (07)                (DataBit0)
    D1    (03)    D1    (08)                (DataBit1)
    D2    (04)    D2    (09)                (DataBit2)
    D3    (05)    D3    (10)                (DataBit3)
    D4    (06)    D4    (11)                (DataBit4)
    D5    (07)    D5    (12)                (DataBit5)
    D6    (08)    D6    (13)                (DataBit6)
    D7    (09)    D7    (14)                (DataBit7)

  GU256X64-372
  ============
 *
     printerport        LCD          other
    -----------        ----------   ----------
     D0    (2)          DB0 (15)                        (DataBit 0)
     D1    (3)          DB1 (13)                        (DataBit 1)
     D2    (4)          DB2 (11)                        (DataBit 2)
     D3    (5)          DB3 (09)                        (DataBit 3)
     D4    (6)          DB4 (07)                        (DataBit 4)
     D5    (7)          DB5 (05)                        (DataBit 5)
     D6    (8)          DB6 (03)                        (DataBit 6)
     D7    (9)          DB7 (01)                        (DataBit 7)
     INIT  (16)         nWR (17)                        (Write)
     nSEL  (17)         R/S (19)                        (Register Select, C/D)
     GND   (18)         nRD (21)                        (Read)
     GND   (18)         CSS (23)                        (ChipSelect)
     GND   (18)         GND (02)                        (Ground)



  The program has been tested with a 240x128 pixel LCD connected to LPT1
  (port 0x378). If the size of Your LCD differs or if You want to connect
  the LCD to another LPT port, then You have to specify these values with
  command line parameters.
  (eg: showpic -p 0x278 -x 256 -y 128 ...' for LPT2 and a 256x128 LCD)




Using showpic:
--------------
  Usage: showpic [-p port] [-x sizex] [-y sizey] [-s sleep] [-uie] file [more files]

  -p  --port        sets the port address (default: 0x378)
  -d  --device      sets the parport device
  -x  --sizex       sets the x-resolution (default: 240)
  -y  --sizey       sets the y-resolution (default: 128)
  -u  --upside_down rotates the output by 180 degrees (default: no)
  -i  --invert      inverts the output    (default: no)
  -w  --wiring      wiring (T6963) (0 - standard, 1 - windows, 2 - feegy, default: 0)
  -f  --fontsize    font size (T6963) (0 - 6x8, 1 - 8x8, default: 0)
  -a  --automode    use auto mode (T6963) (default: no)
  -e  --endless     show all images in endless loop   (default: no)
  -s  --sleep       set sleeptime between two images [ms]   (default: 100 ms)
  -b  --brightness  set brightness for display if driver support it [%] (default: 100 %)

  example: showpic -p 0x378 -x 160 -y 128 -u -i vdr-logo.glcd




Known Problems:
---------------
  none that I know of...
