
Changes in uisp-20010701:
 - fix compile with g++ 3.0
 - fix Programming Enable error message after 32 retries
 - add yet another parallel port interface (FBPRG/AVR3)
 - more about --download of=file in uisp --help

Changes in uisp-20010616:
 - hopefully fix serial support (can't test), broken by my 20010211 -dpart
   changes, in code common to both serial and parallel modes that use
   different AVR device names :(
 - CHANGES -> CHANGES.old, README -> CHANGES, TODO
 - document FBPRG interface (not yet supported), and possible new design
   using tables to make adding these new cables easier, in DAPA.C comments

Changes in uisp-20010501:
 - direct serial support: -dlpt=/dev/ttyS0 -dprog=dasa (or dasa2, see help)
   warning: completely untested, might or migt not work
 - incompatible change: programmer type (for all these dummy parallel and
   serial programmers) is specified with -dprog=... (-dstk200 etc. is gone)
 - more portability changes (please test especially on non-x86 Linux and
   FreeBSD, and send me patches if I broke something...)
 - fix AT90S2323 signature byte (0x02 not 0x04)
 - increase SCK delay (4us to 5us) for devices with slow RC oscillators
 - don't skip 0xFF for page write
 - fix a few typos
 - remove OLD_DELAY_LOOP
 - longer timeout for -datmel (500ms -> 1s)

Changes in uisp-20010211:
 - now available from http://www.amelek.gda.pl/avr/uisp/ and
   officially maintained by me (many thanks to Uros for all previous work)
 - device type can be specified if auto-detection fails, necessary for
   AT90S1200 and other parts with erased signature bytes: -dpart=at90s1200
 - assume -dno-retry -dno-poll for AT90S1200 (data polling should work
   according to the datasheet, but bug reports indicate it doesn't, and
   1K of program memory doesn't take that long to write anyway...)
 - support for yet another AVR ISP parallel port cable (not tested),
   based on information from http://www.bsdhome.com/avrprog/
 - FreeBSD support (not tested, uncomment -DHAVE_PPI in the Makefile
   and tell me if it works, or send me a patch if it doesn't :)

Changes in uisp-20001216:
 - ATmega163 now supported, and tested (many thanks to Odd Jostein Svendsli
   of Atmel Norway for help - sending me two samples of these new chips)
 - reading Flash and EEPROM contents to a srec file (--download of=file)
 - read/write fuse bits and boot lock bits, read calibration byte (use
   --segment=fuse, address 0 = fuse low, 1 = fuse high, 2 = calibration,
   3 = lock bits: 1 1 BLB12 BLB11 BLB02 BLB01 LB2 LB1)
 - data polling with page write, if supported by device
 - added timer{add,sub,cmp} macros for systems that don't have them
 - security fix, drop privileges before opening the serial device too
   (warning: installation setuid root still not recommended, these are
   just random fixes, and not a complete review for security holes;
   using ppdev instead of direct I/O is highly recommended)

Changes in uisp-20001125:
 - fix a bug where erasing a locked device (not possible to identify)
   might fail, now always wait 200 ms for chip erase
 - add support for "Atmel AVR ISP" parallel port cable
 - various cleanups (duplicated code to report statistics, etc.)

Changes in uisp-20001118:
 - make it possible to compile without direct I/O port access for non-PC
   architectures, but still allow parallel port access via /dev/parportX
   (Linux ppdev driver)
 - include the latest ppdev driver (kernel patch) for Linux 2.2.17
 - security: drop privileges before opening /dev/parportX (only matters
   if accidentally installed setuid root - still not recommended!)
 - data polling statistics reworked: min/avg/max ms/byte (so you can
   compare them with datasheet specs - maybe it helps in detecting chips
   that were programmed too many times)
 - fix a longstanding bug in data polling that caused random programming
   failures (could be worked around by specifying longer t_wd_flash -
   no, that really wasn't the chips failing :)
 - update write timing specs from the current datasheets (flash 8ms -> 4ms
   for most chips, programs a bit faster - now that the above bug is gone)
 - add more device codes for "Atmel low cost" (serial port) programmer
   (still looking for updated avr910.asm - it must exist somewhere, as
   avrprog.exe from AVR Studio claims to support all devices...)
 - started work on fuse bits (not finished yet), will be needed for
   ATmega163 (internal RC oscillator enabled by default)

Changes in uisp-20001014:
 - fix some stupid bugs (SCK delay, writing lock bits)
 - avoid "invalid parameter" errors for -dt_wd_flash etc. if device locked
 - updated help and version information

Changes in uisp-20000930:
 - compiles with g++ 2.95.2 (tested on Debian 2.2), does not depend on
   kernel header files for parallel port bit definitions
 - as in PonyProg, support for the "ppdev" Linux driver (included in
   pre-2.4.0 kernels, available separately for 2.2.x - please bug Alan
   to add it to 2.2.18 :), as well as the old direct I/O port access
   (works with any kernel, but requires root privileges)
 - more reliable delays on very fast machines, using gettimeofday()
   (programming may be very slow on <=486 but should work otherwise)
 - support for more new devices, such as ATmega161 (not tested)
 - support for programming lock bits with --lock option (currently
   only both at the same time, and no ATmega161 BLBxx bits yet)
 - when not programming, try to disable (PS/2) parallel port data outputs -
   this may allow cheap cables (no 74HC244 inside) to work if the ISP pins
   are also used for other things (not tested)
 - removed endian_bug backwards compatibility, various other cleanups

