PP Version 0.4
==============

This archive contains a replacement for the PP.C/PP.EXE files supplied 
with the PIC84PGM.ZIP PIC16C84 programmer.  For reference please download 
the latest version of PIC84PGM.ZIP from here:

http://www.man.ac.uk/~mbhstdj/files/pic84pgm.zip
(or ftp://ftp.mcc.ac.uk/pub/micro-controllers/PIC/pic84pgm.zip).

PP V-0.4 has several improvements over PP V-0.3 including:

    o  Support for MPASM __CONFIG, __IDLOCS and DE.
       This means that in most cases all you need to do to
       program the entire PIC is run "pp program.hex" where
       program.hex is your code in Microchip hex format.

    o  Automatically identifies hex format (INHX8M or INHX16).
       The -8 switch is now ignored.

    o  Erase on demand (-e).

    o  Dumps PIC contents (-d).

    o  Verify-only mode (-v). (To verify code-protected PICs you must
       dump the contents of a known working protected PIC and verify
       against that.)

    o  Command line config overrides file config:
       use switches from the set {lxhr} to select LP, XT, HS or RC
       oscillator; and from the set {cpw} to enable code protection,
       power up timer or watchdog.

    o  Intelligent programming algorithm (only programs
       locations that need to be programmed; use -e to force
       all locations to be programmed).

    o  Hardware debugging mode (toggles each LPT pin in turn).

    o  Multiple hardware support.  Now supports all PIC84PGM variants
       without re-compilation.

    o  Loads Parallax hex files (use /S switch with SPASM).

For example to program the PIC with power-up timer and XT oscillator
you can use:

    pp -px! program.hex

(the ! switch means programming happens immediately rather than waiting
for a key press).

Program behaviour can be changed using the following environment 
variables:

    PPLPT=nn    Set LPT port to nn (default 1); -2 and -3 are now ignored.
    PPDEBUG=nn  Enable debugging if nn=1 (default nn=0).
    PPDUMP=nn   Dump in INHX16 if nn=16 (default INHX8M).
    PPDELAY=nn  Add nn*0.83 microseconds delay between LPT port
                accesses (useful on fast PCs).  Range nn=0 to nn=127
                (default 6).
    PPSETUP=nn  Select hardware setup:
                nn=0 selects 7406/4066 switches (default).
                nn=1    "    7407/4066 switches.
                nn=2    "    7406/PNP transistor switches.
                nn=3    "    7407/PNP transistor switches.

No environment vaiables _need_ to be set for the original hardware 
described in PIC84PGM.ZIP.  To use the programmer design shown in
PP.PCX (which is probably the most popular variant as most people
have an aversion to 4066 switches) add this to AUTOEXEC.BAT (or
simply type it before you run PP):

   set ppsetup=3

The file FIRST.TXT describes a simple circuit you can use as the
basis of your first PIC project.  Good luck.  Please let me know how 
you get on.

David Tait (david.tait@man.ac.uk)
10th September 1996











