Charles,

Great insights and recommendations!

I'm still digesting the implications of this as it pertains to actual coding, but right now I have a very basic question. You said a couple of times in your narrative that the minimum erase and programming block size for 18F flash is 128 bytes. In reading the 18F2620 datasheet, it says the minimum block size is 32 words/64 bytes. Can you reconcile this seemingly conflicting info?

Also, Jumper referenced the Oshonsoft loader. On their web site (http://www.oshonsoft.com/pic18bootloader.html) they provide Basic code for a loader written in their variant of PicBasic, which is somewhat different. One of the differences is that they begin the loader program with a "StartFromZero" directive, which seems like it does something similar to what you described. Can you comment?

Thanks again for the great suggestions.

Joe