gpsim-0.17.0


The 'c84 and all of its derivatives are done.
The 'c6x is mostly done.
The 12c508 & 509 are done
The c71 is done.
The c74 is mostly done
The 18Cxxx is partially supported.

Gui is coming along

TODO - In no particular order:

  o 23may01 - Provide option to disable the nop portion of two-word 18cxxx instructions in assembly dumps.
  o Capacitive stimuli
  o Parallel stimuli
  o High frequency stimuli (currently, the cpu frequency is the maximum stimulation frequency)
  o Support different clock types like variable frequency oscillators.
  o Gui support
    - Add an 'architecture' command for querying a pic's architecture
    - Make the displayed data more consistant (e.g. all hex numbers prefaced with 0x)
    - Provide a means for obtaining the current simulation state, saving the current simulation state, and finding the difference between two simulation states.
  o Breakpoint ranges. E.g. break if pc is within a range of addresses.
  o Boolean Breakpoints
    - This allows multiple conditions to initiate a break. For example, you might want to set a break point such that if register 0x20 is cleared while the program counter is between 0x04 and 0x100.
  o Enhance internal gpsim diagnostics/debugging. Right now there are numerous print statements embedded within gpsim that provide useful diagnostic information on gpsim's internals. These usually get commented out just before each release. So what I'd like to do is:
    - Create a #define GPSIM_DEBUG mode.
    - Create a bit mask that will selectively allow internal gpsim diagnostic information to be displayed. (e.g. if you suspect a problem with gpsim's eeprom simulation, you could rebuild gpsim with GPSIM_DEBUG enabled and then either modify the code to enable eeprom diagnostics to be displayed [ gpsim_debug |= debug_eeprom;] or [better] I can added a new command that allows you to specify the gpsim_debug mode.)
    - Documentation. What can I say?
    - Memory management. gpsim is very cavalier with memory. In a few instances, I check for insufficient memory, however I need to be more thorough. Fortunately, gpsim very seldom deletes instantiated objects. So I suspect there are no leaks...
  o Add CORBA
    - This will supposedly make it easier for gpsim users to create their own stimuli. The idea is that gpsim will define how it wishes to interface to a stimulus and the user can supply the guts. For example, I envision an LCD module being created that will interface to gpsim through the ORB, but I couldn't imagine adding an LCD module to the simulator engine.
