> Clever boot loaders don't use interrupts. This allows the > app to use them without restriction. Yes, but when the (midrange) app starts at 5, where does its interrupt start? > However, a boot loader needs to be the first thing that runs > since it must > be able to conditionally run the app. I therefore don't see any way > around the boot loader needing to own the reset vector. I > usually define > an official start location for the app, like 4 words from the > end of the > first code page or the start of the second code page so that it won't > cause additional fragmentation. The boot loader jumps to > this location > only after deciding it's OK to run the app. My bootloaders indeed take over the reset vector, but they relocate the 'stolen' instructions in a way that is in most cases transparent to the application. Wouter van Ooijen -- ------------------------------------------- Van Ooijen Technische Informatica: www.voti.nl consultancy, development, PICmicro products -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu