Apparently the debugger protocol for 18F is proprietary, but for 18F877 it's available here: http://www.beyondlogic.org/pic/f877-6bk.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/51242a.pdf The main idea behind the debugger is the use of a breakpoint register and external halt. Looks like this is for ICD and is obsoleted, replaced by ICD2. Anyways, I don't really need it. The use I've found for ICD2 is to debug the debugger.. I might add some support for ICD2 later, but let's focus on a more direct interpreter approach.