1. You could use the ID locations - they are accessible by your ICSP after code-protecting. 2. If you have a spare pin, you could have the firmware bit-bang its version code out immediately after each reset. 3. If your application normally uses a serial interface, you could extend its protocol so that you could just ASK it for its ID. 4. If you use port pins to select and write data to external devices, you could: a) define a hole in your memory map. Then write your ID to that 'un-decoded' space on power up. Use a test fixture to decode the hole and capture the data. b) or WRITE your ID to a space that is normally READ ONLY - benign to the target but unique to your in-house test fixture. At 05:02 PM 4/5/00 , you wrote: >MIME-Version: 1.0 >Content-type: text/plain; charset=us-ascii > >I've seen brief "near references" to this topic lately, but haven't seen my >question directly addressed. >We have in production a design that takes advantage of ICSP by programming >the pic (C73B) at the final assembly of the product (using a Promate II). >Several models use the same circuit board, but different software versions. >If code protection is used, what is the best way for our assembly line to >verify the software version that a given board was programmed with? We >would like the ability to check AFTER programming in addition to the usual >check at the time of programming. >It would seem to me that if you cannot read a code protected part, then you >can't do a checksum on it either. Anyone have the scoop on this? >Thanks. > Jerry Merrill jerrym@tech-tools.com http://www.tech-tools.com FAX: (972) 494-5814 VOICE:(972) 272-9392 TechTools PO Box 462101 Garland, TX 75046-2101