Wiring modules
==============

Pin1    o       o   VPP
Pin23   o       o   VCC
Pin22   o       o   A15
Pin20   o       o   A13
Pin26   o       o   A11
        o       o   OE
        o       o   CE
MID0    o       o   GND
MID1    o       x   key
MID2    o       o   MID3


module      families
1           2532, 2716
2           2732
3           2764, 27128, 27256
4           27512, 2864, 28256



Known device types
==================

device      family      Vpp         Method
2716        2716        25V         STANDARD
2716A       2716        21V         STANDARD
2716B       2716        12V         FAST
2732        2732        25V         STANDARD
2732A       2732        21V         STANDARD
2732B       2732        12V         FAST
2764        2764        21V         STANDARD
2764A       2764        12V         FAST
27C64       2764        12V         FAST
27128       27128       21V         STANDARD
27128A      27128       12V         FAST
27C128      27128       12V         QUICK
27256       27256       12V         FAST
27256A      27256       12V         QUICK
27C256      27256       12V         QUICK
27512       27512       12V         FAST
27512A      27512       12V         QUICK
27C512      27512       12V         QUICK
28C64       2864        12V         EEPROM
28C256      28256       12V         EEPROM



Programming methods
===================

STANDARD
    - apply 50ms programming pulse
    - read back written byte for verifying

FAST
    - apply 1ms pulses (n, but maximum 25) until byte verifies OK
    - apply a 3n ms finalizing pulse
    - read back written byte for verifying

QUICK
    - apply 100us pulses (maximum 25) until byte verifies OK
    - read back written byte for verifying

EEPROM
    - apply a 100us starting pulse
    - wait 10ms for self-timing write to finish
    - read back written byte for verifying

EEFAST
    - apply a 100us starting pulse
    - wait for byte verifyes OK (maximum 10ms)
    - read back written byte for verifying



Commands
========

SHOW
    shows actual parameters

PROG [n]
    only in test mode
    turns on programming phase n or steps over all programming phases

:<intel hex line>
    must check if correct module installed
    writes or verifies bytes defined in hex line

ADDR [n|+]
    only in test mode
    sets device address to n or increments address by one

VPP <12V|21V|25V|ON|OFF>
    sets Vpp value
    only in test mode: turn Vpp on/off

TEST [ON|OFF]
    turns test mode on or off

DEVICE <family>
    sets up device family

METHOD <method>
    sets up programming method

POWER [ON|OFF]
    only in test mode
    turns device power on or off

READ [n][,m]
    must check if correct module installed
    reads bytes from device starting at address n to address m

CHECK
    must check if correct module installed
    checks if device is empty (all bytes are FF)

WRITE
    turns write mode on

VERIFY
    turns verify mode on

ERASE
    must check if correct module installed
    erases device if it is electronically erasable

LIST
    lists known device types

SELECT <device>
    selects a particular device from the list of known types

HELP
    lists known commands

OFFSET [n]
    sets addressing offset

CHKSUM [n][,m]
    must check if correct module installed
    calculate checksum from device starting at address n to address m

