I'm running MPLAB C18. I'll see if I can answer some of this. 1. I have not yet found a way to set the configuration bits. I've tried an ASM file that was linked in, but that did not work. I've posted stuff here and on the Microchip web board. People on the web board suggested an asm file. People here suggested some fixes to the asm file to eliminate errors. If you look in the index of the C18 manual under "configuration bits," it gives you a definition of them, but nothing else. So, in answer to question # 1, I don't know! Let me know if you find out how to set the config bits from within C18. 2. Similarly, the manual on C18 only gives us a definition of eeprom. Since the eeprom is not in the memory map, but instead is treated as a peripheral, I'd expect there to be library functions to talk to the eeprom. You can define the initial values for eeprom in assembly (sample code below). I have not tried this in a C based project, though. The C18 libraries manual also includes eeprom in the glossary, but nowhere else. There are eeprom functions in the I2C library, but these talk to external eeprom on an I2C bus. I believe to write to internal eeprom, you'll have to define your own functions (in C or asm). Putting a rom qualifier in front of a type forces the constant to be in program memory instead of RAM. It does not force it into eeprom. 3. On default values in eeprom, you MIGHT be able to link in the asm file (like that below). I have not tried it, though. I know of no way to define eeprom values directly in C18. 4. don't know about the object file checksum errors. I've never gotten that on my Promate. Harold Sample eeprom intialization ASM below: ; -----------------------------------EEPROM Allocation------------------------------------------- LightMeterScaleHi equ 0 LightMeterScaleLo equ 1 ; Light meter scaling factor in eeprom CC1seconds equ 2 ; Store custom program curing mode 1 duration CC2seconds equ 3 CC3seconds equ 4 CC4seconds equ 5 ; Store custom program curing mode 4 duration RunTime0 equ 0x06 ; Run time counter advanced every 256us RunTime1 equ 0x07 ; RunTime2 equ 0x08 ; Advanced every 234uS or hours/256 RunTime3 equ 0x09 ; Hours lo RunTime4 equ 0x0a ; Hours hi LampStartCountHi equ 0x0b ; Lamp starts hi LampStartCountLo equ 0x0c ; Lamp starts lo org 0x2100 de 01, 00 ; Default light meter scaling factor of 1 ifdef xenon de d'1' ; minimum time for custom cure 1 de d'1' ; minimum time for custom cure 2 de d'5' ; minimum time for custom cure 3 de d'5' ; minimum time for custom cure 4 else de d'3' ; minimum time for custom cure 1 de d'10' ; minimum time for custom cure 2 de d'15' ; minimum time for custom cure 3 de d'25' ; minimum time for custom cure 4 endif de low(-d'3600'),high(-d'3600'),0, RevCodeMonth, RevCodeDay ; Runtime initialized at month/day of rev (reset during cal) de 0,0 ; Lamp cycle count initialized at zero FCC Rules Online at http://hallikainen.com/FccRules Lighting control for theatre and television at http://www.dovesystems.com Reach broadcasters, engineers, manufacturers, compliance labs, and attorneys. Advertise at http://www.hallikainen.com/FccRules/ . ________________________________________________________________ GET INTERNET ACCESS FROM JUNO! Juno offers FREE or PREMIUM Internet access for less! Join Juno today! For your FREE software, visit: http://dl.www.juno.com/get/web/. -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu