Hi, I've written a plain vanilla style BootLoader for 16f877. It uses the hardware USART and has a code checksumming routine like the one Olin had suggested some time back. The porgram words in location 0 to 3 are handled smartly like in Wouter's Wloader. The commands are all 5 bytes long with a 1 byte checksum appended. I have written the control software as a command line tool.It is written in C and is non portable because it uses Win32 API extensively. Now, My bootloader takes about 55 secs just to read the entire f877. I've not yet implemented the writer part in the control software. But I think 55 secs for a read is too slow. The checksum routine finishes in less than a second(on Power up). So I don't think the problem is with the PIC side. The most likely culprit is the Excessive use of GetTickCount() API function. I had previously found that this function is quite slow to return(I guess it polls the RTC). I know that lots of guys have written their own boot loaders. Could you guys tell me the relative speeds of your BootLoaders so that I have a reference to measure my BootLoader's performance. BTW, It is not yet complete.Just a part time hobby. Whenever I get bored with the whole of the world or I remember my ex-GF :'-( But when its done, I'll put it up on my site with every bit of its source. Thanks, Jeethu Rao -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.