Nigel Goodwin said:
So why does it have two PIC's on board?.
To the best of my knowledge:
ICD2's were originally serial, using an 16F877, and then microchip released a USB ICD2 - it used a USB interface chip of some sort (I think it was a cypress? or something like that) along with the same 16F877. Later, they stopped using that interface chip and replaced it with an 18F4550. Basically, the 18F4550 is serving solely as a link between USB and the 16F877, and the 16F877 is doing all the actual debugging work, as it always did in the serial versions.
The 18F4550 might be able to do the whole job by itself, though it would require a lot of coding to write the firmware for it - however, the USB functionality does consume a lot of processing time and needs to be serviced very frequently, which might interfere with its ability to perform debugging tasks. All I know is that microchip still hasn't combined it all onto one chip, and I am assuming that there's a reason for that (other than laziness)
But, even if it could be done, it wouldn't make sense for a hobbyist to attempt it - part of "cloning" microchip's ICD2 is that it lets new firmware be downloaded to the board automatically from MPLAB, and any time they release an updated firmware, you can use it immediately - if a hobbyist modified the whole thing to run on a single chip, even if MPLAB actually accepted it as a valid ICD2, they'd be in trouble any time they needed to update the firmware.