

				  nitpic: a Microchip PIC simulator


This program is an X Windows-based simulator for the Microchip PIC
series of microcontrollers.  It's written in C++ and is known to
compile correctly with gcc-2.5.8 under Linux and SunOS4.1.3U.  This is
an alpha release, with many known incompletenesses and suspected bugs,
as well as a great deal of cruft that I plan to clean up before beta.
It currently supports the PIC16C84 only, but I have kept other
processors in mind while coding, and I think it will be trivial to add
support for the rest of the PIC family, and pretty easy even for
unrelated CPUs.

I'd appreciate hearing about problems you may have, as well as
suggestions for improvements.  I'll be away on business for the next
two weeks, but plan to continue working on this when I return.

dave madden <dhm@vheissu.net.dcl.co.jp>
12-nov-94


Known shortcomings:

* The 16C84 EEPROM data memory is not implemented
* Writing PCL doesn't cause a jump
* Interrupts, including RTCC rollover, don't work
* The "File" button doesn't let you load a new object file
* No warning on stack overflow
* The I/O ports aren't handled properly (there's something screwy
  about read/modify/write instructions that I don't understand yet).
* I'm not sure the ADD and SUB instructions set C and DC properly.

Bugs:

* Sometimes the instruction pointer gets screwed up (graphics only --
  the simulator keeps working)

Futures:

* "LEDs" to indicate IC pin states
* Logic traces of IC pin states
* Breakpoints
* Some method to provide input signals
* Change 16C84 simulator to use an "instruction prefetch" cycle.
  Jumps will replace the prefetched instruction with a NOP, which will
  be executed while the jump target instruction is being fetched.
  (This is how the real thing works, isn't it?)
* Add simulators for other PICs
