Hello All. I am currently struggling with how to deal with the ridiculously bad code protect on the 16F877. I am hoping to learn a few things from those who are actively working with the flash memory. Here is the primary question: If I code protect the upper half of the chip, that is, 50% of the flash memory, will someone be able to use an ICSP to put in code on the open lower half that can internally read the code protected space and dump the contents out of a port? Because if they can, there is no sense code protecting that half of the chip. If I code protect the 256 bytes, can they not read those as well? From what I understand, internal flash reads work on code protected memory. So it is very easy to set up a memory dump of the code protected space. Is this correct? If that is the case, my only options are to code protect the entire chip (which will prevent memory dumps, but turns the flash part into an OTP part) or to leave the chip totally naked for downloading and reverse engineering and copying, however, I'll be able to distribute flash updates. We can not use ICSP in the field, as this would require distributing the rom image in its naked entirety, which is not an option. Plus there are no facilities on the PCB for enabling ICSP as we used all the pins and the circuit design is done. My last option is to code protect the entire chip, and have no option for flash updates in the field by bootloader, and then, when the 77A comes out (never???) we can simply eat the cost and send out new 77A chips to everyone, and let them throw away their code protected 77s, which would basically be useless. There is a socket on the PCB but the tool to remove the part (a spring loaded PLCC removal tool) costs as much as the chip. So even a chip recall would not be worth the trouble, that is, to have everyone mail back there 77 chips, then bulk erase, then resell as one-offs. It would not be worth the trouble. And if you pop out the chip with a paper clip, for example, you'd bend the pins quite a bit unless you get real lucky. In the meantime, I am buying my 16F877 at 20 MHz in the PLCC package for a very good price and soon will have thousands in stock. If someone needs some 16F77-20/L with no lead time and a very good price, let me know. I can sell you some of my stock, we've got a big pipeline streamed and coming in. At any rate, what are your thoughts on the flash memory and how to deal with it? Thanks all, from Ron Anthony -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics