Hmm, that's weird.... Looking at the 12F675 datasheet it doesn't appear to HAVE an OSCCON register and trying to compile code with OSCCON=$70 in it fails - not surprising so I don't know what Mark is doing there.

EDIT: Ah, OK, code for another device, that explains it.

The OSCCAL register is used to tweak the internal oscillator up/down a bit in order to get as close to 4MHz as possible. When the chip is manufactured they find out the "best" value for OSCCON (which can differ from chip to chip obviously) and store that value for us at the last location in FLASH memory. So what DEFINE OSCCAL_1k 1 does is to instruct the assembler to generate code for us to retrieve that value from location 1k and put it in the OSCCAL. I don't think it has anything to do with the programmer and any descent device programmer (which I'm sure the EPIC is) WILL retain the calibration value at the last location by Reading it and re-Writing it when it programs the device.

The 12F675 only has one CONFIG word and it's located at adress 2007h and not 3FFCh that the error message seems to indicate. And why it complains about a config word #2 when there's only one in the device I don't know. I really have no idea what's going on there.

/Henrik.