#
-# PIC14: 16Fxxx / 16Cxxx series device file for SDCC
+# PIC14: 14 bit 16Fxxx / 16Cxxx / 12Fxxx series device file for SDCC
#
# by Zik Saleeba <zik@zikzak.net> 2006-03-04
#
#
# 16F series
#
-processor 16f54
- program 512
- data 25
- eeprom 0
- io 12
- maxram 0x1f
- bankmsk 0x00
- confsiz 1
- memmap 0x0007 0x001f 0x000
-
-processor 16f57
- program 2K
- data 72
- eeprom 0
- io 20
- maxram 0x7f
- bankmsk 0x60
- confsiz 1
- regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
- memmap 0x0008 0x000f 0x060
- memmap 0x0010 0x001f 0x000
- memmap 0x0030 0x003f 0x000
- memmap 0x0050 0x005f 0x000
- memmap 0x0070 0x007f 0x000
-
-processor 16f59
- program 2K
- data 134
- eeprom 0
- io 32
- maxram 0x7f
- bankmsk 0xe0
- confsiz 1
- regmap 0xe0 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09
- memmap 0x000a 0x000f 0x000
- memmap 0x0010 0x001f 0x0e0
- memmap 0x0030 0x003f 0x000
- memmap 0x0050 0x005f 0x000
- memmap 0x0070 0x007f 0x000
- memmap 0x0090 0x009f 0x000
- memmap 0x00b0 0x00bf 0x000
- memmap 0x00d0 0x00df 0x000
- memmap 0x00e0 0x00ef 0x000
-
processor 16f72
program 2K
data 128
memmap 0x0110 0x016f 0x000
memmap 0x0190 0x01ef 0x000
-processor 16f505
- program 1K
- data 72
- eeprom 0
- io 12
- maxram 0x7f
- bankmsk 0x60
- confsiz 1
- regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
- memmap 0x0008 0x000f 0x060
- memmap 0x0010 0x001f 0x000
- memmap 0x0030 0x003f 0x000
- memmap 0x0050 0x005f 0x000
- memmap 0x0070 0x007f 0x000
-
-processor 16f506
- program 1K
- data 67
+processor 16f616, 16hv616
+ program 2K
+ data 128
eeprom 0
- io 12
- maxram 0x7f
- bankmsk 0x60
+ io 11
+ maxram 0xff
+ bankmsk 0x80
confsiz 1
- regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c
- memmap 0x000d 0x000f 0x060
- memmap 0x0010 0x001f 0x000
- memmap 0x0030 0x003f 0x000
- memmap 0x0050 0x005f 0x000
- memmap 0x0070 0x007f 0x000
+ regmap 0x080 0x00 0x02 0x03 0x04 0x0a 0x0b
+ memmap 0x0020 0x006f 0x000
+ memmap 0x0070 0x007f 0x080
+ memmap 0x00a0 0x00bf 0x000
processor 16f627, 16f627a
program 1K
regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
memmap 0x0020 0x005f 0x080
-processor 16f635
- program 1K
- data 64
- eeprom 128
- io 6
- maxram 0x1ff
- bankmsk 0x180
- confsiz 1
- regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
- regmap 0x100 0x01 0x81 0x05 0x85
- memmap 0x0040 0x006f 0x000
- memmap 0x0070 0x007f 0x180
-
processor 16f636, 16f639
program 2K
data 128
#
# 16c series
#
-processor 16c54, 16c54a, 16c54c, 16cr54a, 16cr54c, 16hv540
- program 512
- data 25
- eeprom 0
- io 12
- maxram 0x1f
- bankmsk 0x00
- confsiz 1
- memmap 0x0007 0x001f 0x000
-
-processor 16c55, 16c55a
- program 512
- data 24
- eeprom 0
- io 20
- maxram 0x1f
- bankmsk 0x00
- confsiz 1
- memmap 0x0008 0x001f 0x000
-
-processor 16c56, 16c56a, 16cr56a
- program 1K
- data 25
- eeprom 0
- io 12
- maxram 0x1f
- bankmsk 0x00
- confsiz 1
- memmap 0x0007 0x001f 0x000
-
-processor 16c57, 16c57c, 16cr57c
- program 2K
- data 72
- eeprom 0
- io 20
- maxram 0x7f
- bankmsk 0x60
- confsiz 1
- regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
- memmap 0x0008 0x000f 0x060
- memmap 0x0010 0x001f 0x000
- memmap 0x0030 0x003f 0x000
- memmap 0x0050 0x005f 0x000
- memmap 0x0070 0x007f 0x000
-
-processor 16c58b, 16cr58b
- program 2K
- data 73
- eeprom 0
- io 12
- maxram 0x7f
- bankmsk 0x60
- confsiz 1
- regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06
- memmap 0x0007 0x000f 0x060
- memmap 0x0010 0x001f 0x000
- memmap 0x0030 0x003f 0x000
- memmap 0x0050 0x005f 0x000
- memmap 0x0070 0x007f 0x000
-
processor 16c62, 16c72
program 2K
data 128
memmap 0x0020 0x007f 0x000
memmap 0x00a0 0x00ff 0x000
+processor 16cr73
+ program 4K
+ data 192
+ eeprom 0
+ io 22
+ maxram 0x1ff
+ bankmsk 0x180
+ confsiz 1
+ regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
+ regmap 0x100 0x01 0x81
+ memmap 0x0020 0x007f 0x000
+ memmap 0x00a0 0x00ff 0x000
+
+processor 16cr74
+ program 4K
+ data 192
+ eeprom 0
+ io 33
+ maxram 0x1ff
+ bankmsk 0x180
+ confsiz 1
+ regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
+ regmap 0x100 0x01 0x81
+ memmap 0x0020 0x007f 0x000
+ memmap 0x00a0 0x00ff 0x000
+
+processor 16cr76
+ program 8K
+ data 368
+ eeprom 0
+ io 22
+ maxram 0x1ff
+ bankmsk 0x180
+ confsiz 1
+ regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
+ regmap 0x180 0x01 0x81
+ memmap 0x0020 0x006f 0x000
+ memmap 0x00a0 0x00ef 0x000
+ memmap 0x0110 0x016f 0x000
+ memmap 0x0190 0x01ef 0x000
+ memmap 0x0070 0x007f 0x180
+
+processor 16cr77
+ program 8K
+ data 368
+ eeprom 0
+ io 33
+ maxram 0x1ff
+ bankmsk 0x180
+ confsiz 1
+ regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
+ regmap 0x180 0x01 0x81
+ memmap 0x0020 0x006f 0x000
+ memmap 0x00a0 0x00ef 0x000
+ memmap 0x0110 0x016f 0x000
+ memmap 0x0190 0x01ef 0x000
+ memmap 0x0070 0x007f 0x180
+
processor 16c432
program 2K
data 128
memmap 0x00a0 0x00bf 0x000
memmap 0x0120 0x016f 0x000
memmap 0x01a0 0x01bf 0x000
+
+#
+# 12F series devices with 14 bit core
+#
+processor 12f629, 12f675
+ program 1K
+ data 64
+ eeprom 128
+ io 6
+ maxram 0xff
+ bankmsk 0x80
+ confsiz 1
+ regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
+ memmap 0x0020 0x005f 0x000
+ memmap 0x00a0 0x00df 0x000
+
+processor 12f635
+ program 1K
+ data 64
+ eeprom 128
+ io 6
+ maxram 0x1ff
+ bankmsk 0x180
+ confsiz 1
+ regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
+ regmap 0x100 0x01 0x81 0x05 0x85
+ memmap 0x0040 0x006f 0x000
+ memmap 0x0070 0x007f 0x180
+
+processor 12f683
+ program 2K
+ data 128
+ eeprom 256
+ io 6
+ maxram 0xff
+ bankmsk 0x80
+ confsiz 1
+ regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
+ memmap 0x0020 0x006f 0x000
+ memmap 0x0070 0x007f 0x080
+ memmap 0x00a0 0x00bf 0x000