Jeethu Rao wrote: > > 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. It will depend on your clock speed that the chip is running at. There will be an absolute minimum time to read ROM based on your instructions needed to read a ROM location, buffer the data, increment EEADR/EEADDH, prepare to send, and transmit with acknowledge. Windows will also slow this process down considerably, and it doesn't seem to like transfers with large "chunks" of serial data. I usually send 16 byte packets at 19200 baud which seems ok, although I have sent odd ones at 64 bytes. Larger packet streams seem to lose a byte here and there especially on older 486's and such. This may be due to the serial component that I use, but I have to stick with what I know. ROMzap doesn't read ROM because so far I haven't had a need to do this. It mainly gets used to program ROM, although it can read RAM and EEPROM on execution of code break points, which takes a second or two. Re-programming can be faster than it takes you to release the mouse button, up to around a minute or so depending on whatever ROMzap decides needs updating. I haven't tried it, but I don't think I would have data transfers controlled by interrupts to try and save a bit of time while simultaneously reading ROM. This may interfere with the ROM read procedure as set down in the data sheet. Maybe cut your command size down. ROMzap uses single byte commands, although only 3 bits are actually used. -- Best regards Tony mICros http://www.bubblesoftonline.com mailto:sales@bubblesoftonline.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.