Well i read the link Darrel posted, although i havent done any work on it i guess i have an idea to begin with.

Question marks Previous to coding:

1. The writecode, readcode, erasecode, are a must for my project and i need them at the end of the program, can you explain better the procedure to make them work over the whole code memory?.

2. I will work with 18f452 so Darrels INIT jump seems ok, BUT i dont intend to use Microcode Loader, i just want to write the code of the bootloader, so i maybe can make my own writecode loop (no read, verify code here...mmm?). Does this mean that correct steps would be, 1st change init jump to my own bootloader function (How? can you specify library change needed?), if no connection stablished then jump to real INIT (which is it? is it the same for the same uC? does it changes depending on code and libraries added?, does DT-18 interferes with this at all?).

3. Can i make my Bootloader function, compile and measure in codespace and then make the space for it at the end of the program? add an org to this function an begin with a jump to it at the begining of the program? (same INIT change question here probably).

4. Can the Bootloader be writen in basic? (hope so).

5.My God!!.. an interrupted writing could damage it all? if I erase (Not Bootloader) and then the writing of the first 5 lines fails everything goes to hell?, Maybe at some point the pclath would reach the bootloader and i could verify the existence of the first 5 lines and if there is no jump write it?

6. i guess i am going way ahead, lest keep simpler.