gpsim - Gnu Pic Simulator, a simulator for Microchip's PIC microcontrollers.

T. Scott Dattalo

gpsim-0.21.0
	* Starting with 0.21.0, Changelog will be properly formatted
	* Added 16f627,16f628 processors
	* log command has been added (Command Line)
	* Profiling has been added (gui)
	* Trace viewer has been added
	* Source level debugging of C files
	* Added 16c55,16c62,16c63,16c72,16c73 processors
	* Added 18c442,18c452 processor
	* Added module attibutes (attribute.cc) 
	* breadboard updates when either a tris or port is changed in the register viewer
	* Enhanced module interface - now LCD module works with gpsim
	* Patch from Rudy Moore to fix TMR0 bug
	* Beautified the Single Step and Trace dump outputs
	* Added break on stack overflow and underflow
	* Added break mask to wv/rv type break points. Now you can specify
	  which bits are significant.
	* Added "abort_gpsim_now" command. This will unconditionally abort gpsim.
	* Added "--cli" command line option. Invokes gpsim in command line 
	  mode even if it has been configured to use the gui.
	* Program viewer can now display ASCII encode text in "dt" tables
	* Symbolic setting of execution breaks was not working.
	* C++ bugs fixed
	* Fixed WDT during SLEEP bug reported by Tor Fredrik Aas mailto:tfa@abn.hibu.no
	* USART baud rates were generated incorrectly and have been fixed.
	* TXIF was handled improperly (reported by Wojciech Zabolotny <wzab@ise.pw.edu.pl>)
	* TMR1 was incrementing even when disabled (Reported by Wojciech)
	* Patch from JG for Suse 7.1. 
	* Patch from Robert Pearce to add 16C55
	* Sleep now works for 12c5xx.
	* Config word now works for 12c5xx
	* GPIO can wake a sleeping 12c5xx
	* Added pullup/pulldown resistors to the gpsim modules (idea from SET)
	* Numerous patches from from (SET) Salvador mailto:salvador@inti.gov.ar
	* SET - added "frequency" command
	* SET - Added time field to the gui status bar.
	* Carlos Nieves nega - Massive patch for the 17cxx core
	* Carlos Nieves nega - Registers for 17cxx core
	* From Salvador Eduardo Tropea mailto:salvador@inti.gov.ar
	  * Modified: In gpsim/main.cc put a cast in poptGetContext call, but perhaps
	    is a fault in the version I use of popt, double check it.
	  * Added: gtk_window_set_wmclass calls to help Enlightenment to remmember the
	   positions of the windows.     
	  * Added: In gui/gui_main.c a couple of #undef to avoid redefinitions in
	    eXdbm.h. Also check if that's OK for the eXdbm you are using.
	  * Modified: Moved the INTCON register from _14bit_18pins class to child
	    classes. That's because I needed to inherit from it and P16X6X_processor
	    and both defines INTCON. I also think things are more clear in this way.
	  * Fixed: A bug in the A/D routines. If you started a conversion at the same
	    time you were enabling the A/D this conversion was aborted. To fix it I
	    transfered new_value to value before calling start_conversion().
	  * Added: Partial support for 16C712 and 16C716 CPUs, they inherit from 14bits
	    18pins processors because they have 18 pins and also from 16x6x because
	    they have TMR1, TMR2 and Capture/Compare facilities like in 16C63. I could
	    check it deeply, just the A/D part. I also didn't implement the DATACCP and
	    TRISCCP registers, I don't know how they work, but I think they control the
	    use of some I/O pins (normal or CCP function).

	
28JUL00 gpsim-0.20.0
  o Modules - gpsim now supports dynamically loaded modules
    -- module command
  o gui - upgraded to latest versions of gtk & gtkextra
  o gui - Menu items now work
  o gui - button bar
  o gui - now refreshes while simulating
  o gui - Stack Window has been added
  o BSD is now supported
  o numerous bug fixes

05APR00 gpsim-0.19.0
 o Daniel Schudel joins gpsim development.
   -- Added support for the 16x5x family
 o Added 16f87x family
 o gui - Added Program Memory sheet
    --  Added support for program memory writes
 o gui - Added Breadboard window (graphical pinout)
 o Asynchronous mode of the usart fixed.
 o A/D converter enhanced
 o Analog Stimuli revisited.
 o Scripting was fixed.
 o cli - Once again, gpsim can be built without the gui.

03FEB00 gpsim-0.18.0
 o cli - added 'processor pins' command to display
         the state of a pic's I/O pins
 o cli - added 'set' command for modifying gpsim behavior
         flags. set options supported:
         -- verbose - if set, diagnostic info will be displayed
         -- radix - not supported yet
         -- gui_update - controls the rate at which the gui is refreshed
 o cli - added 's' option to the dump command to display only the
         special function registers (and not the rest of ram).
 o 18cxxx:
   -- TBLRD & TBLWT instructions are now supported
   -- MULLW & MULWF instructions are now supported
   -- configuration word support
   -- tmr0 interrupt
 o Cycle counter - 64 bits is now fully supported
 o config word bug fixed
 o gui - added Watch window
 o gui - added more color coding to register window
 o gui - removed stagnant menu selections
 o gui - window state is saved between gpsim sessions
   -- This requires a new package `eXdbm'.
 o getopt is now used to process invocation options (now you can
   have spaces between the options and file names).
 o support >64k object code in .cod files
 o gtksheet has been removed from the distribution
   -- This means that you'll have to install gtk+-extra, the
      package that supports gtk-sheet (see INSTALL)
 o .cod file format bug fixes (you'll need the latest gpasm)
 o __config word for 18cxxx family is now supported 

16NOV99 gpsim-0.17.0
 o gui - Major overhaul of Register Window
 o gui - Symbol window added
 o 18Cxxx
   -- Interrupts are now supported
   -- TMR0 is implemented
   -- USART asynchronous mode is supported
 o automake is now used to create the makefiles
 o version numbering has changed so that 'minor releases' (which by definition
   are the only ones I've made) are now expressed in the middle revision instead
   of the last revision number.
 o numerous bug fixes
 o Cycle counter is now 64 bits.


gpsim-0.0.16
 o 18Cxxx core has been added
 o Ralf Forsberg has joined me in development. His major contributions 
   have been in the gui code. Some of what he's done:
   - Wrote a new source browser with these features:
     -- Syntax highlighting (e.g. opcodes and comments are colored differently)
     -- Iconic indicators (e.g. bitmaps indicating breaks, current pc...)
     -- Multiple sources
   - Significant restructuring of the gpsim to gui interface


28JUL99 gpsim-0.0.15
 o gui - asm source browser
 o gui - program memory browser
 o gui - register viewer enhancements
 o gui - control menu
 o numerous bug fixes

30JUN99 gpsim-0.0.14
  o gui
  o numerous bug fixes

25APR99 gpsim-0.0.13
  o Split the command line interface from simulator
    - created a `src' directory for the simulator
    - created a `cli' directory for the command line interface
  o Re-wrote the cli to use bison and flex (whew - whatabitch)
  o Hi-Tech C-compiler .cod files can be loaded by gpsim now.
  o Fixed C++ errors that egcs abhored but gcc ignored.

08MAR99 gpsim-0.0.12
  o Added support for .cod files (mostly in cod.cc)
  o Added more symbolic debugging features
  o Added 'list' command for listing source files
  o Updated the 'load' command for loading .cod files
  o Repeat last command with carriage return
  o Added more documentation

10JAN99 gpsim-0.0.11
  o Added support for the PIC16C74
  o Fixed core dumps associated with the 12C50x (again, dammit)
  o Fundamentally changed the way registers are created.
  o Added a 'config' script

20DEC98 gpsim-0.0.10
  o Added support for the PIC16C71
  o Enhanced the asynchronous stimulus to support analog values
  o Added a triangle_wave stimulus (mainly for testing)
  o Changed the behavior of 'run' to ignore a breakpoint if there is one set
    at the current instruction (see below)
  o Added a few examples illustrating the use of analog stimuli

07DEC98 gpsim-0.0.9
  o Added support for the 12c508 and 12c509
  o Bug Fixes:
     - DC bit wasn't updated correctly in add's and sub's (if W was the destination)
     - stack was rolling over after 7 pushes
     - goto's and call's were limited to 10 bits
  o Added the command line option '-v' and the command version. Both echo 
    gpsim's version.
  o Enhanced 'it.asm' and added 'it_12bit.asm' - two routines that exercise
    gpsim's ability to simulate the pic instructions.
  o Added a trace for skipped instructions (before you'd see skipped instructions
    the same as non skipped ones in the trace buffer).


16NOV98 gpsim-0.0.8
  o Fixed pcl related bugs (see the new pcl_test.asm for examples)
  o Implemented the TMR2 peripheral
  o Implemented the CCP1 and CCP2 peripherals
  o Implemented the TMR1 peripheral
  o added more support for the PIC16C64
  o began support for the PIC16C65
  o fixed the configuration word loading that got broke in the last release

21OCT98 gpsim-0.0.7
  o added new command 'processor'
  o added new command 'load'
    - Startup command files can now be loaded any time and can be nested.
  o added new command 'symbol'
  o added new command 'reset'
  o redesigned the pic processor base class
  o added new file p16x8x
  o added support for the PIC16CR83, PIC16CR84, PIC16F83, PIC16F84
  o added new file p16x6x
  o added support for the PIC16C61
  o began support for the PIC16C64
  o Changed the command line invocation: -p now selects a processor and not a core (e.g. -p14 used to be the way gp
sim liked to select a device within the midrange, 14-bit family; now you must specify the specific device you wish 
to simulate: -pp16c61 .)
  o Generally overhauled everything in anticipation of supporting the 12-bit core


30SEP98 gpsim-0.0.6
  o <CNTRL C> now can asynchronously halt the execution.
  o Multiplexed I/O pins are now supported (better). It's possible to clock TMR0 from an external clock now
  o The c84 is now fully supported - though not thoroughly debugged
  o I fixed two nasty cycle breakpoint bugs, single-stepping during a pending interrupt, and a couple of other minor annoyances.
  o I've begun formal documentation, but it is not included with this release.


18SEP98 gpsim-0.0.5
  o added new command 'node'
  o added new command 'attach'
  o redesigned the stimulus infrastructure.
  o added 'name' option to stimuli
  o iopins are now considered stimuli


04SEP98 gpsim-0.0.4
  o added new command 'stimulus'
  o added new command 'echo'
  o redesigned the breakpoint mechanism for register breaks
  o added support for startup configuration files
  o began support for stimulus files
  o began support for symbols
  o interrupts are working

28AUG98 gpsim-0.0.3
  o added support for interrupts
  o TMR0 and WDT are now working
  o added new command 'x' for examining/modifying registers
  o added a 'break wdt' - break on wdt timeout
  o now you can step over a breakpoint

17AUG98 gpsim-0.0.2
  o added readline library and made the command line interface more robust
  o eeprom is now working


30JUL98 gpsim-0.0.1
  o initial release - basic stuff

