2 # PIC14: 16Fxxx / 16Cxxx series device file for SDCC
4 # by Zik Saleeba <zik@zikzak.net> 2006-03-04
9 # program = program memory in 14 bit words
10 # data = data memory in bytes
11 # eeprom = eeprom storage
13 # maxram = maximum memmap address for unique general purpose registers
14 # bankmsk = mask for memmap bank selecting. 0x80 for two banks usable,
16 # confsiz = 1: config at 0x2007, 2: has an extra config register at 0x2008
17 # regmap = registers duplicated in multiple banks. First value is a bank bitmask,
18 # following values are register addresses
33 memmap 0x0007 0x001f 0x000
43 regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
44 memmap 0x0008 0x000f 0x060
45 memmap 0x0010 0x001f 0x000
46 memmap 0x0030 0x003f 0x000
47 memmap 0x0050 0x005f 0x000
48 memmap 0x0070 0x007f 0x000
58 regmap 0xe0 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09
59 memmap 0x000a 0x000f 0x000
60 memmap 0x0010 0x001f 0x0e0
61 memmap 0x0030 0x003f 0x000
62 memmap 0x0050 0x005f 0x000
63 memmap 0x0070 0x007f 0x000
64 memmap 0x0090 0x009f 0x000
65 memmap 0x00b0 0x00bf 0x000
66 memmap 0x00d0 0x00df 0x000
67 memmap 0x00e0 0x00ef 0x000
77 regmap 0x180 0x00 0x02 0x03 0x04 0x06 0x0a 0x0b
78 regmap 0x100 0x01 0x81
79 memmap 0x0020 0x003f 0x100
80 memmap 0x0040 0x007f 0x180
81 memmap 0x00a0 0x00bf 0x100
91 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
92 regmap 0x100 0x01 0x81 0x06 0x86
93 memmap 0x0020 0x007f 0x100
94 memmap 0x00a0 0x00ff 0x100
104 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
105 regmap 0x100 0x01 0x81 0x06 0x86
106 memmap 0x0020 0x007f 0x100
107 memmap 0x00a0 0x00ff 0x100
117 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
118 regmap 0x100 0x01 0x81 0x06 0x86
119 memmap 0x0020 0x006f 0x000
120 memmap 0x0070 0x007f 0x180
121 memmap 0x00a0 0x00ef 0x000
122 memmap 0x0120 0x016f 0x000
123 memmap 0x01a0 0x01ef 0x000
133 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
134 regmap 0x100 0x01 0x81 0x06 0x86
135 memmap 0x0020 0x006f 0x000
136 memmap 0x0070 0x007f 0x180
137 memmap 0x00a0 0x00ef 0x000
138 memmap 0x0120 0x016f 0x000
139 memmap 0x01a0 0x01ef 0x000
141 processor 16f84, 16f84a
149 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
150 memmap 0x000C 0x004f 0x080
152 processor 16f87, 16f88
160 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
161 regmap 0x100 0x01 0x81 0x06 0x86
162 memmap 0x0020 0x006f 0x000
163 memmap 0x0070 0x007f 0x180
164 memmap 0x0110 0x016f 0x000
165 memmap 0x0190 0x01ef 0x000
175 regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
176 memmap 0x0008 0x000f 0x060
177 memmap 0x0010 0x001f 0x000
178 memmap 0x0030 0x003f 0x000
179 memmap 0x0050 0x005f 0x000
180 memmap 0x0070 0x007f 0x000
190 regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c
191 memmap 0x000d 0x000f 0x060
192 memmap 0x0010 0x001f 0x000
193 memmap 0x0030 0x003f 0x000
194 memmap 0x0050 0x005f 0x000
195 memmap 0x0070 0x007f 0x000
197 processor 16f627, 16f627a
205 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
206 regmap 0x100 0x01 0x81 0x06 0x86
207 memmap 0x0020 0x006f 0x000
208 memmap 0x0070 0x007f 0x180
209 memmap 0x00a0 0x00ef 0x000
210 memmap 0x0120 0x014f 0x000
212 processor 16f628, 16f628a
220 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
221 regmap 0x100 0x01 0x81 0x06 0x86
222 memmap 0x0020 0x006f 0x000
223 memmap 0x0070 0x007f 0x180
224 memmap 0x00a0 0x00ef 0x000
225 memmap 0x0120 0x014f 0x000
227 processor 16f648, 16f648a
235 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
236 regmap 0x100 0x01 0x81 0x06 0x86
237 memmap 0x0020 0x006f 0x000
238 memmap 0x0070 0x007f 0x180
239 memmap 0x00a0 0x00ef 0x000
240 memmap 0x0120 0x016f 0x000
242 processor 16f630, 16f676
250 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
251 memmap 0x0020 0x005f 0x080
261 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
262 regmap 0x100 0x01 0x81 0x05 0x85
263 memmap 0x0040 0x006f 0x000
264 memmap 0x0070 0x007f 0x180
266 processor 16f636, 16f639
274 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
275 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
276 memmap 0x0020 0x006f 0x000
277 memmap 0x0070 0x007f 0x180
278 memmap 0x00a0 0x00bf 0x000
288 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
289 memmap 0x0020 0x006f 0x000
290 memmap 0x0070 0x007f 0x080
291 memmap 0x00a0 0x00bf 0x000
293 processor 16f685, 16f689, 16f690
301 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
302 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
303 memmap 0x0020 0x006f 0x000
304 memmap 0x0070 0x007f 0x180
305 memmap 0x00a0 0x00ef 0x000
306 memmap 0x0120 0x016f 0x000
316 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
317 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
318 memmap 0x0020 0x006f 0x000
319 memmap 0x0070 0x007f 0x180
320 memmap 0x00a0 0x00bf 0x000
330 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
331 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
332 memmap 0x0020 0x006f 0x000
333 memmap 0x0070 0x007f 0x180
334 memmap 0x00a0 0x00ef 0x000
335 memmap 0x0120 0x016f 0x000
345 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
346 memmap 0x0020 0x006f 0x000
347 memmap 0x0070 0x007f 0x080
348 memmap 0x00a0 0x00bf 0x000
358 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
359 regmap 0x100 0x01 0x81 0x06 0x86
360 memmap 0x0020 0x006f 0x000
361 memmap 0x0070 0x007f 0x180
362 memmap 0x00a0 0x00ef 0x000
363 memmap 0x0110 0x016f 0x000
364 memmap 0x0190 0x01ef 0x000
374 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
375 regmap 0x100 0x01 0x81 0x06 0x86
376 memmap 0x0020 0x006f 0x000
377 memmap 0x0070 0x007f 0x180
378 memmap 0x00a0 0x00ef 0x000
379 memmap 0x0110 0x016f 0x000
380 memmap 0x0190 0x01ef 0x000
390 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
391 regmap 0x100 0x01 0x81 0x06 0x86
392 memmap 0x0020 0x006f 0x000
393 memmap 0x0070 0x007f 0x180
394 memmap 0x00a0 0x00ef 0x000
395 memmap 0x0110 0x016f 0x000
396 memmap 0x0190 0x01ef 0x000
406 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
407 regmap 0x100 0x01 0x81 0x06 0x86
408 memmap 0x0020 0x006f 0x000
409 memmap 0x0070 0x007f 0x180
410 memmap 0x00a0 0x00ef 0x000
411 memmap 0x0110 0x016f 0x000
412 memmap 0x0190 0x01ef 0x000
414 processor 16f785, 16hv785
422 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
423 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87 0x8c
424 memmap 0x0020 0x006f 0x000
425 memmap 0x0070 0x007f 0x180
426 memmap 0x00a0 0x00bf 0x000
428 processor 16f870, 16f872
436 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
437 regmap 0x100 0x01 0x81 0x06 0x86
438 memmap 0x0020 0x006f 0x100
439 memmap 0x0070 0x007f 0x180
440 memmap 0x00a0 0x00bf 0x100
450 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
451 regmap 0x100 0x01 0x81 0x06 0x86
452 memmap 0x0020 0x006f 0x100
453 memmap 0x0070 0x007f 0x180
454 memmap 0x00a0 0x00bf 0x100
456 processor 16f873, 16f873a
464 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
465 regmap 0x100 0x01 0x81 0x06 0x86
466 memmap 0x0020 0x007f 0x100
467 memmap 0x00a0 0x00ff 0x100
469 processor 16f874, 16f874a
477 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
478 regmap 0x100 0x01 0x81 0x06 0x86
479 memmap 0x0020 0x007f 0x100
480 memmap 0x00a0 0x00ff 0x100
482 processor 16f876, 16f876a
490 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
491 regmap 0x100 0x01 0x81 0x06 0x86
492 memmap 0x0020 0x006f 0x000
493 memmap 0x0070 0x007f 0x180
494 memmap 0x00a0 0x00ef 0x000
495 memmap 0x0110 0x016f 0x000
496 memmap 0x0190 0x01ef 0x000
498 processor 16f877, 16f877a
506 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
507 regmap 0x100 0x01 0x81 0x06 0x86
508 memmap 0x0020 0x006f 0x000
509 memmap 0x0070 0x007f 0x180
510 memmap 0x00a0 0x00ef 0x000
511 memmap 0x0110 0x016f 0x000
512 memmap 0x0190 0x01ef 0x000
522 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
523 regmap 0x100 0x01 0x81 0x06 0x86
524 memmap 0x0020 0x003f 0x100
525 memmap 0x0040 0x007f 0x180
526 memmap 0x00a0 0x00bf 0x000
536 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
537 regmap 0x100 0x01 0x81 0x06 0x86
538 memmap 0x0020 0x006f 0x000
539 memmap 0x0070 0x007f 0x180
540 memmap 0x00a0 0x00ef 0x000
541 memmap 0x0120 0x016f 0x000
551 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
552 regmap 0x100 0x01 0x81 0x06 0x86
553 memmap 0x0020 0x006f 0x000
554 memmap 0x0070 0x007f 0x180
555 memmap 0x00a0 0x00ef 0x000
556 memmap 0x0120 0x016f 0x000
566 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
567 regmap 0x100 0x01 0x81 0x06 0x86
568 memmap 0x0020 0x006f 0x000
569 memmap 0x0070 0x007f 0x180
570 memmap 0x00a0 0x00ef 0x000
571 memmap 0x0120 0x016f 0x000
581 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
582 regmap 0x100 0x01 0x81 0x06 0x86
583 memmap 0x0020 0x006f 0x000
584 memmap 0x0070 0x007f 0x180
585 memmap 0x00a0 0x00ef 0x000
586 memmap 0x0120 0x016f 0x000
587 memmap 0x0190 0x01ef 0x000
597 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
598 regmap 0x100 0x01 0x81 0x06 0x86
599 memmap 0x0020 0x006f 0x000
600 memmap 0x0070 0x007f 0x180
601 memmap 0x00a0 0x00ef 0x000
602 memmap 0x0120 0x016f 0x000
603 memmap 0x0190 0x01ef 0x000
613 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
614 regmap 0x100 0x01 0x81 0x06 0x86
615 memmap 0x0020 0x006f 0x000
616 memmap 0x0070 0x007f 0x180
617 memmap 0x00a0 0x00ef 0x000
618 memmap 0x0120 0x016f 0x000
619 memmap 0x01a0 0x01ef 0x000
625 processor 16c54, 16c54a, 16c54c, 16cr54a, 16cr54c, 16hv540
633 memmap 0x0007 0x001f 0x000
635 processor 16c55, 16c55a
643 memmap 0x0008 0x001f 0x000
645 processor 16c56, 16c56a, 16cr56a
653 memmap 0x0007 0x001f 0x000
655 processor 16c57, 16c57c, 16cr57c
663 regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
664 memmap 0x0008 0x000f 0x060
665 memmap 0x0010 0x001f 0x000
666 memmap 0x0030 0x003f 0x000
667 memmap 0x0050 0x005f 0x000
668 memmap 0x0070 0x007f 0x000
670 processor 16c58b, 16cr58b
678 regmap 0x60 0x00 0x01 0x02 0x03 0x04 0x05 0x06
679 memmap 0x0007 0x000f 0x060
680 memmap 0x0010 0x001f 0x000
681 memmap 0x0030 0x003f 0x000
682 memmap 0x0050 0x005f 0x000
683 memmap 0x0070 0x007f 0x000
685 processor 16c62, 16c72
693 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
694 memmap 0x0020 0x007f 0x000
695 memmap 0x00a0 0x00bf 0x000
697 processor 16c63a, 16c73b
705 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
706 memmap 0x0020 0x007f 0x000
707 memmap 0x00a0 0x00ff 0x000
709 processor 16c65b, 16c74b
717 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
718 memmap 0x0020 0x007f 0x000
719 memmap 0x00a0 0x00ff 0x000
729 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
730 memmap 0x0020 0x006f 0x000
731 memmap 0x0070 0x007f 0x080
732 memmap 0x00a0 0x00bf 0x000
742 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
743 memmap 0x0020 0x006f 0x000
744 memmap 0x0070 0x007f 0x080
745 memmap 0x00a0 0x00bf 0x000
755 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
756 memmap 0x0020 0x006f 0x000
758 processor 16c557, 16c558
766 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
767 memmap 0x0020 0x007f 0x000
768 memmap 0x00a0 0x00bf 0x000
778 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
779 memmap 0x0020 0x006f 0x000
781 processor 16c620a, 16cr620a
789 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
790 memmap 0x0020 0x006f 0x000
791 memmap 0x0070 0x007f 0x080
801 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
802 memmap 0x0020 0x006f 0x000
812 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
813 memmap 0x0020 0x006f 0x000
814 memmap 0x0070 0x007f 0x080
824 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
825 memmap 0x0020 0x007f 0x000
826 memmap 0x00a0 0x00bf 0x000
836 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
837 memmap 0x0020 0x006f 0x000
838 memmap 0x0070 0x007f 0x080
839 memmap 0x00a0 0x00bf 0x000
850 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
851 memmap 0x000c 0x002f 0x080
861 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
862 memmap 0x000c 0x002f 0x080
872 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
873 memmap 0x000c 0x004f 0x080
883 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
884 memmap 0x0020 0x007f 0x000
885 memmap 0x00a0 0x00bf 0x000
887 processor 16c717, 16c770
895 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
896 regmap 0x100 0x01 0x81 0x06 0x86
897 memmap 0x0020 0x006f 0x000
898 memmap 0x0070 0x007f 0x180
899 memmap 0x00a0 0x00ef 0x000
900 memmap 0x0120 0x016f 0x000
910 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
911 regmap 0x100 0x01 0x81 0x06 0x86
912 memmap 0x0020 0x006f 0x000
913 memmap 0x0070 0x007f 0x180
914 memmap 0x00a0 0x00ef 0x000
915 memmap 0x0120 0x016f 0x000
925 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
926 regmap 0x100 0x01 0x81 0x06 0x86
927 memmap 0x0020 0x006f 0x000
928 memmap 0x0070 0x007f 0x180
929 memmap 0x00a0 0x00ef 0x000
930 memmap 0x0120 0x016f 0x000
931 memmap 0x01a0 0x01df 0x000
941 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
942 regmap 0x100 0x01 0x81 0x06 0x86
943 memmap 0x0020 0x006f 0x000
944 memmap 0x0070 0x007f 0x180
945 memmap 0x00a0 0x00ef 0x000
946 memmap 0x0120 0x016f 0x000
947 memmap 0x01a0 0x01df 0x000
957 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
958 regmap 0x100 0x01 0x81 0x06 0x86
959 memmap 0x0020 0x006f 0x000
960 memmap 0x0070 0x007f 0x180
961 memmap 0x00a0 0x00ef 0x000
962 memmap 0x0120 0x016f 0x000
972 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
973 regmap 0x100 0x01 0x81 0x06 0x86
974 memmap 0x0020 0x006f 0x000
975 memmap 0x0070 0x007f 0x180
976 memmap 0x00a0 0x00ef 0x000
977 memmap 0x0120 0x016f 0x000
987 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
988 regmap 0x100 0x01 0x81 0x06 0x86
989 memmap 0x0020 0x006f 0x000
990 memmap 0x0070 0x007f 0x180
991 memmap 0x00a0 0x00bf 0x000
1001 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
1002 regmap 0x100 0x01 0x81 0x06 0x86
1003 memmap 0x0020 0x006f 0x000
1004 memmap 0x0070 0x007f 0x180
1005 memmap 0x00a0 0x00bf 0x000
1015 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
1016 regmap 0x100 0x01 0x81 0x06 0x86
1017 memmap 0x0020 0x006f 0x000
1018 memmap 0x0070 0x007f 0x180
1019 memmap 0x00a0 0x00bf 0x000
1029 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
1030 regmap 0x100 0x01 0x81 0x06 0x86
1031 memmap 0x0020 0x006f 0x000
1032 memmap 0x0070 0x007f 0x180
1033 memmap 0x00a0 0x00bf 0x000
1034 memmap 0x0120 0x016f 0x000
1035 memmap 0x01a0 0x01bf 0x000