[quoting] A good guess. I have a PIC16 simulator written in C that runs at 12MHz real time on a PentiumII-300 under Linux. So on a 100MHz Pentium you should get at least 4MHz. This includes timer and watchdog simulation, of course. [me] I would expect that a PIC emulator that simulated timer operation but not interrupts would be able to simulate a >200Mhz PIC on a 100MHz Pentium (with some operations being slower than that); I don't know to what extent people are interested in maximizing emulator speed, but the PIC is really a simple platform and emulation should be quite simple (note: timer emulation logic need only be performed either at jumps or places which read/write the timer. A jump (or PC load) should add the current PC to the number of elapsed cycles and subtract the new PC. Of all the microprocessor platforms I've seen, the PIC is probably the second-easiest to emulate (the 8x51 would be slightly easier, if code space is read-only, because indirect access to I/O registers is forbidden). While I doubt that it would be worth doing all the tricks necessary for 100MHz+ emulation, certainly 4MHz should be quite achievable. BTW, someone awhile ago posted (to the web) a program which would feed bogus events to MPLAB; this improved its simulation speed considerably.