but remember you only get one shot at it per new PIC as the PIC12CE673 is OTP, so not erasable
Ouch. This explains why I didn't see the number of burns in the datasheet. I thought all PICs were able to be reprogrammed until now.
From what I understand, are you saying this code doesn't appear corrupt? I ask this not only for myself, but anyone else who will read this and/or need to burn a new PIC due to a broken iron (obviously the files are posted, so others will be downloading them).
If this code isn't corrupt, then I don't understand why the LED isn't blinking (or turns off when I decrease the temperature knob after the iron gets quite hot) unless there is something that detects the iron plugged in. Personally I don't see how it can detect the iron is plugged in by the heating element (remember I have a k-type thermocouple soldered onto the board, so it thinks it has an iron). Unless it pulses the iron heater to get it up to minimum temp and reads the thermocouple. If it doesn't have some sort of precise feedback, then the PIC doesn't perform the same.
The only other idea I have is that the PIC is healthy enough to have the code read, but the output drivers are damaged.
Trying to get the thermocouple up to a specific temperature and measuring the heating plate I try mounting it to correctly is quite hard. I've taken the thermocouple that's soldered on the iron PCB, taped it with Kapton tape to a heating plate, mounted a second thermocouple to a temp meter, and tried tricking the soldering station to think it's really heating to 350 degrees. The issue is the tape doesn't stick and my thermocouple has melted insulation.
Apparently you're experienced with reading PIC code because other than seeing the same thing you mentioned (C Cooper....), I don't know what any of the code means.
Personally I think dissecting the code would be cool and beneficial for being able to burn different PIC models for the future needs of others, but clearly it's not worth the trouble.
For my own curiosity, can you explain how you'd dissect a single line so maybe I can take a crack at digging into it?
As for programming, you said to 'read' a blank PIC and note the address at 0x3FF. Ignoring for the moment that I'm not seeing a line of 0x3FF (it goes from 0x3F0 to 0x400), I assume the steps I need to take are:
Insert the blank chip and read the information stored on it (I wasn't aware a blank PIC could be 'read')
Scroll down to 0x3FF and note the address from where on that line? Maybe provide an example from the current code to clarify how to read an address?
I'm sure this is unique to the programmer, but I've never programmed a chip that required any change to a starting address, it's always been take this HEX file and press burn (or similar steps when burning FPGAs). How do I tell the software to start burning at a specific address?
Not knowing anything about PICs, I'm uncertain the need to start burning at a specific address or can visualize what it would mean to start a specific address. From the way it looks with the current program, it starts at address 0x0000, but I'm uncertain if this is just the line number or an address (or if I'm just mixing up the two).