I'm not dead yet!

OK, I haven't done anything with PICEMU or PICDIS in a while. Sorry about that, but between work, home, and another project (see below), I've been rather busy. Hopefully, I'll have some free time in the near future to clean-up the 16F88 version of PICEMU and fold it's changes back into the main P14-core code (12F675, 16F84A, 16F648A, 16F877).

My "other project" came from the usual insane desire to write a C compiler. Of course, writing a compiler from scratch isn't easy and isn't something I've studied, so I started looking at "Let's build a compiler" and other people's simple compilers.

Of course, the compiler source I most wanted to see was the one I use the most -- DeSmet C, but the company was long gone.

So, I went looking for a snark. Thanks to Google and Superpages, I was actually successful, finding the people from C-Ware Corporation.

So, the long and short of it is that the source to the DeSmet C compiler that I use for PICEMU and PICDIS (and lots of other things!) is now available under the GPL. For more information and files, please go to www.desmet-c.com.


I've been working on a 16F88 version of PICEMU, and I'm making it available for general testing.

Please, remember that this is a BETA TEST VERSION, and report any bugs or quirks to me. I'll fix them as soon as possible.

I'll be making the source changes to P14 available shortly, as soon as I get some of the test and debug code removed.

Enjoy, and please remember to email me with comments and bug reports.

Version 1.20

Well, it took a while, but all flavors of PICEMU (12C509A, 16F84A, 12F675, 16F648A, and 16F877) are now up to version 1.20. This is the "actual release" of all the analog upgrades I've been working on.

And, what seems like it should have been easy but was actually quite hard, all the 14-bit core programs (12F675, 16F84A, 16F648A, and 16F877) are now compiled from the same source. So, any change to one program is already available in all the other 14-bit core versions.

The 12-bit core version (12C509A) of PICEMU shares a lot of code with the 14-bit core version, but I haven't been able to reduce things to a single version yet. I'll keep working on it.

My thanks to Mauro Giachero for his time and efforts on improving PICEMU! (please add PICEMU to any subject line when emailing Mauro, hotmail gets a lot of spam)

PICDIS has been updated (12/14/03) to correct a bug.
For 14-bit cores with 2K or less of program memory (16F84A, 16F628, 12F675) PICDIS was (correctly) recognizing that it did not know the value of PCLATH, but incorrectly not recognizing that it did not need to know PCLATH to find the actual target of a CALL or GOTO.

PICDIS is based on PICEMU, and uses the PICEMU simulation engine to do register tracking so that register banks and complete program addresses are known, and the proper labels generated.

As a result, PICDIS inherits PICEMU's limitation, and targets code for the 12C509A, 12F675, 16F84A, 16F628, and 16F877 (and their lesser siblings, such as the 12C508, 12F629, 16F83, 16F627, 16F876, etc).

However, unlike PICEMU, PICDIS uses a single executable for all processors.

This is a "young" project, with quite a bit left to write. So, I welcome feedback and suggestions, and will be updating PICDIS in response to suggestions, criticisms, and comments.

PICEMU and PICDIS download page    Last updated 3/30/2004

Various PIC related software and websites    Updated 12/7/2003

Please feel free to email me with feedback and suggestions.

Want to see what else I do with my time?

These pages last modified 7/26/2005