0.12:
   Applied jb8 patches from Anders Nystrom <andesr@southpole.se>

0.11:
   Mostly fixing the Makefile so it can be built by
   people other than me.

0.10:
   All:
   Modify license to eliminate the "any later version clause"
   If a later version comes out, and I want to use it,
   I'll change the license then.

   ops_gp32.c:
   Added programming time info to output.

0.9:
    cli.g:
    lots of extra parens removed.
    added serial read int command - not tested

    mongp32.c:
    increased reset dtr_off time to 200 ms

    ops_gp32.c:
    fixed calculation of security bytes location to scodes_push().

    Makefile:
    version 0.9

0.8:
   cli.g:
   added "serial speed" command

   args.c:
   added -b, --baud option

   ops.c:
   free cpu_data on close

   Makefile:
   rev to 0.8
   pass LIBDIR through -D in CFLAGS

   main.c:
   toggle all debug flags with SIGUSR2
   baudrate set in serial_open, don;t call it here.

   serial.c:
   set baudrate from global value
   rename "baudrate to rate in serial_setspeed() and
   serial_set_termios_baud() so I don;t get confused

   opsgp32.c:
   Add struct hc908 to hold memory ranges.
   Init cpu_data as struct hc908 in gp32_init() aand ab32_init()
   use values from cpu_data in programming code
   allow -1 in reset_ for blank chip
   add a single retry on data load error


   tkspgmr.tcl:
   added serial port setting to cpu select
   added globals port and selectedPort
   reset debug flags on server stop
   added server stop and start to sever dropdown on main
   moved debug server to server dropdown
   cmdline in debug dialog exec's a tcl command with output to x_text
   added cpu and port displays on main dialog

0.7:
   tkspgmr.tcl:
   added do_erase, do_reset, do_verify and do_program procedures.
   Replaced top17's menu with amenu bar to get better control of item
   placement and better editing in vtcl

   Server overall:  Changed the interface to abstract the cpu.

   seccodes.c:
   Major rewrite

   ops.c:
   Added this to provide an abstact layer to the cpu operations

   Oh, heck! too man to list see the logs in the sources - need to attach
   this to cvs commit

0.6
   args.c:
   added --signal signum to command line, will signal parent in xprint,
   Really for debugging garbage in the pipes.

   cli.g:
   Added debug all (on|off) - sets all debug flags
   interrupt done flag is now static volatile sig_atomic_t
   added catchall token ("~[\ \n;\+:]*") at end of token defs
   add SA_RESTART to sigint flags
   playing with a do_scope function that does the fork/exec thing
   Don't ry to reselt the input line when not interactive
   Started adding a wcodes int int int int int int int int command (not
   finished)
   Added debug all on/off
   "do shell" calls the fork/exec thing now

   tkspgmr.tcl:
   Main and data dialogs now resize better
   Added r_timeout, a reload after the first string from the server.
   Close unused pipe files, open in spgmr:start, not in main.

   ops_gp32.c:
   interrupt done flag is now static volatile sig_atomic_t
   handles interupt properly now (it seems that done was acting as a
   global, even though I did not declare it extern anywhere.  hmmm... )
   cleaned up error handling in program_flash_gp32.  Now returns at the
   end (file open error still return immediately).
   error message: "you need to define all your vectors\n"
   started reset_gp32() manage scodes and a reset.

   lin_serial.c:
   changed VTIME to 200 ms

   main.c:
   added sigusr2 handler to enable all debug outputs
   added sigchld handler to pick up a dying scope program
   removed SA_RESETHAND	flag for sigusr2

   mongp32.c:
   changed reset dtr times to 100 ms, seems ok.

   spgmr.h:
   added int signum from command line --signal
   added void set_scodes(char *codes, int which); in utils

   utils.c:
   back to using vdprintf( STDOUT_FILENO... for xprint trying to find pipe
   errors talking to tkspgmr. seems ok now.

   seccodes.c:
   added set_scodes to store data from verify/program buffer to sec_codes
   array

   tkspgmr.tcl:
   renamed all the spgmr procs to spgmr:something.
   added r_timeout, reloads s_timeout after some data is received. This
   way you only need to gues hoolong the operation takes before it returns
   data. not how long the transfer ill take, too.
   added enter_cmd to process commands in entry widgets for the server
   file reading now uses a fileevent loop. Much beeter, ahhhh!
   added an spgmr_busy global, set after the start and until the
   completion of a server command
   added spgm_active global. sert when the server is running.
   added an abort button to the main window
   relaid out the data control wigets to let the output arear resize
   better.
   close unused files in parent and child (after fork) when starting
   server.
   moved pipe creation to spgmr:start. reloading in vtcl was leaving lots
   of open files around.
   redid the dlg_debug debug buttons.  They're now really radiobuttons.
   Added I'm sure radio buttons next to erase reset and program button in
   main window

   Makefile:
   Removed -Wambiguity flag to dlg
   build 0.6

   CHANGES:
   added to cvs

0.5
   Oops - fogot to update
   
0.4
   Started this changes file
   Write from filename works.  Be sure file is less than 256 bytes
   Added mon_runpc().
   Run command works.  run <address>
   Changed syntax of scodes.  need `scodes from filename' to read a
   file.
   Decided an asl assembler.  Added make rules for .s -> .s19
   Fixed missing '&' on scope command.
   Added source filename command.  This reads a file of spgmr commands and
   processes it.  Nesting is allowed, but line numbers on errors will be
   wrong.
   Added command `read stack'
   Added commands send sende1 and sende2 for debugging
   File erase_gp32.s added -bulk erases a chip
   File program_gp32.s added - loads row buffer and programs it
   File ops_gp32.c added with erase and program functions
   Added mon_write_file(char *) in mongp32.c, moved write from file
   functionality there.
   Added `program' command
   Added trim functions to utils.c.  Trim whitespace from filenames.
   Added `verify from filename' command

