Tony, Thanks for the reply, congrats for safe arrival of Amy. To summarize, are you saying... 1) Bootloader initially gets programmed into high memory using ICSP and PICSTART. 2) User code is downloaded at powerup by responding to "BL" from micro bootloader program. And the source can be normal C code located from vector 0x00 -> 3) Further upgrades of user code can be handled by user code menu option. ie. An upload command can be processed by #asm goto 0x1fff #endasm 4) If user code fails, bootloader is re-programmed via ISCP Regards David Huisman -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu