The rom loader is a method of re-programming the PIC without a programmer and in circuit. The newer flash chips (16f87x) have the ability to write to their own program memory. Other flash chips (16f84, etc) could only write to a special data memory. Since these newer chips can write their own program memory, then we can install a tiny program in the chip which will act as a loader for the program. In other words, connect the chip to a computer and send the new program code straight over. No programming voltages, no special sockets, and easy to accomplish remotely (over telephone, radio, internet, etc) so you don't have to be physically present to re-program a chip. Generally the setup is as follows: A pin is set apart such that when the PIC powers up, it checks this pin. If the pin is in a pre-defined state (low) it starts the user program (the program which was last stored in the chip) if the pin is in the other state (high), it starts the bootloader code, which accepts commands to read and program the user program area of the chip. Once programming is complete the bootloader either resets the chip, or starts the user program. One could also provide options inside the user program which will call the bootloader so you don't have to be at the hardware setting/clearing pins. An example of where this might be useful: Datalogging equipment. Instead of having a chip which has set functions (which really means set limitations) you can use, you can reprogram the entire chip to do some data processing as well as logging. You could update the program as your research continues and you discover that your data isn't complete, and you need to change some parameters remotely. Home automation, process control industry, anywhere where functionality might need to be upgraded. Rapid prototyping, making devices which need to be deployed yesterday with a few basic functions, but need to provide more complex functions ASAP. (or following software company models of releasing buggy product, and sending out service packs, er, I mean software upgrades... ;-) Development environments. I'm doing home automation right now, but I realize that I want to change the program as I go. I don't want to uninstall and reprogram my lightswitches everytime I change the program, so I make my bootload operate with a basic network protocol. When the next big thing comes along (CAN, LON, etc) (as long as I plan my hardware ahead of time) I can reprogram all of my nodes to use and interface with the new protocol. -Adam Alice Campbell wrote: > what is the rom loader discussion about? > whats a rom loader? > sorry for my ignorance, but its probably reversible. > > alice