One of the commands is the "Initialize All", which intends to be as close as possible to a hard reset on the all card. The PIC has full control over the several "peripherals", so I was thinking: Instead of jumping to the "Initialization" routine, why don't I just block the PIC, and let the WatchDog do the dirty work? Does your initialization code actually do a hard reset of the devices? We used to do something like this, and had an interesting set of problems when the devices continued interrupting, and our system was in a piece of code that no longer understood them (ie the "bootloader") Some devices rely on a HW reset signal to get reset, which may or may not happen when you artifically generate a "system reset"... BillW