; File:    DEVICES.INI
; Author:  Wolfgang Buescher (DL4YHF)   and contributors..
; Purpose: This file ADDS support for some PIC devices in WinPic.
;
; Notes:
; - Many devices are supported in WinPic without this list,
;   because there is another list built INSIDE WinPic.
;   You will find the "built-in" devices in the upper part
;   of the device-selection combo, and the devices loaded
;   from this file in the lower part (after the "unknown"-dummy).
; - Though this file is still named DEVICES.INI,
;   it is no longer treated like an 'ordinary' INI-file
;   because Win98 seems to be unable to read INI-files
;   exceeding 64 kByte. This happened in autumn 2005 .
; - Lines beginning with a semicolon are comments, they
;   are completely ignored when WinPic reads this file.
; - Before adding own sections here, read the info document:
;      /html/devlist_format.htm
; - Some of the devices listed below have never been tested !
; Last modified 2007-07-14 (modified device ID for dsPIC30F3014)


[PIC10F200]
info1= PIC10F200 has 256 words CODE and only 16 byte RAM
DeviceName=PIC10F200
DeviceInfoFileName=PIC10F200.dev
CodeMemType=1
CodeMemBitsPerInst=12
CodeMemSize=256
DataEEPROMSize=0
InternalRAMSize=16
AddrConfigMem=0x0FFF
AddrConfigWord=0x0FFF
AddrDataMem=0xFFFFFFFF
AddrOscCalib=0x00FF
ConfigMemUsedLocs00_1F=0x0001
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x000100
IdMemorySize=5
DeviceIdAddr=0xFFFFFFFF
DeviceIdMask=0x0000
DeviceIdValue=0x0000
CanRead=1
EraseAlgo=PIC10F20x
CodeProgAlgo=PIC10F20x
ConfigProgAlgo=PIC10F20x
DataProgAlgo=PIC10F20x
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=10
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0080
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0010
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC10F202]
info1= PIC10F202 has 512 words CODE and 24 byte RAM
DeviceName=PIC10F202
DeviceInfoFileName=PIC10F202.dev
CodeMemType=1
CodeMemBitsPerInst=12
CodeMemSize=512
DataEEPROMSize=0
InternalRAMSize=24
AddrConfigMem=0x0FFF
AddrConfigWord=0x0FFF
AddrDataMem=0xFFFFFFFF
AddrOscCalib=0x01FF
ConfigMemUsedLocs00_1F=0x0001
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x000200
IdMemorySize=5
DeviceIdAddr=0xFFFFFFFF
DeviceIdMask=0x0000
DeviceIdValue=0x0000
CanRead=1
EraseAlgo=PIC10F20x
CodeProgAlgo=PIC10F20x
ConfigProgAlgo=PIC10F20x
DataProgAlgo=PIC10F20x
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=10
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0080
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0010
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC10F204]
info1= PIC10F204 same memory as F200, but with comparator
DeviceName=PIC10F204
DeviceInfoFileName=PIC10F204.dev
CodeMemType=1
CodeMemBitsPerInst=12
CodeMemSize=256
DataEEPROMSize=0
InternalRAMSize=16
AddrConfigMem=0x0FFF
AddrConfigWord=0x0FFF
AddrDataMem=0xFFFFFFFF
AddrOscCalib=0x00FF
ConfigMemUsedLocs00_1F=0x0001
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x000100
IdMemorySize=5
DeviceIdAddr=0xFFFFFFFF
DeviceIdMask=0x0000
DeviceIdValue=0x0000
CanRead=1
EraseAlgo=PIC10F20x
CodeProgAlgo=PIC10F20x
ConfigProgAlgo=PIC10F20x
DataProgAlgo=PIC10F20x
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=10
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0080
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0010
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC10F206]
info1= PIC10F206 same memory as F202, but with comparator
DeviceName=PIC10F206
DeviceInfoFileName=PIC10F206.dev
CodeMemType=1
CodeMemBitsPerInst=12
CodeMemSize=512
DataEEPROMSize=0
InternalRAMSize=24
AddrConfigMem=0x0FFF
AddrConfigWord=0x0FFF
AddrDataMem=0xFFFFFFFF
AddrOscCalib=0x01FF
ConfigMemUsedLocs00_1F=0x0001
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x000200
IdMemorySize=5
DeviceIdAddr=0xFFFFFFFF
DeviceIdMask=0x0000
DeviceIdValue=0x0000
CanRead=1
EraseAlgo=PIC10F20x
CodeProgAlgo=PIC10F20x
ConfigProgAlgo=PIC10F20x
DataProgAlgo=PIC10F20x
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=10
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0080
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0010
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC12F508]
info1= PIC12F508, added by L.Lisovskiy 2006-03-28
info2=  tested 2006-04-12 on JDM programmer
DeviceName=PIC12F508
DeviceInfoFileName=PIC12F508.dev
CodeMemType=1
CodeMemBitsPerInst=12
CodeMemSize=512
DataEEPROMSize=0
InternalRAMSize=25
AddrConfigMem=0x0FFF
AddrConfigWord=0x0FFF
AddrDataMem=0xFFFFFFFF
AddrOscCalib=0x01FF
ConfigMemUsedLocs00_1F=0x00000001
ConfigMemUsedLocs20_3F=0x00000000
IdMemoryBase=0x000200
IdMemorySize=5
DeviceIdAddr=0xFFFFFFFF
DeviceIdMask=0x0000
DeviceIdValue=0x0000
CanRead=0
EraseAlgo=PIC10F20x
CodeProgAlgo=PIC10F20x
ConfigProgAlgo=PIC10F20x
DataProgAlgo=NONE
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=5
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0FE0
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0008
Cfgmask_cpd=0x0000
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0002
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0003
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0010
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC12F509]
info1= PIC12F509, added by L.Lisovskiy 2006-03-28
info2=  tested 2006-04-12 on JDM programmer
DeviceName=PIC12F509
DeviceInfoFileName=PIC12F509.dev
CodeMemType=1
CodeMemBitsPerInst=12
CodeMemSize=1024
DataEEPROMSize=0
InternalRAMSize=41
AddrConfigMem=0x0FFF
AddrConfigWord=0x0FFF
AddrDataMem=0xFFFFFFFF
AddrOscCalib=0x03FF
ConfigMemUsedLocs00_1F=0x00000001
ConfigMemUsedLocs20_3F=0x00000000
IdMemoryBase=0x000400
IdMemorySize=5
DeviceIdAddr=0xFFFFFFFF
DeviceIdMask=0x0000
DeviceIdValue=0x0000
CanRead=0
EraseAlgo=PIC10F20x
CodeProgAlgo=PIC10F20x
ConfigProgAlgo=PIC10F20x
DataProgAlgo=NONE
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=5
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0FE0
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0008
Cfgmask_cpd=0x0000
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0002
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0003
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0010
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000


[PIC12F609]
info1=untested, should follow 12F615 which is tested.
DeviceName=PIC12F609
DeviceInfoFileName=PIC12F609.dev
CodeMemType=1
CodeMemSize=1024
CodeMemBitsPerInst=14
DataEEPROMSize=0
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=-1  ;Only used for devices with cal in program memory.
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2240
CanRead=1
EraseAlgo=ERASE_12F6xx
CodeProgAlgo=12Fxx
ConfigProgAlgo=12Fxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=3000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24 ;must be externally timed
CmdEndProg=10
CmdEraseProg=9
CmdLoadData=-1
CmdReadData=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0xFC00
Cfgmask_unknown=0x0080 ;winpic doesn't know about IOSCFS, that's no problem.
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000


[PIC12F615]
info1=Tested with Willem Programmer
DeviceName=PIC12F615
DeviceInfoFileName=PIC12F615.dev
CodeMemType=1
CodeMemSize=1024
CodeMemBitsPerInst=14
DataEEPROMSize=0
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=-1 ; Only used for devices with cal in program memory.
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2180
CanRead=1
EraseAlgo=ERASE_12F6xx
CodeProgAlgo=12Fxx
ConfigProgAlgo=12Fxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=3000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24  ;must be externally timed
CmdEndProg=10
CmdEraseProg=9
CmdLoadData=-1
CmdReadData=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0xFC00
Cfgmask_unknown=0x0080 ;winpic doesn't know about IOSCFS, that's no problem.
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC12F635]
info1= PIC12F635 added and tested by FENG3, 2004-08-22
DeviceName=PIC12F635
DeviceInfoFileName=PIC12F635.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=128
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x0FA0
CanRead=0
EraseAlgo=12Fxx
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16F81x
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=6000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; WB: there is no "EraseRow"-command in WinPic yet !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x2000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FFF

[PIC12F675]
info1=Early PIC12F675 samples may not have a DEVICE ID at 0x2006 ?!
DeviceName=PIC12F675
DeviceInfoFileName=PIC12F675.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=128
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x03FF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x0FC0
CanRead=0
EraseAlgo=12Fxx
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0080
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x3000
Cfgmask2_used_bits=0x0000

[PIC12F683]
info1= PIC12F683 added and tested by FENG3, 2004-08-22
info2= Device ID in the programming spec was corrected
info3= Some algorithms exchanged by WoBu, 2006-03-01
info4= Similar mods MAY apply to 12F636,16F685..,16F639..
DeviceName=PIC12F683
DeviceInfoFileName=PIC12F683.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x0460
CalibAddrs=0x2008,-1,-1,-1
CalibMasks=0x1FDF,-1,-1,-1
CanRead=0
EraseAlgo=ERASE_12F6xx
; NEW erase algorithm since 2006-03-01 !
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
; ex: ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=6000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x3000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0200
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FDF

[PIC16F1933]
info1= PIC16F1933
info2= PIC16F1933
DeviceName=PIC16F1933
DeviceInfoFileName=PIC16F1933.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2420
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16LF1933]
info1= PIC16LF1933
info2= PIC16LF1933
DeviceName=PIC16LF1933
DeviceInfoFileName=PIC16LF1933.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2420
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16F1934]
info1= PIC16F1934
info2= PIC16F1934
DeviceName=PIC16F1934
DeviceInfoFileName=PIC16F1934.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2340
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16LF1934]
info1= PIC16LF1934
info2= PIC16LF1934
DeviceName=PIC16LF1934
DeviceInfoFileName=PIC16LF1934.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2440
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16F1936]
info1= PIC16F1936
info2= PIC16F1936
DeviceName=PIC16F1936
DeviceInfoFileName=PIC16F1936.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2360
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16LF1936]
info1= PIC16LF1936
info2= PIC16LF1936
DeviceName=PIC16LF1936
DeviceInfoFileName=PIC16LF1936.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2460
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16F1937]
info1= PIC16F1937
info2= PIC16F1937
DeviceName=PIC16F1937
DeviceInfoFileName=PIC16F1937.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2380
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16LF1937]
info1= PIC16LF1937
info2= PIC16LF1937
DeviceName=PIC16LF1937
DeviceInfoFileName=PIC16LF1937.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2480
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16F1938]
info1= PIC16F1938
info2= PIC16F1938
DeviceName=PIC16F1938
DeviceInfoFileName=PIC16F1936.dev
CodeMemType=1
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1024
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x23A0
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16LF1938]
info1= PIC16LF1938
info2= PIC16LF1938
DeviceName=PIC16LF1938
DeviceInfoFileName=PIC16LF1936.dev
CodeMemType=1
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1024
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x24A0
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16F1939]
info1= PIC16F1939
info2= PIC16F1939
DeviceName=PIC16F1939
DeviceInfoFileName=PIC16F1937.dev
CodeMemType=1
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1024
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x23A0
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16LF1939]
info1= PIC16LF1939
info2= PIC16LF1939
DeviceName=PIC16LF1939
DeviceInfoFileName=PIC16LF1937.dev
CodeMemType=1
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1024
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0x1E000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x018F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x24A0
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=MULTI_WORD
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x18
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1


[PIC16F610]
info1=untested
DeviceName=PIC16F610
DeviceInfoFileName=PIC16F610.dev
CodeMemType=1
CodeMemSize=1024
CodeMemBitsPerInst=14
DataEEPROMSize=0
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=-1 ; Only used for devices with cal in program memory.
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2260
CanRead=1
EraseAlgo=ERASE_12F6xx
CodeProgAlgo=12Fxx
ConfigProgAlgo=12Fxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=3000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24 ;must be externally timed
CmdEndProg=10
CmdEraseProg=9
CmdLoadData=-1
CmdReadData=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0xFC00
Cfgmask_unknown=0x0080 ;winpic doesn't know about IOSCFS, that's no problem.
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F616]
info1=untested
DeviceName=PIC16F616
DeviceInfoFileName=PIC16F616.dev
CodeMemType=1
CodeMemSize=2048
CodeMemBitsPerInst=14
DataEEPROMSize=0
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=-1 ; Only used for devices with cal in program memory.
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1240
CanRead=1
EraseAlgo=ERASE_12F6xx
CodeProgAlgo=12Fxx
ConfigProgAlgo=12Fxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=3000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24 ;must be externally timed
CmdEndProg=10
CmdEraseProg=9
CmdLoadData=-1
CmdReadData=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0xFC00
Cfgmask_unknown=0x0080 ;winpic doesn't know about IOSCFS, that's no problem.
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F627A]
info1= PIC16F627A added and tested by FENG3
info2= Device ID changed by Microchip recently !!
DeviceName=PIC16F627A
DeviceInfoFileName=PIC16F627A.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=128
InternalRAMSize=224
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1040
CanRead=0
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16XXX
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x1E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F628]
DeviceName=PIC16F628
DeviceInfoFileName=PIC16F628.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=128
InternalRAMSize=224
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x07C0
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=16Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16XXX
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0200
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x3C00
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F628A]
info1= PIC16F628A added by Leonardo, different device ID,
info2= and different 'Bulk Erase' procedure than 16F628 !
DeviceName=PIC16F628A
DeviceInfoFileName=PIC16F628A.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=128
InternalRAMSize=224
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1060
CanRead=0
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16XXX
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x1E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F631]
info1= PIC16F631 added and being tested by George Blat 2007-05-21
DeviceName=PIC16F631
DeviceInfoFileName=PIC16F631.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=128
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=2008
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x10A0
CanRead=0
EraseAlgo=12Fxx
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16F81x
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=6000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x2000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_lp=0x0000
Cfgmask_osc_xt=0x0001
Cfgmask_osc_hs=0x0002
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_osc_rc=0x0007
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FFF

[PIC16F636]
info1= PIC16F636 added and tested by FENG3, 2004-08-22
DeviceName=PIC16F636
DeviceInfoFileName=PIC16F636.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x10A0
CanRead=0
EraseAlgo=12Fxx
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16F81x
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=6000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x2000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FFF

[PIC16F648A] 
info1=PIC16F648A 4K, added by M. Holm
DeviceName=PIC16F648A
DeviceInfoFileName=PIC16F648A.dev
CodeMemType=1
CodeMemSize=4096 
DataEEPROMSize=256 
InternalRAMSize=256 
AddrConfigMem=0x2000 
AddrConfigWord=0x2007 
AddrDataMem=0x2100 
AddrOscCalib=0xFFFFFFFF 
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006 
DeviceIdMask=0x3FE0 
DeviceIdValue=0x1101 
EraseAlgo=ERASE_16F62xA 
CodeProgAlgo=16Fxx 
ConfigProgAlgo=CONFIG_MEM_16xxx 
DataProgAlgo=DATA_EEPROM_16XXX 
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5 
Ti_Prog_us=10000 
Ti_Erase_us=10000 
CmdLoadConfig=0 
CmdLoadProg=2 
CmdReadProg=4 
CmdIncrAddr=6 
CmdBeginProg=8 
CmdEndProg=14 
CmdLoadData=3 
CmdReadData=5 
CmdEraseProg=9 
CmdEraseData=11 
CmdEraseChip=-1 
CmdBeginProgNoErase=-1 
Cfgmask_unused=0x1E00 
Cfgmask_unknown=0x0000 
Cfgmask_cpbits=0x2000 
Cfgmask_cpd=0x0100 
Cfgmask_pwrte=0x0008 
Cfgmask_inv_pwrte=0x0008 
Cfgmask_wdte=0x0004 
Cfgmask_oscillator=0x0013 
Cfgmask_osc_rc=0x0013 
Cfgmask_osc_hs=0x0002 
Cfgmask_osc_xt=0x0001 
Cfgmask_osc_lp=0x0000 
Cfgmask_osc_extclk=0x0003 
Cfgmask_osc_intrc_noclkout=0x0010 
Cfgmask_osc_intrc_clkout=0x0011 
Cfgmask_osc_extrc_noclkout=0x0012 
Cfgmask_lvp=0x0080 
Cfgmask_boden=0x0040 
Cfgmask_mclre=0x0020 
Cfgmask_ddebug=0x0000 
Cfgmask_wrcode=0x0000 
Cfgmask_bandgap=0x0000 
Cfgmask2_used_bits=0x0000 

[PIC16F676]
info1= PIC16F676 added by Rich Heslip, merged 2004-08-07
DeviceName=PIC16F676
DeviceInfoFileName=PIC16F676.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=128
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x03FF
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x10E0
CanRead=1
EraseAlgo=16F630
CodeProgAlgo=16F630
ConfigProgAlgo=16F630
DataProgAlgo=DATA_EEPROM_16xxx
Ti_Clock_us=10
Ti_Prog_us=6000
Ti_Erase_us=6000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0080
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x3000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F684]
info1= PIC16F684 added by Rich Heslip, merged 2004-08-07
info2= Modified and tested by FENG3, 2004-08-22
info3= R.H. added new WinPIC parameter ConfigMemUsedLocs00_1F=0x01CF to load/save OSCCAL data
DeviceName=PIC16F684
DeviceInfoFileName=PIC16F684.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1080
CanRead=0
EraseAlgo=12Fxx
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=6000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x3000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0200
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FDF 

[PIC16F687]
info1= PIC16F687 added 04/2007 by David Theunissen
DeviceName=PIC16F687
DeviceInfoFileName=PIC16F687.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1325
CanRead=0
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x3000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0200
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FDF


[PIC16F688]
info1= PIC16F688 added and tested by FENG3, 2004-08-22
DeviceName=PIC16F688
DeviceInfoFileName=PIC16F688.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1180
CanRead=0
EraseAlgo=12Fxx
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=6000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x3000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0200
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FDF

[PIC16F689]
info1= PIC16F689 added and tested by Attila, 2006-09-06
DeviceName=PIC16F689
DeviceInfoFileName=PIC16F689.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1340
CanRead=0
EraseAlgo=16Fxx
CodeProgAlgo=16Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=6000
Ti_Erase_us=5000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17 ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0xC000
Cfgmask_unknown=0x0C00
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
;Cfgmask_ieso=0x0400 ; not built-in (loaded in MPLAB dev file)
;Cfgmask_fcmen=0x0800 ; not built-in (loaded in MPLAB dev file)
Cfgmask2_used_bits=0x1FFF

[PIC16F690_WB]
info1= PIC16F690 added 2007-08-27 by Wolfgang Buescher
DeviceName=PIC16F690_WB
DeviceInfoFileName=PIC16F690.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1400
CanRead=0
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=12Fxx
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdLoadData=3
CmdReadProg=4
CmdReadData=5
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdEraseProg=9
CmdEraseData=11
; CmdEraseRow=17  ; there is no "EraseRow"-command in WinPic !
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x3000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0200
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x1FDF

[PIC16F690]
info1= PIC16F690 added 2008-01 by Andrew Kibler
DeviceName=PIC16F690
DeviceInfoFileName=PIC16F690.dev
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1400
CanRead=1
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF ;unused
EraseAlgo=ERASE_12F6xx
CodeProgAlgo=12Fxx
ConfigProgAlgo=12Fxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=4000
Ti_Erase_us=7000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24 ;externally timed;  8 internally timed
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x3000
Cfgmask_unknown=0x0C00
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0
Cfgmask_wrcode=0
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000


[PIC16F716]
info1=Not tested yet; there is something strange with the 16F716 .
info2= It writes FOUR LOCATIONS per programming cycle !
info3= Please note the strange verify-behaviour of the ID locations !
DeviceName=PIC16F716
DeviceInfoFileName=PIC16F716.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=0
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1140
CanRead=0
; Erase seemed to work with ERASE_16F62xA, but :
EraseAlgo=16F716
; CodeProgAlgo=16Fxx did NOT work, so :
CodeProgAlgo=16F716
; Caution, 16F716 writes FOUR code memory locations a time !
ConfigProgAlgo=16F716
; Problems with config mem/JDM2: verify ok on 2nd attempt(?!)
; PIC16F716 has no DATA EEPROM, so :
DataProgAlgo=NONE
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=15
Ti_Prog_us=2000
Ti_Erase_us=6000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24
CmdEndProg=14
; This is strange, BeginProg=24 and EndProg=9 , 
; others (16F818): BeginProg=24 and EndProg=23 !
CmdLoadData=-1
CmdReadData=-1
CmdReadData=-1
CmdEraseProg=9
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x1E00
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F737]
info1= PIC16F737 never tested, TWO LOCATIONS at a time
DeviceName=PIC16F737
DeviceInfoFileName=PIC16F737.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=0
InternalRAMSize=368
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x008F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x0BA0
CanRead=0
EraseAlgo=16F7x7
CodeProgAlgo=16F7x7
ConfigProgAlgo=16F7x7
DataProgAlgo=NONE
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=1000
Ti_Erase_us=30000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=9
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0900
Cfgmask_unknown=0x0800
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x1000
Cfgmask2_used_bits=0x0043

[PIC16F74]
info1= PIC16F74 never tested, TWO LOCATIONS at a time
info2= seems to use similar algorithm as PIC16F737
info3= but Microchip decided to write yet another prog spec :(
DeviceName=PIC16F74
DeviceInfoFileName=PIC16F74.dev
CodeMemType=1
CodeMemBitsPerInst=14
CodeMemSize=4096
DataEEPROMSize=0
InternalRAMSize=192
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x008F
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x002000
IdMemorySize=4
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x0620
CanRead=1
EraseAlgo=16F7x
CodeProgAlgo=16F7x
ConfigProgAlgo=16F7x
DataProgAlgo=NONE
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=10
Ti_Prog_us=1000
Ti_Erase_us=30000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x3FE0
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0010
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000


[PIC16F818]
info1= PIC16F818 uses a modified programming algorithm with "4 words at once".
info2= Support for this device was added 2003-09-19 by WoBu.
info3= The ccpmx bit in the config word is a new feature (capture/compare pin).
DeviceName=PIC16F818
DeviceInfoFileName=PIC16F818.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=128
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FF0
DeviceIdValue=0x04C0
CanRead=0
EraseAlgo=ERASE_16F81x
CodeProgAlgo=16F81x
ConfigProgAlgo=CONFIG_MEM_16F81x
DataProgAlgo=16F81x
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=5
Ti_Prog_us=2000
Ti_Erase_us=8000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24
CmdEndProg=23
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=31
CmdBeginProgNoErase=24
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0600
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x1000
Cfgmask2_used_bits=0x0000


[PIC16F84]
info1=This old buddy has NO DEVICE ID at 0x2006 !
DeviceName=PIC16F84
DeviceInfoFileName=PIC16F84.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=64
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x008F
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x0000
DeviceIdMask=0x0000
DeviceIdValue=0x0000
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=16Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=unknown
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x3FF0
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F84A]
info1= PIC16F84A added and tested by FENG3
DeviceName=PIC16F84A
DeviceInfoFileName=PIC16F84A.dev
CodeMemType=1
CodeMemSize=1024
DataEEPROMSize=64
InternalRAMSize=64
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x0560
CanRead=1
EraseAlgo=16Fxx
CodeProgAlgo=16Fxx
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=unknown
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x3FF0
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F87]
info1= PIC16F87 uses a similar algorith like 16F818 with "4 words at once".
info2= Support for this device was added 2003-12 but not tested yet.
DeviceName=PIC16F87
DeviceInfoFileName=PIC16F87.dev
DeviceIdAddr=0x2006
DeviceIdMask=0x3FF0
DeviceIdValue=0x0720
CanRead=0
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
EraseAlgo=ERASE_16F81x
CodeProgAlgo=16F81x
ConfigProgAlgo=CONFIG_MEM_16F81x
DataProgAlgo=16F81x
VppVddSequence=unknown
Ti_Clock_us=5
Ti_Prog_us=2000
Ti_Erase_us=8000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24
CmdEndProg=23
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=31
CmdBeginProgNoErase=24
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0600
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x1000
Cfgmask2_used_bits=0x0003

[PIC16F872]
info1= CAUTION ! 16F877 Timing parameters modified for testing purposes ! !
info2= Original Ti_Clock_us was 1, changed to 5, better for simple interfaces.
info3= Last modified by Dena M. 2008-05
DeviceName=PIC16F872
DeviceInfoFileName=PIC16F872.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=64
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
EraseAlgo=ERASE_16F87x
CodeProgAlgo=16F87x
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0400
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x3030
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0200
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F873A]
info1=Changed to "Vdd before Vpp" in 2004-09-13
info2=Changed Cfgmask_wrcode to 0x0600 2005-04-04
DeviceName=PIC16F873A
DeviceInfoFileName=PIC16F873A.dev
DeviceIdAddr=0x2006
DeviceIdMask=0x3FF0
DeviceIdValue=0x0E40
CanRead=0
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=128
InternalRAMSize=192
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x00CF
ConfigMemUsedLocs20_3F=0x0000
EraseAlgo=ERASE_16F87xA
CodeProgAlgo=16F87xA
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87xA
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=5
Ti_Prog_us=8000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x1030
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0600 
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F874A]
info1=Changed to "Vdd before Vpp" in 2004-09-13 
DeviceName=PIC16F874A
DeviceInfoFileName=PIC16F874A.dev
DeviceIdAddr=0x2006
DeviceIdMask=0x3FF0
DeviceIdValue=0x0E60
CanRead=0
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=128
InternalRAMSize=192
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
EraseAlgo=ERASE_16F87xA
CodeProgAlgo=16F87xA
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87xA
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=5
Ti_Prog_us=8000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x1030
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0600
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F876A]
info1=Changed to "Vdd before Vpp" in 2004-09-13 
DeviceName=PIC16F876A
DeviceInfoFileName=PIC16F876A.dev
DeviceIdAddr=0x2006
DeviceIdMask=0x3FF0
DeviceIdValue=0x0E00
CanRead=0
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=368
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
EraseAlgo=ERASE_16F87xA
CodeProgAlgo=16F87xA
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87xA
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=5
Ti_Prog_us=8000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x1030
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0600
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F877]
info1= CAUTION ! 16F877 Timing parameters modified for testing purposes ! !
info2= Original Ti_Clock_us was 1, changed to 5, better for simple interfaces.
info3= Last modified by W.B. 2005-03-13
DeviceName=PIC16F877
DeviceInfoFileName=PIC16F877.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=-1
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
EraseAlgo=ERASE_16F87x
CodeProgAlgo=16F87x
ConfigProgAlgo=CONFIG_MEM_16xxx
DataProgAlgo=DATA_EEPROM_16xxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0400
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x3030
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0200
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F877A]
info1=Changed to "Vdd before Vpp" in 2004-09-13 
info2=Programming spec doesn't say anything about this
DeviceName=PIC16F877A
DeviceInfoFileName=PIC16F877A.dev
DeviceIdAddr=0x2006
DeviceIdMask=0x3FF0
DeviceIdValue=0x0E20
CanRead=0
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=368
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
EraseAlgo=ERASE_16F87xA
CodeProgAlgo=16F87xA
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87xA
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=5
Ti_Prog_us=8000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=14
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x1030
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0003
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0600
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F88]
info1= PIC16F88 uses a similar algorith like 16F818 with "4 words at once".
info2= Support for this device was added 2003-12 and tested in 2005-11 .
DeviceName=PIC16F88
DeviceInfoFileName=PIC16F88.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=128
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0xFFFFFFFF
DeviceIdAddr=0x2006
DeviceIdMask=0x3FF0
DeviceIdValue=0x0760
CanRead=0
EraseAlgo=ERASE_16F81x
CodeProgAlgo=16F81x
ConfigProgAlgo=CONFIG_MEM_16F81x
DataProgAlgo=16F81x
VppVddSequence=unknown
Ti_Clock_us=5
Ti_Prog_us=2000
Ti_Erase_us=8000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=24
CmdEndProg=23
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=31
CmdBeginProgNoErase=24
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x2000
Cfgmask_cpd=0x0100
Cfgmask_pwrte=0x0008
Cfgmask_inv_pwrte=0x0008
Cfgmask_wdte=0x0004
Cfgmask_oscillator=0x0013
Cfgmask_osc_rc=0x0013
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0010
Cfgmask_osc_intrc_clkout=0x0011
Cfgmask_osc_extrc_noclkout=0x0012
Cfgmask_lvp=0x0080
Cfgmask_boden=0x0040
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x0600
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x1000
Cfgmask2_used_bits=0x0003

[PIC16F883]
info1= PIC16F883 uses a similar algorith like 16F818 with "4 words at once".
info2= Support for this device was added 2008-2-10 (by jean for chatpad hack).
info3= Erase algorithm set to "16F716" cured the erase-problem - tnx Travis.
DeviceName=PIC16F883
DeviceInfoFileName=PIC16F883.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x2009 ; not only osc calibration
DeviceIdAddr=0x2006
DeviceIdMask=0x01FF ; not sure about this...
DeviceIdValue=0x0101
CanRead=0
EraseAlgo=16F716
; ex: ERASE_16F87xA
CodeProgAlgo=16F87xA
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87xA
VppVddSequence=Vpp_before_Vdd ; device supports all methods, but only this allows for all possible config words
Ti_Clock_us=5
Ti_Prog_us=8000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8 ; 24 for external timing
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0xC000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x1000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x2000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F886]
info1= PIC16F886 uses a similar algorithm like 16F81x not 16F87xA!!!
info2= Added 2008-05-01 by Ivan D.
DeviceName=PIC16F886
DeviceInfoFileName=PIC16F886.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=368
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x2009 ; not only osc calibration
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0 ; get from PDF PIC16F88x_flash_programing_41287C
DeviceIdValue=0x2060 ; get from PDF PIC16F88x_flash_programing_41287C
CanRead=0
EraseAlgo=ERASE_16F81x
CodeProgAlgo=16F81x
ConfigProgAlgo=CONFIG_MEM_16F81x
DataProgAlgo=16F81x
VppVddSequence=Vpp_before_Vdd ; device supports all methods, but only this allows for all possible config words
Ti_Clock_us=5
Ti_Prog_us=8000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8 ; 24 for external timing
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0xC000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x1000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x2000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F913]
info1= Support added by Victor Monroy October 2005
info2= Modified by Nam Nguyen-Quang February 2006
DeviceName=PIC16F913
DeviceInfoFileName=PIC16F913.dev
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x13E0
CanRead=0
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x2008
; EraseAlgo=ERASE_16F87xA
; Note NN-Q: The above works, but fails when you enable Code Protection
EraseAlgo=16F716
CodeProgAlgo=16F87x
; ex: ConfigProgAlgo=CONFIG_MEM_16F87x
; Note WB: ConfigProgAlgo=CONFIG_MEM_16F87x does not exist !
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87x
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x2000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x1000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F914]
info1= PIC16F914, added and tested by Nam Nguyen-Quang, 2006-02-04
DeviceName=PIC16F914
DeviceInfoFileName=PIC16F914.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=256
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x2008
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x13C0
CanRead=0
; EraseAlgo=ERASE_16F87xA
; The above works, but fails when you enable Code Protection
EraseAlgo=16F716
CodeProgAlgo=16F87x
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87x
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x2000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x1000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F916]
info1= PIC16F916, added and tested by Nam Nguyen-Quang, 2006-02-04
DeviceName=PIC16F916
DeviceInfoFileName=PIC16F916.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=352
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x2008
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x13A0
CanRead=0
; EraseAlgo=ERASE_16F87xA
; The above works, but fails when you enable Code Protection
EraseAlgo=16F716
CodeProgAlgo=16F87x
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87x
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x2000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x1000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F917]
info1= PIC16F917, added and tested by Nam Nguyen-Quang, 2006-02-04
DeviceName=PIC16F917
DeviceInfoFileName=PIC16F917.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=352
AddrConfigMem=0x2000
AddrConfigWord=0x2007
AddrDataMem=0x2100
AddrOscCalib=0x2008
DeviceIdAddr=0x2006
DeviceIdMask=0x3FE0
DeviceIdValue=0x1380
CanRead=0
; EraseAlgo=ERASE_16F87xA
; The above works, but fails when you enable Code Protection
EraseAlgo=16F716
CodeProgAlgo=16F87x
ConfigProgAlgo=CONFIG_MEM_16F87xA
DataProgAlgo=16F87x
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=5
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=0
CmdLoadProg=2
CmdReadProg=4
CmdIncrAddr=6
CmdBeginProg=8
CmdEndProg=10
CmdLoadData=3
CmdReadData=5
CmdEraseProg=9
CmdEraseData=11
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x2000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0040
Cfgmask_cpd=0x0080
Cfgmask_pwrte=0x0010
Cfgmask_inv_pwrte=0x0010
Cfgmask_wdte=0x0008
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0007
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0003
Cfgmask_osc_intrc_noclkout=0x0004
Cfgmask_osc_intrc_clkout=0x0005
Cfgmask_osc_extrc_noclkout=0x0006
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0300
Cfgmask_mclre=0x0020
Cfgmask_ddebug=0x1000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F2220]
info1= PIC18F2220, added and tested by Nam Nguyen-Quang, 2005-09-15
info2= Make sure that ALL the power pins are connected !
DeviceName=PIC18F2220
DeviceInfoFileName=PIC18F2220.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0580
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0002
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2320]
info1= PIC18F2320, added and tested by Nam Nguyen-Quang, 2005-05-24
DeviceName=PIC18F2320
DeviceInfoFileName=PIC18F2320.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0500
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0000
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0800
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2331]
info1= PIC18F2331, added and tested (2005-10) by Nam Nguyen-Quang
info2= Make sure that ALL the power pins are connected !
DeviceName=PIC18F2331
DeviceInfoFileName=PIC18F2331.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x08E0
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F2420]
info1= PIC18F2420, added and tested by Nam Nguyen-Quang, 2005-06-29
DeviceName=PIC18F2420
DeviceInfoFileName=PIC18F2420.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1140
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0001
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0003
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2431]
info1= PIC18F2431, added and tested (2005-10) by Nam Nguyen-Quang
info2= Make sure that ALL the power pins are connected !
DeviceName=PIC18F2431
DeviceInfoFileName=PIC18F2431.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x08C0
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0081
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0000
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F2450]
info1= PIC18F2450, added and tested by Nam Nguyen-Quang, 2006-06-03
DeviceName=PIC18F2450
DeviceInfoFileName=PIC18F2450.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=0
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x007F
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x2000000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x2420
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=16
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F2455]
info1= PIC18F2455, added and tested by Nam Nguyen-Quang, 2005-06-21
DeviceName=PIC18F2455
DeviceInfoFileName=PIC18F2455.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=12288
DataEEPROMSize=256
InternalRAMSize=2048
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x007F
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x2000000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1260
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F2480]
info1= PIC18F2480, added and tested by Nam Nguyen-Quang, 2005-06-29
DeviceName=PIC18F2480
DeviceInfoFileName=PIC18F2480.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1AE0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0003
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2520]
info1= PIC18F2520, added and tested by Nam Nguyen-Quang, 2005-06-29
info2= The device has been idenfied as 16F648A
DeviceName=PIC18F2520
DeviceInfoFileName=PIC18F2520.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1100
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2525]
info1= PIC18F2525, added and tested by Nam Nguyen-Quang, 2005-05-24
DeviceName=PIC18F2525
DeviceInfoFileName=PIC18F2525.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=24576
DataEEPROMSize=1024
InternalRAMSize=3986
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0CC0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0004
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2539]
info1= PIC18F2539, added and tested by Nam Nguyen-Quang, 2005-05-25
DeviceName=PIC18F2539
DeviceInfoFileName=PIC18F2539.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=12288
DataEEPROMSize=256
InternalRAMSize=1408
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0400
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0004
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F2550]
info1= Support for some newer PIC18F devices added by Martin v.d. Werff 2005
DeviceName=PIC18F2550
DeviceInfoFileName=PIC18F2550.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=2048
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x007F
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x2000000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1240
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F2580]
info1= PIC18F2580, added and tested by Nam Nguyen-Quang, 2005-06-29
DeviceName=PIC18F2580
DeviceInfoFileName=PIC18F2580.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1AC0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2585]
info1= PIC18F2585, added and tested by Nam Nguyen-Quang, 2005-05-25
DeviceName=PIC18F2585
DeviceInfoFileName=PIC18F2585.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=24576
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0EE0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2620]
info1= PIC18F2620, added and tested by Nam Nguyen-Quang, 2005-05-25
DeviceName=PIC18F2620
DeviceInfoFileName=PIC18F2620.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=32768
DataEEPROMSize=1024
InternalRAMSize=3986
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0C80
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F2680]
info1= PIC18F2680, added and tested by Nam Nguyen-Quang, 2005-05-25
DeviceName=PIC18F2680
DeviceInfoFileName=PIC18F2680.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=32768
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0EC0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F442]
DeviceName=PIC18F442
DeviceInfoFileName=PIC18F442.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0xFFFE
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x2000000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x04A0
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=8
; Write-Buffer-Size in bytes. 8 for PIC18Fxx2/xx8 !
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F4220]
info1= PIC18F4220, added and tested by Nam Nguyen-Quang, 2005-09-15
DeviceName=PIC18F4220
DeviceInfoFileName=PIC18F4220.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x05A0
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0002
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4320]
info1= PIC18F4320, added and tested by Nam Nguyen-Quang, 2005-05-31
DeviceName=PIC18F4320
DeviceInfoFileName=PIC18F4320.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=512
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0520
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4331]
info1= PIC18F4331, added and tested by Nam Nguyen-Quang, 2005-09-16
DeviceName=PIC18F4331
DeviceInfoFileName=PIC18F4331.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x08A0
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0081
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0002
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F4420]
info1= PIC18F4420, added and tested by Nam Nguyen-Quang, 2005-08-11
DeviceName=PIC18F4420
DeviceInfoFileName=PIC18F4420.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x10C0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0003
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4431]
info1= PIC18F4431, added and tested by Nam Nguyen-Quang, 2005-08-11
DeviceName=PIC18F4431
DeviceInfoFileName=PIC18F4431.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0880
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0081
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0002
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F4450]
info1= PIC18F4450, added and tested by Nam Nguyen-Quang, 2006-06-03
DeviceName=PIC18F4450
DeviceInfoFileName=PIC18F4450.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=0
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x007F
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x2000000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x2400
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=16
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F4480]
info1= PIC18F4480, added and tested by Nam Nguyen-Quang, 2005-08-11
DeviceName=PIC18F4480
DeviceInfoFileName=PIC18F4480.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=768
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1AA0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0003
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4520]
info1= PIC18F4520, added and tested by Nam Nguyen-Quang, 2005-08-11
DeviceName=PIC18F4520
DeviceInfoFileName=PIC18F4520.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1080
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F452]
info1= PIC18F452, added and tested by Nam Nguyen-Quang, 2005-06-21
DeviceName=PIC18F452
DeviceInfoFileName=PIC18F452.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0420
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0005
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0002
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4525]
info1= PIC18F4525, added and tested by Nam Nguyen-Quang, 2005-06-21
info2= at first, erase the chip (select PIC18F4585),
info3= then select the correct chip and program
DeviceName=PIC18F4525
DeviceInfoFileName=PIC18F4525.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=24576
DataEEPROMSize=1024
InternalRAMSize=3986
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0C40
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000C
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0004
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4539]
info1= PIC18F4539, added and tested by Nam Nguyen-Quang, 2005-09-15
DeviceName=PIC18F4539
DeviceInfoFileName=PIC18F4539.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=12288
DataEEPROMSize=256
InternalRAMSize=1408
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0420
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0004
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC18F4550]
info1= PIC18F452, added and tested by Eugenio Montefusco, 2006-07-12
DeviceName=PIC18F4550
DeviceInfoFileName=PIC18F4550.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0420
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=32
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0005
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0002
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F458]
info1= PIC18F458, added and tested by Nam Nguyen-Quang, 2005-06-21
DeviceName=PIC18F458
DeviceInfoFileName=PIC18F458.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0860
CanRead=0
EraseAlgo=PIC18F_OLD
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x0007
Cfgmask_osc_rc=0x0003
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0005
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0002
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4580]
info1= PIC18F4580, added and tested by Nam Nguyen-Quang, 2005-06-29
DeviceName=PIC18F4580
DeviceInfoFileName=PIC18F4580.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=256
InternalRAMSize=1536
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1A80
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4585]
info1= PIC18F4585, added and tested by Nam Nguyen-Quang, 2005-05-31
DeviceName=PIC18F4585
DeviceInfoFileName=PIC18F4585.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=24576
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0EA0
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0007
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4620]
info1= PIC18F4620, added and tested by Nam Nguyen-Quang, 2005-06-21
info2= Write-Buffer-Size specified here since 2005-12-06
info3= Info: to cure an issue with bulk erase (not tested yet - WB)
DeviceName=PIC18F4620
DeviceInfoFileName=PIC18F4620.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=32768
DataEEPROMSize=1024
InternalRAMSize=3986
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0C00
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=64
; Write-Buffer-Size in bytes. Important because WinPic doesn't know this for the 18F4620 !
; The erase-buffer-size mentioned in the programming specs is 64 bytes too .
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4680]
info1= PIC18F4680, added and tested by Nam Nguyen-Quang, 2005-05-31
DeviceName=PIC18F4680
DeviceInfoFileName=PIC18F4680.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=32768
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0E80
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000

[PIC18F4685]
info1= PIC18F4685, added and tested by Howard Cripe, 2007-01-23
DeviceName=PIC18F4685
DeviceInfoFileName=PIC18F4685.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=49152
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x2760
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
ConfigProgAlgo=PIC18F
CodeMemWriteLatchSize=64
CodeMemEraseLatchSize=64
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0091
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x000F
Cfgmask_cpd=0x8000
Cfgmask_pwrte=0x0001
Cfgmask_inv_pwrte=0x0001
Cfgmask_wdte=0x0100
Cfgmask_oscillator=0x000F
Cfgmask_osc_rc=0x000E
Cfgmask_osc_hs=0x0002
Cfgmask_osc_xt=0x0001
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0005
Cfgmask_osc_intrc_noclkout=0x0008
Cfgmask_osc_intrc_clkout=0x0009
Cfgmask_osc_extrc_noclkout=0x0007
Cfgmask_lvp=0x0004
Cfgmask_boden=0x0006
Cfgmask_mclre=0x8000
Cfgmask_ddebug=0x0080
Cfgmask_wrcode=0x2000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0100
Cfgmask2_used_bits=0x0000 

[PIC18F6527]
info1= PIC18F6527 added by Wolfgang Buescher 2006-04-08
info2= NEVER TESTED DUE TO A LACK OF SAMPLES ! (Murphy says it won't work)
DeviceName=PIC18F6527
DeviceInfoFileName=PIC18F6527.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=32768
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x1340
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
; Write-and Erase-Buffer-Size in bytes. Both 64 for "18F8722 family" (!)
CodeMemWriteLatchSize=64
CodeMemEraseLatchSize=64
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_wdte=0x0100
Cfgmask2_used_bits=0x1F0F


[PIC18F6585]
info1= PIC18F6585 added by WB for Adrian Mazza (email 2u bounced!),
info2= never tested due to a lack of PIC samples :-(  2005-12-03
DeviceName=PIC18F6585
DeviceInfoFileName=PIC18F6585.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=24576
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0A60
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=8
; Write-Buffer-Size in bytes. 8 for PIC18Fxx80/xx85 !
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_wdte=0x0100
Cfgmask2_used_bits=0x1F0F

[PIC18F6680]
info1= PIC18F6680 added by David Liaw (dlvh1998@hotmail.com),
info2= tested. working.
DeviceName=PIC18F6680
DeviceInfoFileName=PIC18F6680.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=32768
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0A10
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=8
; Write-Buffer-Size in bytes. 8 for PIC18Fxx80/xx85 !
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_wdte=0x0100
Cfgmask2_used_bits=0x1F0F

[PIC18F8490]
info1= PIC18F8490 added by Oliver Breitwieser
info2= tested. working.
DeviceName=PIC18F8490
DeviceInfoFileName=PIC18F8490.dev
CodeMemType=1
CodeMemBitsPerInst=16
CodeMemSize=16384
DataEEPROMSize=1024
InternalRAMSize=3328
AddrConfigMem=0x300000
AddrConfigWord=0x300000
AddrDataMem=0xF00000
ConfigMemUsedLocs00_1F=0x3FFF
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0x200000
IdMemorySize=8
DeviceIdAddr=0x3FFFFE
DeviceIdMask=0xFFE0
DeviceIdValue=0x0A10
CanRead=0
EraseAlgo=PIC18F
CodeProgAlgo=PIC18F
CodeMemWriteLatchSize=8
; Write-Buffer-Size in bytes. 8 for PIC18Fxx80/xx85 !
ConfigProgAlgo=PIC18F
DataProgAlgo=PIC18F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_wdte=0x0100
Cfgmask2_used_bits=0x1F0F

[dsPIC30F2010]
info1= Support for some dsPIC devices added by W.Buescher 2005
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F2010
DeviceInfoFileName=dsPIC30F2010.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=4096
DataEEPROMSize=1024
InternalRAMSize=512
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x0040
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=10000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F2011]
info1= dsPIC30F2011, added and tested by Nam Nguyen-Quang, 2006-01-29
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F2011
DeviceInfoFileName=dsPIC30F2011.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=4096
DataEEPROMSize=0
InternalRAMSize=1024
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x0240
; ToDo: Implement a way to have TWO DEVICE IDs for this chip !
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000


[dsPIC30F2012]
info1= dsPIC30F2012, added and tested by Nam Nguyen-Quang, 2006-01-28
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F2012
DeviceInfoFileName=dsPIC30F2012.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=4096
DataEEPROMSize=0
InternalRAMSize=1024
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x0241
;ToDo: Implement *TWO* DeviceIDs for this chip !
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F3010]
info1= dsPIC30F3010, added and tested by Nam Nguyen-Quang, 2006-01-28
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F3010
DeviceInfoFileName=dsPIC30F3010.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=8192
DataEEPROMSize=1024
InternalRAMSize=1024
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x01C0
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F3011]
info1= dsPIC30F3011, added and tested by Nam Nguyen-Quang, 2006-01-12
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F3011
DeviceInfoFileName=dsPIC30F3011.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=8192
DataEEPROMSize=1024
InternalRAMSize=1024
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x01C1
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F3012]
info1= dsPIC30F3012, added and tested by Nam Nguyen-Quang, 2006-01-29
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F3012
DeviceInfoFileName=dsPIC30F3012.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=8192
DataEEPROMSize=1024
InternalRAMSize=2048
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x00C1
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F3013]
info1= dsPIC30F3013, added and tested by Nam Nguyen-Quang, 2006-01-28
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F3013
DeviceInfoFileName=dsPIC30F3013.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=8192
DataEEPROMSize=1024
InternalRAMSize=2048
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x00C3
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F3014]
info1= dsPIC30F3014, added and tested by Nam Nguyen-Quang, 2006-01-10
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
info3= 2007-07-14 DeviceIdValue changed from 0x0140 to 0x0160 - tnx Gary
DeviceName=dsPIC30F3014
DeviceInfoFileName=dsPIC30F3014.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=8192
DataEEPROMSize=1024
InternalRAMSize=2048
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x0160
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F4011]
info1= dsPIC30F4011, added and tested by Nam Nguyen-Quang, 2006-01-28
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F4011
DeviceInfoFileName=dsPIC30F4011.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=16384
DataEEPROMSize=1024
InternalRAMSize=2048
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x0101
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[dsPIC30F4012]
info1= dsPIC30F4012, added and tested by Nam Nguyen-Quang, 2006-01-28
info2= Note: The config bit defs SHOULD be loaded from Microchip's dev-file
DeviceName=dsPIC30F4012
DeviceInfoFileName=dsPIC30F4012.dev
CodeMemType=1
CodeMemBitsPerInst=24
CodeMemSize=16384
DataEEPROMSize=1024
InternalRAMSize=2048
AddrConfigMem=0xF80000
AddrConfigWord=0xF80000
AddrDataMem=0x7FFC00
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x0027
ConfigMemUsedLocs20_3F=0x0000
IdMemoryBase=0xFF00000
IdMemorySize=0
DeviceIdAddr=0xFF0000
DeviceIdMask=0xFFFF
DeviceIdValue=0x0100
CanRead=0
EraseAlgo=dsPIC30F
CodeProgAlgo=dsPIC30F
ConfigProgAlgo=dsPIC30F
DataProgAlgo=dsPIC30F
VppVddSequence=Vdd_before_Vpp
Ti_Clock_us=1
Ti_Prog_us=2000
Ti_Erase_us=10000
CmdLoadConfig=-1
CmdLoadProg=-1
CmdReadProg=-1
CmdIncrAddr=-1
CmdBeginProg=-1
CmdEndProg=-1
CmdLoadData=-1
CmdReadData=-1
CmdEraseProg=-1
CmdEraseData=-1
CmdEraseChip=-1
CmdBeginProgNoErase=-1
Cfgmask_unused=0x0000
Cfgmask_unknown=0x0000
Cfgmask_cpbits=0x0000
Cfgmask_cpd=0x0000
Cfgmask_pwrte=0x0000
Cfgmask_inv_pwrte=0x0000
Cfgmask_wdte=0x0000
Cfgmask_oscillator=0x0000
Cfgmask_osc_rc=0x0000
Cfgmask_osc_hs=0x0000
Cfgmask_osc_xt=0x0000
Cfgmask_osc_lp=0x0000
Cfgmask_osc_extclk=0x0000
Cfgmask_osc_intrc_noclkout=0x0000
Cfgmask_osc_intrc_clkout=0x0000
Cfgmask_osc_extrc_noclkout=0x0000
Cfgmask_lvp=0x0000
Cfgmask_boden=0x0000
Cfgmask_mclre=0x0000
Cfgmask_ddebug=0x0000
Cfgmask_wrcode=0x0000
Cfgmask_bandgap=0x0000
Cfgmask_ccpmx=0x0000
Cfgmask2_used_bits=0x0000

[PIC16F1827]
info1= Created and tested by Sinisha(rsinisa) Jul 31, 2012
info2= PIC16F1827
DeviceName=PIC16F1827
DeviceInfoFileName=PIC16F1827.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x27A0
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC12F1822]
info1= Derived from PIC16F1827
info2= PIC12F1822
DeviceName=PIC12F1822
DeviceInfoFileName=PIC12F1822.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2700
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16F1823]
info1= Derived from PIC16F1827
info2= PIC16F1823
DeviceName=PIC16F1823
DeviceInfoFileName=PIC16F1823.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2720
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16F1824]
info1= Derived from PIC16F1827
info2= PIC16F1824
DeviceName=PIC16F1824
DeviceInfoFileName=PIC16F1824.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2740
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16F1825]
info1= Derived from PIC16F1827
info2= PIC16F1825
DeviceName=PIC16F1825
DeviceInfoFileName=PIC16F1825.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2760
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16F1826]
info1= Derived from PIC16F1827
info2= PIC16F1826
DeviceName=PIC16F1826
DeviceInfoFileName=PIC16F1826.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2780
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16F1828]
info1= Derived from PIC16F1827
info2= PIC16F1828
DeviceName=PIC16F1828
DeviceInfoFileName=PIC16F1828.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x27C0
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16F1829]
info1= Derived from PIC16F1827
info2= PIC16F1829
DeviceName=PIC16F1829
DeviceInfoFileName=PIC16F1829.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x27E0
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16LF1827]
info1= Derived from PIC16F1827
info2= PIC16LF1827
DeviceName=PIC16LF1827
DeviceInfoFileName=PIC16LF1827.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x27A0
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC12LF1822]
info1= Derived from PIC16F1827
info2= PIC12LF1822
DeviceName=PIC12LF1822
DeviceInfoFileName=PIC12LF1822.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2F00
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16LF1823]
info1= Derived from PIC16F1827
info2= PIC16LF1823
DeviceName=PIC16LF1823
DeviceInfoFileName=PIC16LF1823.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2F20
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16LF1824]
info1= Derived from PIC16F1827
info2= PIC16LF1824
DeviceName=PIC16LF1824
DeviceInfoFileName=PIC16LF1824.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2F40
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16LF1825]
info1= Derived from PIC16F1827
info2= PIC16LF1825
DeviceName=PIC16LF1825
DeviceInfoFileName=PIC16LF1825.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2F60
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16LF1826]
info1= Derived from PIC16F1827
info2= PIC16LF1826
DeviceName=PIC16LF1826
DeviceInfoFileName=PIC16LF1826.dev
CodeMemType=1
CodeMemSize=2048
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2F80
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16LF828]
info1= Derived from PIC16F1827
info2= PIC16LF1828
DeviceName=PIC16LF1828
DeviceInfoFileName=PIC16LF1828.dev
CodeMemType=1
CodeMemSize=4096
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2FC0
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1

[PIC16LF1829]
info1= Derived from PIC16F1827
info2= PIC16LF1829
DeviceName=PIC16LF1829
DeviceInfoFileName=PIC16LF1829.dev
CodeMemType=1
CodeMemSize=8192
DataEEPROMSize=256
InternalRAMSize=384
AddrConfigMem=0x8000
AddrConfigWord=0x8007
AddrDataMem=0xF000
AddrOscCalib=0xFFFFFFFF
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
DeviceIdAddr=0x8006
DeviceIdMask=0x3FE0
DeviceIdValue=0x2FE0
CanRead=1
EraseAlgo=ERASE_16F62xA
CodeProgAlgo=16Fxx
CodeMemWriteLatchSize=8
ConfigProgAlgo=16Fxx
DataProgAlgo=16Fxx
VppVddSequence=Vpp_before_Vdd
Ti_Clock_us=10
Ti_Prog_us=5000
Ti_Erase_us=30000
CmdLoadConfig=0x00
CmdLoadProg=0x02
CmdReadProg=0x04
CmdIncrAddr=0x06
CmdBeginProg=0x08
CmdEndProg=0x0A
CmdLoadData=0x03
CmdReadData=0x05
CmdEraseProg=0x09
CmdEraseData=0x0B
CmdEraseChip=-1
CmdBeginProgNoErase=-1
