Current Version is 1.5.1
This is a Pic Microcontroller emulator. It emulates the PIC16C84 in Java, loading compiled HEX
files, dissassembling them and allowing you to run and single step Pic code. The program
includes a simple text editor and macro assembler. It can be run as
an applet (see the 'Online Version' link below) or downloaded and run as a standalone Java application.
Lastest News (16th January 2001)
Software Downloads, Known Bugs, Versions, Wish list
Online Version Run the Emulator as an Applet
Manual Users Guide, and how to write Plugins
License The Pic Emulator Open License
Links Various Links
Homepage The Pic Emulator Homepage
Plugins
You can write Plugins for the emulator that emulate devices plugged into the Pic chip. These
Plugins are written in Java and could emulate anything from an LED to a switch, or even (as
shown here) a television.
Performance
The emulator is relatively efficient. On a 200MHz machine with HotSpot (Java 1.3 fast execution),
the application will emulate a 16C84 running at about 20MHz. This will change, however, depending
on the nature of the code being executed and the number (and type) of plugins that are active.
To achieve reasonable speeds, delay loops are optimised to execute 'instantly', but then keep
track of the exact number of clock cycles emulated.
Accuracy
The emulator is not yet 100% accurate - some instructions are not perfectly emulated.
However, emulation is clock-cycle accurate - instructions keep track of the 'machine time'
that they have taken, so devices (Plugins) can behave properly. Some
features of the chips are not emulated at all at the moment - in particular, interrupts are
not handled.
Source Code
The source code for the emulator is now available under an open license - specifically
a variation of the Apache License. The code remains relatively undocumented as I've been
working on getting the assembler into a useable state. The next release is likely to
feature largely tidier code and more documentation. Email Me
if you are confused by the source, or would like to contribute to the project in any way.
More To Come
This is a volunteer project, run in the contributors' free time. As such, the project will
benefit the most from feedback from people who use it. If this software is useful to you,
or 'not quite there' - let me know by email.
All comments are appreciated, and offers of help or support are welcome.