Index: data/programmers/Makefile.am
===================================================================
--- data/programmers/Makefile.am	(revision 4b6ca8f4b79689f7f11fc89f785561fa174855bf)
+++ data/programmers/Makefile.am	(revision 47bf006ff320470525f4b3355342f2d7628cdf52)
@@ -7,4 +7,5 @@
 	lpc21isp.xml \
 	pickit2.xml \
+	picprog.xml \
 	picstartplus.xml \
 	$(NULL)
Index: data/programmers/picprog.xml
===================================================================
--- data/programmers/picprog.xml	(revision 47bf006ff320470525f4b3355342f2d7628cdf52)
+++ data/programmers/picprog.xml	(revision 47bf006ff320470525f4b3355342f2d7628cdf52)
@@ -0,0 +1,80 @@
+<programmer name="Picprog" firmware_types=".hex">
+	<description lang="en">PIC16, PIC12 and PIC18 microcontroller programmer for Linux and Windows/Cygwin</description>
+	<description lang="es">Programador de microcontroladores PIC16, PIC12 y PIC18 para Linux y Windows/Cygwin</description>
+	<actions>
+		<write_flash>
+			<command>picprog %options --quiet --burn --input-hexfile %firmware</command>
+			<required_options>SerialPort,Device</required_options>
+			<optional_options>DebugOutputFile,ForceCalibration,TSCCapability,Slow,Reboot</optional_options>
+		</write_flash>
+		<read_flash>
+			<command>picprog %options --quiet --output-hexfile %firmware</command>
+			<required_options>SerialPort,Device</required_options>
+			<optional_options>SkipOnes,HexfileFormat</optional_options>
+		</read_flash>
+		<erase_flash>
+			<command>picprog %options --quiet --erase</command>
+			<required_options>SerialPort,Device</required_options>
+			<optional_options>DebugOutputFile,TSCCapability,Slow,Reboot</optional_options>
+		</erase_flash>
+	</actions>
+	<options>
+		<option name="SerialPort" format="--pic-serial-port %value" value_type="SerialPort" optional="false" most_used="true">
+			<label lang="en">Serial port</label>
+			<label lang="es">Puerto serial</label>
+			<description lang="en">Select serial port</description>
+			<description lang="es">Elegir puerto serial</description>
+		</option>
+		<option name="Device" format="--device %value" value_type="List" optional="false" most_used="true">
+			<label lang="en">Device</label>
+			<label lang="es">Dispositivo</label>
+			<description lang="en">Select device</description>
+			<description lang="es">Elegir dispositivo</description>
+			<items>dspic30f2010,dspic30f2011,dspic30f2012,dspic30f3010,dspic30f3011,dspic30f3012,dspic30f3013,dspic30f3014,dspic30f4011,dspic30f4012,dspic30f4013,dspic30f5011,dspic30f5013,dspic30f5015,dspic30f6010,dspic30f6011,dspic30f6012,dspic30f6013,dspic30f6014,pic12c671,pic12c672,pic12ce673,pic12ce674,pic12f629,pic12f635,pic12f675,pic12f683,pic16c432,pic16c433,pic16c61,pic16c62,pic16c620,pic16c620a,pic16c621,pic16c621a,pic16c622,pic16c622a,pic16c62a,pic16c62b,pic16c63,pic16c63a,pic16c64,pic16c641,pic16c642,pic16c64a,pic16c65,pic16c65a,pic16c65b,pic16c66,pic16c661,pic16c662,pic16c66a,pic16c67,pic16c71,pic16c710,pic16c711,pic16c712,pic16c715,pic16c716,pic16c717,pic16c72,pic16c72a,pic16c73,pic16c73a,pic16c73b,pic16c74,pic16c745,pic16c74a,pic16c74b,pic16c76,pic16c765,pic16c77,pic16c770,pic16c771,pic16c773,pic16c774,pic16c781,pic16c782,pic16c84,pic16c923,pic16c924,pic16ce623,pic16ce624,pic16ce625,pic16cr62,pic16cr620a,pic16cr63,pic16cr64,pic16cr65,pic16cr72,pic16cr83,pic16cr84,pic16f627,pic16f627a,pic16f628,pic16f628a,pic16f630,pic16f631,pic16f636,pic16f639,pic16f648a,pic16f676,pic16f677,pic16f684,pic16f685,pic16f687,pic16f688,pic16f689,pic16f690,pic16f72,pic16f73,pic16f737,pic16f74,pic16f747,pic16f76,pic16f767,pic16f77,pic16f777,pic16f785,pic16f818,pic16f819,pic16f83,pic16f84,pic16f84a,pic16f87,pic16f870,pic16f871,pic16f872,pic16f873,pic16f873a,pic16f874,pic16f874a,pic16f876,pic16f876a,pic16f877,pic16f877a,pic16f88,pic16f883,pic16f884,pic16f886,pic16f887,pic16hv785,pic18c242,pic18c252,pic18c442,pic18c452,pic18c658,pic18c858,pic18f1220,pic18f1320,pic18f2220,pic18f2221,pic18f2320,pic18f2321,pic18f2331,pic18f2410,pic18f242,pic18f2420,pic18f2423,pic18f2431,pic18f2439,pic18f2450,pic18f2455,pic18f2458,pic18f248,pic18f2480,pic18f2510,pic18f2515,pic18f252,pic18f2520,pic18f2523,pic18f2525,pic18f2539,pic18f2550,pic18f2553,pic18f258,pic18f2580,pic18f2585,pic18f2610,pic18f2620,pic18f2680,pic18f2682,pic18f2685,pic18f4220,pic18f4221,pic18f4320,pic18f4321,pic18f4331,pic18f4410,pic18f442,pic18f4420,pic18f4423,pic18f4431,pic18f4439,pic18f4450,pic18f4455,pic18f4458,pic18f448,pic18f4480,pic18f4510,pic18f4515,pic18f452,pic18f4520,pic18f4523,pic18f4525,pic18f4539,pic18f4550,pic18f4553,pic18f458,pic18f4580,pic18f4585,pic18f4610,pic18f4620,pic18f4680,pic18f4682,pic18f4685,pic18f6520,pic18f6525,pic18f6585,pic18f6620,pic18f6621,pic18f6680,pic18f6720,pic18f8520,pic18f8525,pic18f8585,pic18f8620,pic18f8621,pic18f8680,pic18f8720</items>
+		</option>
+		<option name="HexfileFormat" format="--%value" value_type="List" optional="true" most_used="false">
+			<label lang="en">Hexfile format</label>
+			<label lang="es">Formato del archivo Hex</label>
+			<description lang="en">Hexfile format</description>
+			<description lang="es">Formato del archivo Hex</description>
+			<items>ihx32,ihx16,ihx8m</items>
+		</option>
+		<option name="DebugOutputFile" format="--cc-hexfile %value" value_type="FilePath" optional="true" most_used="false">
+			<label lang="en">Debug output file</label>
+			<label lang="es">Archivo de salida de depuraciÃ³n</label>
+			<description lang="en">Select debug output file</description>
+			<description lang="es">Eligir archivo de salida de depuraciÃ³n</description>
+		</option>
+		<option name="SkipOnes" format="--skip-ones" value_type="None" optional="true" most_used="false">
+			<label lang="en">Skip ones</label>
+			<label lang="es">Omitir unos</label>
+			<description lang="en">Don't consider the all-ones memory locations to be readed</description>
+			<description lang="es">No considerar las posiciones de memoria con todo uno al ser leidas</description>
+		</option>
+		<option name="ForceCalibration" format="--force-calibration" value_type="None" optional="true" most_used="false">
+			<label lang="en">Force calibration</label>
+			<label lang="es">Forzar calibraciÃ³n</label>
+			<description lang="en">Force reprogramming the OSCCAL word and BG bits in control word</description>
+			<description lang="es">Forzar la reprogramaciÃ³n de la palabra OSCCAL y los bits BG en la palabra control</description>
+		</option>
+		<option name="TSCCapability" format="--%value" value_type="List" optional="true" most_used="false">
+			<label lang="en">TSC Capability</label>
+			<label lang="es">Capacidad TSC</label>
+			<description lang="en">Uses the CPU's TSC capability to measure time delays</description>
+			<description lang="es">Usar la capacidad TSC del CPU para medir intervalos de tiempo</description>
+			<items default="nordtsc">nordtsc,rdtsc</items>
+		</option>
+		<option name="Slow" format="--slow" value_type="None" optional="true" most_used="false">
+			<label lang="en">Slow</label>
+			<label lang="es">Despacio</label>
+			<description lang="en">Slow down the bit transmit delay loops to 10 microseconds</description>
+			<description lang="es">Demorar el intervalo de transmisiÃ³n de bit a 10 microsegundos</description>
+		</option>
+		<option name="Reboot" format="--reboot" value_type="None" optional="true" most_used="false">
+			<label lang="en">Reboot</label>
+			<label lang="es">Reiniciar</label>
+			<description lang="en">Before programming, try to switch off the microcontroller power</description>
+			<description lang="es">Antes de programar, tratar de apagar el microcontrolador</description>
+		</option>
+	</options>
+</programmer>
