2 # PIC14: 14 bit 16Fxxx / 16Cxxx / 12Fxxx 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 regmap 0x180 0x00 0x02 0x03 0x04 0x06 0x0a 0x0b
34 regmap 0x100 0x01 0x81
35 memmap 0x0020 0x003f 0x100
36 memmap 0x0040 0x007f 0x180
37 memmap 0x00a0 0x00bf 0x100
47 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
48 regmap 0x100 0x01 0x81 0x06 0x86
49 memmap 0x0020 0x007f 0x100
50 memmap 0x00a0 0x00ff 0x100
60 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
61 regmap 0x100 0x01 0x81 0x06 0x86
62 memmap 0x0020 0x007f 0x100
63 memmap 0x00a0 0x00ff 0x100
73 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
74 regmap 0x100 0x01 0x81 0x06 0x86
75 memmap 0x0020 0x006f 0x000
76 memmap 0x0070 0x007f 0x180
77 memmap 0x00a0 0x00ef 0x000
78 memmap 0x0120 0x016f 0x000
79 memmap 0x01a0 0x01ef 0x000
89 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
90 regmap 0x100 0x01 0x81 0x06 0x86
91 memmap 0x0020 0x006f 0x000
92 memmap 0x0070 0x007f 0x180
93 memmap 0x00a0 0x00ef 0x000
94 memmap 0x0120 0x016f 0x000
95 memmap 0x01a0 0x01ef 0x000
97 processor 16f84, 16f84a
105 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
106 memmap 0x000C 0x004f 0x080
108 processor 16f87, 16f88
116 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
117 regmap 0x100 0x01 0x81 0x06 0x86
118 memmap 0x0020 0x006f 0x000
119 memmap 0x0070 0x007f 0x180
120 memmap 0x0110 0x016f 0x000
121 memmap 0x0190 0x01ef 0x000
123 processor 16f616, 16hv616
131 regmap 0x080 0x00 0x02 0x03 0x04 0x0a 0x0b
132 memmap 0x0020 0x006f 0x000
133 memmap 0x0070 0x007f 0x080
134 memmap 0x00a0 0x00bf 0x000
136 processor 16f627, 16f627a
144 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
145 regmap 0x100 0x01 0x81 0x06 0x86
146 memmap 0x0020 0x006f 0x000
147 memmap 0x0070 0x007f 0x180
148 memmap 0x00a0 0x00ef 0x000
149 memmap 0x0120 0x014f 0x000
151 processor 16f628, 16f628a
159 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
160 regmap 0x100 0x01 0x81 0x06 0x86
161 memmap 0x0020 0x006f 0x000
162 memmap 0x0070 0x007f 0x180
163 memmap 0x00a0 0x00ef 0x000
164 memmap 0x0120 0x014f 0x000
166 processor 16f648, 16f648a
174 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
175 regmap 0x100 0x01 0x81 0x06 0x86
176 memmap 0x0020 0x006f 0x000
177 memmap 0x0070 0x007f 0x180
178 memmap 0x00a0 0x00ef 0x000
179 memmap 0x0120 0x016f 0x000
181 processor 16f630, 16f676
189 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
190 memmap 0x0020 0x005f 0x080
192 processor 16f636, 16f639
200 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
201 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
202 memmap 0x0020 0x006f 0x000
203 memmap 0x0070 0x007f 0x180
204 memmap 0x00a0 0x00bf 0x000
214 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
215 memmap 0x0020 0x006f 0x000
216 memmap 0x0070 0x007f 0x080
217 memmap 0x00a0 0x00bf 0x000
219 processor 16f685, 16f689, 16f690
227 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
228 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
229 memmap 0x0020 0x006f 0x000
230 memmap 0x0070 0x007f 0x180
231 memmap 0x00a0 0x00ef 0x000
232 memmap 0x0120 0x016f 0x000
242 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
243 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
244 memmap 0x0020 0x006f 0x000
245 memmap 0x0070 0x007f 0x180
246 memmap 0x00a0 0x00bf 0x000
256 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
257 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
258 memmap 0x0020 0x006f 0x000
259 memmap 0x0070 0x007f 0x180
260 memmap 0x00a0 0x00ef 0x000
261 memmap 0x0120 0x016f 0x000
271 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
272 memmap 0x0020 0x006f 0x000
273 memmap 0x0070 0x007f 0x080
274 memmap 0x00a0 0x00bf 0x000
284 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
285 regmap 0x100 0x01 0x81 0x06 0x86
286 memmap 0x0020 0x006f 0x000
287 memmap 0x0070 0x007f 0x180
288 memmap 0x00a0 0x00ef 0x000
289 memmap 0x0110 0x016f 0x000
290 memmap 0x0190 0x01ef 0x000
300 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
301 regmap 0x100 0x01 0x81 0x06 0x86
302 memmap 0x0020 0x006f 0x000
303 memmap 0x0070 0x007f 0x180
304 memmap 0x00a0 0x00ef 0x000
305 memmap 0x0110 0x016f 0x000
306 memmap 0x0190 0x01ef 0x000
316 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
317 regmap 0x100 0x01 0x81 0x06 0x86
318 memmap 0x0020 0x006f 0x000
319 memmap 0x0070 0x007f 0x180
320 memmap 0x00a0 0x00ef 0x000
321 memmap 0x0110 0x016f 0x000
322 memmap 0x0190 0x01ef 0x000
332 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
333 regmap 0x100 0x01 0x81 0x06 0x86
334 memmap 0x0020 0x006f 0x000
335 memmap 0x0070 0x007f 0x180
336 memmap 0x00a0 0x00ef 0x000
337 memmap 0x0110 0x016f 0x000
338 memmap 0x0190 0x01ef 0x000
340 processor 16f785, 16hv785
348 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
349 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87 0x8c
350 memmap 0x0020 0x006f 0x000
351 memmap 0x0070 0x007f 0x180
352 memmap 0x00a0 0x00bf 0x000
354 processor 16f870, 16f872
362 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
363 regmap 0x100 0x01 0x81 0x06 0x86
364 memmap 0x0020 0x006f 0x100
365 memmap 0x0070 0x007f 0x180
366 memmap 0x00a0 0x00bf 0x100
376 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
377 regmap 0x100 0x01 0x81 0x06 0x86
378 memmap 0x0020 0x006f 0x100
379 memmap 0x0070 0x007f 0x180
380 memmap 0x00a0 0x00bf 0x100
382 processor 16f873, 16f873a
390 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
391 regmap 0x100 0x01 0x81 0x06 0x86
392 memmap 0x0020 0x007f 0x100
393 memmap 0x00a0 0x00ff 0x100
395 processor 16f874, 16f874a
403 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
404 regmap 0x100 0x01 0x81 0x06 0x86
405 memmap 0x0020 0x007f 0x100
406 memmap 0x00a0 0x00ff 0x100
408 processor 16f876, 16f876a
416 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
417 regmap 0x100 0x01 0x81 0x06 0x86
418 memmap 0x0020 0x006f 0x000
419 memmap 0x0070 0x007f 0x180
420 memmap 0x00a0 0x00ef 0x000
421 memmap 0x0110 0x016f 0x000
422 memmap 0x0190 0x01ef 0x000
424 processor 16f877, 16f877a
432 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
433 regmap 0x100 0x01 0x81 0x06 0x86
434 memmap 0x0020 0x006f 0x000
435 memmap 0x0070 0x007f 0x180
436 memmap 0x00a0 0x00ef 0x000
437 memmap 0x0110 0x016f 0x000
438 memmap 0x0190 0x01ef 0x000
448 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
449 regmap 0x100 0x01 0x81 0x06 0x86
450 memmap 0x0020 0x003f 0x100
451 memmap 0x0040 0x007f 0x180
452 memmap 0x00a0 0x00bf 0x000
462 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
463 regmap 0x100 0x01 0x81 0x06 0x86
464 memmap 0x0020 0x006f 0x000
465 memmap 0x0070 0x007f 0x180
466 memmap 0x00a0 0x00ef 0x000
467 memmap 0x0120 0x016f 0x000
477 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
478 regmap 0x100 0x01 0x81 0x06 0x86
479 memmap 0x0020 0x006f 0x000
480 memmap 0x0070 0x007f 0x180
481 memmap 0x00a0 0x00ef 0x000
482 memmap 0x0120 0x016f 0x000
492 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
493 regmap 0x100 0x01 0x81 0x06 0x86
494 memmap 0x0020 0x006f 0x000
495 memmap 0x0070 0x007f 0x180
496 memmap 0x00a0 0x00ef 0x000
497 memmap 0x0120 0x016f 0x000
507 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
508 regmap 0x100 0x01 0x81 0x06 0x86
509 memmap 0x0020 0x006f 0x000
510 memmap 0x0070 0x007f 0x180
511 memmap 0x00a0 0x00ef 0x000
512 memmap 0x0120 0x016f 0x000
513 memmap 0x0190 0x01ef 0x000
523 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
524 regmap 0x100 0x01 0x81 0x06 0x86
525 memmap 0x0020 0x006f 0x000
526 memmap 0x0070 0x007f 0x180
527 memmap 0x00a0 0x00ef 0x000
528 memmap 0x0120 0x016f 0x000
529 memmap 0x0190 0x01ef 0x000
539 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
540 regmap 0x100 0x01 0x81 0x06 0x86
541 memmap 0x0020 0x006f 0x000
542 memmap 0x0070 0x007f 0x180
543 memmap 0x00a0 0x00ef 0x000
544 memmap 0x0120 0x016f 0x000
545 memmap 0x01a0 0x01ef 0x000
551 processor 16c62, 16c72
559 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
560 memmap 0x0020 0x007f 0x000
561 memmap 0x00a0 0x00bf 0x000
563 processor 16c63a, 16c73b
571 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
572 memmap 0x0020 0x007f 0x000
573 memmap 0x00a0 0x00ff 0x000
575 processor 16c65b, 16c74b
583 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
584 memmap 0x0020 0x007f 0x000
585 memmap 0x00a0 0x00ff 0x000
595 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
596 regmap 0x100 0x01 0x81
597 memmap 0x0020 0x007f 0x000
598 memmap 0x00a0 0x00ff 0x000
608 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
609 regmap 0x100 0x01 0x81
610 memmap 0x0020 0x007f 0x000
611 memmap 0x00a0 0x00ff 0x000
621 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
622 regmap 0x180 0x01 0x81
623 memmap 0x0020 0x006f 0x000
624 memmap 0x00a0 0x00ef 0x000
625 memmap 0x0110 0x016f 0x000
626 memmap 0x0190 0x01ef 0x000
627 memmap 0x0070 0x007f 0x180
637 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
638 regmap 0x180 0x01 0x81
639 memmap 0x0020 0x006f 0x000
640 memmap 0x00a0 0x00ef 0x000
641 memmap 0x0110 0x016f 0x000
642 memmap 0x0190 0x01ef 0x000
643 memmap 0x0070 0x007f 0x180
653 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
654 memmap 0x0020 0x006f 0x000
655 memmap 0x0070 0x007f 0x080
656 memmap 0x00a0 0x00bf 0x000
666 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
667 memmap 0x0020 0x006f 0x000
668 memmap 0x0070 0x007f 0x080
669 memmap 0x00a0 0x00bf 0x000
679 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
680 memmap 0x0020 0x006f 0x000
682 processor 16c557, 16c558
690 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
691 memmap 0x0020 0x007f 0x000
692 memmap 0x00a0 0x00bf 0x000
702 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
703 memmap 0x0020 0x006f 0x000
705 processor 16c620a, 16cr620a
713 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
714 memmap 0x0020 0x006f 0x000
715 memmap 0x0070 0x007f 0x080
725 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
726 memmap 0x0020 0x006f 0x000
736 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
737 memmap 0x0020 0x006f 0x000
738 memmap 0x0070 0x007f 0x080
748 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
749 memmap 0x0020 0x007f 0x000
750 memmap 0x00a0 0x00bf 0x000
760 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
761 memmap 0x0020 0x006f 0x000
762 memmap 0x0070 0x007f 0x080
763 memmap 0x00a0 0x00bf 0x000
774 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
775 memmap 0x000c 0x002f 0x080
785 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
786 memmap 0x000c 0x002f 0x080
796 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
797 memmap 0x000c 0x004f 0x080
807 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
808 memmap 0x0020 0x007f 0x000
809 memmap 0x00a0 0x00bf 0x000
811 processor 16c717, 16c770
819 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
820 regmap 0x100 0x01 0x81 0x06 0x86
821 memmap 0x0020 0x006f 0x000
822 memmap 0x0070 0x007f 0x180
823 memmap 0x00a0 0x00ef 0x000
824 memmap 0x0120 0x016f 0x000
834 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
835 regmap 0x100 0x01 0x81 0x06 0x86
836 memmap 0x0020 0x006f 0x000
837 memmap 0x0070 0x007f 0x180
838 memmap 0x00a0 0x00ef 0x000
839 memmap 0x0120 0x016f 0x000
849 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
850 regmap 0x100 0x01 0x81 0x06 0x86
851 memmap 0x0020 0x006f 0x000
852 memmap 0x0070 0x007f 0x180
853 memmap 0x00a0 0x00ef 0x000
854 memmap 0x0120 0x016f 0x000
855 memmap 0x01a0 0x01df 0x000
865 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
866 regmap 0x100 0x01 0x81 0x06 0x86
867 memmap 0x0020 0x006f 0x000
868 memmap 0x0070 0x007f 0x180
869 memmap 0x00a0 0x00ef 0x000
870 memmap 0x0120 0x016f 0x000
871 memmap 0x01a0 0x01df 0x000
881 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
882 regmap 0x100 0x01 0x81 0x06 0x86
883 memmap 0x0020 0x006f 0x000
884 memmap 0x0070 0x007f 0x180
885 memmap 0x00a0 0x00ef 0x000
886 memmap 0x0120 0x016f 0x000
896 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
897 regmap 0x100 0x01 0x81 0x06 0x86
898 memmap 0x0020 0x006f 0x000
899 memmap 0x0070 0x007f 0x180
900 memmap 0x00a0 0x00ef 0x000
901 memmap 0x0120 0x016f 0x000
911 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
912 regmap 0x100 0x01 0x81 0x06 0x86
913 memmap 0x0020 0x006f 0x000
914 memmap 0x0070 0x007f 0x180
915 memmap 0x00a0 0x00bf 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 0x00bf 0x000
939 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
940 regmap 0x100 0x01 0x81 0x06 0x86
941 memmap 0x0020 0x006f 0x000
942 memmap 0x0070 0x007f 0x180
943 memmap 0x00a0 0x00bf 0x000
953 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
954 regmap 0x100 0x01 0x81 0x06 0x86
955 memmap 0x0020 0x006f 0x000
956 memmap 0x0070 0x007f 0x180
957 memmap 0x00a0 0x00bf 0x000
958 memmap 0x0120 0x016f 0x000
959 memmap 0x01a0 0x01bf 0x000
962 # 12F series devices with 14 bit core
964 processor 12f629, 12f675
972 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
973 memmap 0x0020 0x005f 0x000
974 memmap 0x00a0 0x00df 0x000
984 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
985 regmap 0x100 0x01 0x81 0x05 0x85
986 memmap 0x0040 0x006f 0x000
987 memmap 0x0070 0x007f 0x180
997 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
998 memmap 0x0020 0x006f 0x000
999 memmap 0x0070 0x007f 0x080
1000 memmap 0x00a0 0x00bf 0x000