<?xml version="1.0" encoding="UTF-8"?>
<!--************************************************************************-->
<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org>            *-->
<!--*                                                                      *-->
<!--* This program is free software; you can redistribute it and/or modify *-->
<!--* it under the terms of the GNU General Public License as published by *-->
<!--* the Free Software Foundation; either version 2 of the License, or    *-->
<!--* (at your option) any later version.                                  *-->
<!--************************************************************************-->
<device name="12F510" document="023670" status="IP" memory_technology="FLASH" architecture="10X" pc="10"
        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
        xsi:noNamespaceSchemaLocation='pic.xsd'>

<!--* Checksums ************************************************************-->
  <checksums>
    <checksum protected="Off"     bchecksum="0xEC40" cchecksum="0xDA88" />
    <checksum protected="040:3FE" bchecksum="0xEC37" cchecksum="0xD1A3" />
  </checksums>

<!--* Operating characteristics ********************************************-->
  <frequency_range name="extended" >
    <frequency start="0" end="4" vdd_min="2"   vdd_max="5.5" />
    <frequency start="4" end="8" vdd_min="2.5" vdd_max="5.5" />
  </frequency_range>

  <voltages name="vpp"      min="12.5" max="13.5" nominal="13" />
  <voltages name="vdd_prog" min="4.5"  max="5.5"  nominal="5"  />

<!--* Memory ***************************************************************-->
  <memory name="code"            start="0x000" end="0x3FE" />
  <memory name="calibration"        start="0x3FF" end="0x3FF" cal_opmask="0xF00"     cal_opcode="0xC00" />
  <memory name="user_ids"           start="0x400" end="0x403" rmask="0x00F"          />
  <memory name="config"             start="0x7FF" end="0x7FF" hexfile_offset="0xFFF" />
  <memory name="calibration_backup" start="0x404" end="0x404" />

<!--* Configuration bits ***************************************************-->
  <config offset="0x0" name="" wmask="0xFFF" bvalue="0x03F" >
    <mask name="FOSC"   value="0x003" >
      <value value="0x000" name="LP"    cname="_LP_OSC"    />
      <value value="0x001" name="XT"    cname="_XT_OSC"    />
      <value value="0x002" name="INTRC" cname="_IntRC_OSC" />
      <value value="0x003" name="EXTRC" cname="_ExtRC_OSC" />
    </mask>
    <mask name="WDT"    value="0x004" >
      <value value="0x000" name="Off" cname="_WDT_OFF" />
      <value value="0x004" name="On"  cname="_WDT_ON"  />
    </mask>
    <mask name="CP"     value="0x008" >
      <value value="0x000" name="040:3FE" cname="_CP_ON"  />
      <value value="0x008" name="Off"     cname="_CP_OFF" />
    </mask>
    <mask name="MCLRE"  value="0x010" >
      <value value="0x000" name="Internal" cname="_MCLRE_OFF" />
      <value value="0x010" name="External" cname="_MCLRE_ON"  />
    </mask>
    <mask name="IOSCFS" value="0x020" >
      <value value="0x000" name="4MHZ" cname="_IOSCFS_OFF" />
      <value value="0x020" name="8MHZ" cname="_IOSCFS_ON"  />
    </mask>
  </config>

<!--* Packages *************************************************************-->
  <package types="pdip soic msop" nb_pins="8" >
    <pin index="1" name="VDD"                   />
    <pin index="2" name="GP5/OSC1/CLKIN"        />
    <pin index="3" name="GP4/OSC2"              />
    <pin index="4" name="GP3/MCLR/VPP"          />
    <pin index="5" name="GP2/AN2/T0CKI/C1OUT"   />
    <pin index="6" name="GP1/AN1/C1IN-/ICSPCLK" />
    <pin index="7" name="GP0/AN0/C1IN+/ICSPDAT" />
    <pin index="8" name="VSS"                   />
  </package>

</device>
