Gpsim
gpsim is a full system simulator for Microchip PIC microcontrollers originally written by Scotte Dattalo. It is distributed under the GNU General Public License. gpsim has been designed for accuracy including the entire PIC - from the core to the I/O pins and including the functions of all internal peripherals. This makes it possible to create stimuli and tie them to the I/O pins and test the PIC the same way you would in the real world. The software can run natively in Windows using gpsimWin32, a port to Windows created by Borut Ražem.