John Nall wrote: >Did you look at the P18F452.INC file ? Yes I did. It contains the values generateded by __CONFIG, but not by CONFIG. I assume the latter are provided by the assembler. Rolf wrote: >Let me guess... your programmer is one of the DIY Kit 128/149/150/182 >types. No, it isn't. It is a cheapo Quasar kit - but it gives me reliable (so far) ICSP. Tom Sefranek wrote: >;****************************************************************************** >; Filename: F452Conf.inc Part of >MCA.asm * >*SNIP SNIP* Yep - that looks pretty much like my CONFIG definitions. Jan-Erik Soderholm wrote: >Where are the rest ? > >*Always* specify *all* config options. I did - my penultimate sentence was "All the other values are wildly different too - I just chose the first one as an example". ******I now believe I understand what is happening:****** __CONFIG writes a '1' in unused bits. CONFIG writes a '0' in unused bits. Hence, with OSCS set to '1', and FOSC set to '110', the config word 300001h becomes 'XX1XX110', where X are the unused bits. __CONFIG replaces X by 1, therefore 300001h becomes '11111110' = FEh CONFIG replaces X by 0, therefore 300001h becomes '00100110'=26h and these are the values that the MPLAB "configure/configuration bits" command shows me. Similarly with all the other configuration registers. My cheapo programmer has what it calls a "chipinfo" file with the driver. This specifies fuse settings, presumably for checking purposes (?), and these are the old __CONFIG generated values. So it craps out with a FUSE error. Thanks to all who commented. Regards, Phil Cross -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist