comparison code_part1/OSTC_code_c_part2/p2_deco_main - 090915b.i @ 0:96a35aeda5f2

Initial setup
author heinrichsweikamp
date Tue, 12 Jan 2010 15:05:59 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:96a35aeda5f2
1 #line 1 "p2_deco_main - 090915b.c"
2 #line 1 "p2_deco_main - 090915b.c"
3
4 #line 17 "p2_deco_main - 090915b.c"
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 #line 1 "C:/MCC18/h/p18f4685.h"
69
70 #line 5 "C:/MCC18/h/p18f4685.h"
71
72
73
74 #line 9 "C:/MCC18/h/p18f4685.h"
75
76 extern volatile far unsigned char RXF6SIDH;
77 extern volatile far struct {
78 unsigned SID3:1;
79 unsigned SID4:1;
80 unsigned SID5:1;
81 unsigned SID6:1;
82 unsigned SID7:1;
83 unsigned SID8:1;
84 unsigned SID9:1;
85 unsigned SID10:1;
86 } RXF6SIDHbits;
87 extern volatile far unsigned char RXF6SIDL;
88 extern volatile far union {
89 struct {
90 unsigned EID16:1;
91 unsigned EID17:1;
92 unsigned :1;
93 unsigned EXIDE:1;
94 unsigned :1;
95 unsigned SID0:1;
96 unsigned SID1:1;
97 unsigned SID2:1;
98 };
99 struct {
100 unsigned :3;
101 unsigned EXIDEN:1;
102 };
103 } RXF6SIDLbits;
104 extern volatile far unsigned char RXF6EIDH;
105 extern volatile far struct {
106 unsigned EID8:1;
107 unsigned EID9:1;
108 unsigned EID10:1;
109 unsigned EID11:1;
110 unsigned EID12:1;
111 unsigned EID13:1;
112 unsigned EID14:1;
113 unsigned EID15:1;
114 } RXF6EIDHbits;
115 extern volatile far unsigned char RXF6EIDL;
116 extern volatile far struct {
117 unsigned EID0:1;
118 unsigned EID1:1;
119 unsigned EID2:1;
120 unsigned EID3:1;
121 unsigned EID4:1;
122 unsigned EID5:1;
123 unsigned EID6:1;
124 unsigned EID7:1;
125 } RXF6EIDLbits;
126 extern volatile far unsigned char RXF7SIDH;
127 extern volatile far struct {
128 unsigned SID3:1;
129 unsigned SID4:1;
130 unsigned SID5:1;
131 unsigned SID6:1;
132 unsigned SID7:1;
133 unsigned SID8:1;
134 unsigned SID9:1;
135 unsigned SID10:1;
136 } RXF7SIDHbits;
137 extern volatile far unsigned char RXF7SIDL;
138 extern volatile far union {
139 struct {
140 unsigned EID16:1;
141 unsigned EID17:1;
142 unsigned :1;
143 unsigned EXIDE:1;
144 unsigned :1;
145 unsigned SID0:1;
146 unsigned SID1:1;
147 unsigned SID2:1;
148 };
149 struct {
150 unsigned :3;
151 unsigned EXIDEN:1;
152 };
153 } RXF7SIDLbits;
154 extern volatile far unsigned char RXF7EIDH;
155 extern volatile far struct {
156 unsigned EID8:1;
157 unsigned EID9:1;
158 unsigned EID10:1;
159 unsigned EID11:1;
160 unsigned EID12:1;
161 unsigned EID13:1;
162 unsigned EID14:1;
163 unsigned EID15:1;
164 } RXF7EIDHbits;
165 extern volatile far unsigned char RXF7EIDL;
166 extern volatile far struct {
167 unsigned EID0:1;
168 unsigned EID1:1;
169 unsigned EID2:1;
170 unsigned EID3:1;
171 unsigned EID4:1;
172 unsigned EID5:1;
173 unsigned EID6:1;
174 unsigned EID7:1;
175 } RXF7EIDLbits;
176 extern volatile far unsigned char RXF8SIDH;
177 extern volatile far struct {
178 unsigned SID3:1;
179 unsigned SID4:1;
180 unsigned SID5:1;
181 unsigned SID6:1;
182 unsigned SID7:1;
183 unsigned SID8:1;
184 unsigned SID9:1;
185 unsigned SID10:1;
186 } RXF8SIDHbits;
187 extern volatile far unsigned char RXF8SIDL;
188 extern volatile far union {
189 struct {
190 unsigned EID16:1;
191 unsigned EID17:1;
192 unsigned :1;
193 unsigned EXIDE:1;
194 unsigned :1;
195 unsigned SID0:1;
196 unsigned SID1:1;
197 unsigned SID2:1;
198 };
199 struct {
200 unsigned :3;
201 unsigned EXIDEN:1;
202 };
203 } RXF8SIDLbits;
204 extern volatile far unsigned char RXF8EIDH;
205 extern volatile far struct {
206 unsigned EID8:1;
207 unsigned EID9:1;
208 unsigned EID10:1;
209 unsigned EID11:1;
210 unsigned EID12:1;
211 unsigned EID13:1;
212 unsigned EID14:1;
213 unsigned EID15:1;
214 } RXF8EIDHbits;
215 extern volatile far unsigned char RXF8EIDL;
216 extern volatile far struct {
217 unsigned EID0:1;
218 unsigned EID1:1;
219 unsigned EID2:1;
220 unsigned EID3:1;
221 unsigned EID4:1;
222 unsigned EID5:1;
223 unsigned EID6:1;
224 unsigned EID7:1;
225 } RXF8EIDLbits;
226 extern volatile far unsigned char RXF9SIDH;
227 extern volatile far struct {
228 unsigned SID3:1;
229 unsigned SID4:1;
230 unsigned SID5:1;
231 unsigned SID6:1;
232 unsigned SID7:1;
233 unsigned SID8:1;
234 unsigned SID9:1;
235 unsigned SID10:1;
236 } RXF9SIDHbits;
237 extern volatile far unsigned char RXF9SIDL;
238 extern volatile far union {
239 struct {
240 unsigned EID16:1;
241 unsigned EID17:1;
242 unsigned :1;
243 unsigned EXIDE:1;
244 unsigned :1;
245 unsigned SID0:1;
246 unsigned SID1:1;
247 unsigned SID2:1;
248 };
249 struct {
250 unsigned :3;
251 unsigned EXIDEN:1;
252 };
253 } RXF9SIDLbits;
254 extern volatile far unsigned char RXF9EIDH;
255 extern volatile far struct {
256 unsigned EID8:1;
257 unsigned EID9:1;
258 unsigned EID10:1;
259 unsigned EID11:1;
260 unsigned EID12:1;
261 unsigned EID13:1;
262 unsigned EID14:1;
263 unsigned EID15:1;
264 } RXF9EIDHbits;
265 extern volatile far unsigned char RXF9EIDL;
266 extern volatile far struct {
267 unsigned EID0:1;
268 unsigned EID1:1;
269 unsigned EID2:1;
270 unsigned EID3:1;
271 unsigned EID4:1;
272 unsigned EID5:1;
273 unsigned EID6:1;
274 unsigned EID7:1;
275 } RXF9EIDLbits;
276 extern volatile far unsigned char RXF10SIDH;
277 extern volatile far struct {
278 unsigned SID3:1;
279 unsigned SID4:1;
280 unsigned SID5:1;
281 unsigned SID6:1;
282 unsigned SID7:1;
283 unsigned SID8:1;
284 unsigned SID9:1;
285 unsigned SID10:1;
286 } RXF10SIDHbits;
287 extern volatile far unsigned char RXF10SIDL;
288 extern volatile far union {
289 struct {
290 unsigned EID16:1;
291 unsigned EID17:1;
292 unsigned :1;
293 unsigned EXIDE:1;
294 unsigned :1;
295 unsigned SID0:1;
296 unsigned SID1:1;
297 unsigned SID2:1;
298 };
299 struct {
300 unsigned :3;
301 unsigned EXIDEN:1;
302 };
303 } RXF10SIDLbits;
304 extern volatile far unsigned char RXF10EIDH;
305 extern volatile far struct {
306 unsigned EID8:1;
307 unsigned EID9:1;
308 unsigned EID10:1;
309 unsigned EID11:1;
310 unsigned EID12:1;
311 unsigned EID13:1;
312 unsigned EID14:1;
313 unsigned EID15:1;
314 } RXF10EIDHbits;
315 extern volatile far unsigned char RXF10EIDL;
316 extern volatile far struct {
317 unsigned EID0:1;
318 unsigned EID1:1;
319 unsigned EID2:1;
320 unsigned EID3:1;
321 unsigned EID4:1;
322 unsigned EID5:1;
323 unsigned EID6:1;
324 unsigned EID7:1;
325 } RXF10EIDLbits;
326 extern volatile far unsigned char RXF11SIDH;
327 extern volatile far struct {
328 unsigned SID3:1;
329 unsigned SID4:1;
330 unsigned SID5:1;
331 unsigned SID6:1;
332 unsigned SID7:1;
333 unsigned SID8:1;
334 unsigned SID9:1;
335 unsigned SID10:1;
336 } RXF11SIDHbits;
337 extern volatile far unsigned char RXF11SIDL;
338 extern volatile far union {
339 struct {
340 unsigned EID16:1;
341 unsigned EID17:1;
342 unsigned :1;
343 unsigned EXIDE:1;
344 unsigned :1;
345 unsigned SID0:1;
346 unsigned SID1:1;
347 unsigned SID2:1;
348 };
349 struct {
350 unsigned :3;
351 unsigned EXIDEN:1;
352 };
353 } RXF11SIDLbits;
354 extern volatile far unsigned char RXF11EIDH;
355 extern volatile far struct {
356 unsigned EID8:1;
357 unsigned EID9:1;
358 unsigned EID10:1;
359 unsigned EID11:1;
360 unsigned EID12:1;
361 unsigned EID13:1;
362 unsigned EID14:1;
363 unsigned EID15:1;
364 } RXF11EIDHbits;
365 extern volatile far unsigned char RXF11EIDL;
366 extern volatile far struct {
367 unsigned EID0:1;
368 unsigned EID1:1;
369 unsigned EID2:1;
370 unsigned EID3:1;
371 unsigned EID4:1;
372 unsigned EID5:1;
373 unsigned EID6:1;
374 unsigned EID7:1;
375 } RXF11EIDLbits;
376 extern volatile far unsigned char RXF12SIDH;
377 extern volatile far struct {
378 unsigned SID3:1;
379 unsigned SID4:1;
380 unsigned SID5:1;
381 unsigned SID6:1;
382 unsigned SID7:1;
383 unsigned SID8:1;
384 unsigned SID9:1;
385 unsigned SID10:1;
386 } RXF12SIDHbits;
387 extern volatile far unsigned char RXF12SIDL;
388 extern volatile far union {
389 struct {
390 unsigned EID16:1;
391 unsigned EID17:1;
392 unsigned :1;
393 unsigned EXIDE:1;
394 unsigned :1;
395 unsigned SID0:1;
396 unsigned SID1:1;
397 unsigned SID2:1;
398 };
399 struct {
400 unsigned :3;
401 unsigned EXIDEN:1;
402 };
403 } RXF12SIDLbits;
404 extern volatile far unsigned char RXF12EIDH;
405 extern volatile far struct {
406 unsigned EID8:1;
407 unsigned EID9:1;
408 unsigned EID10:1;
409 unsigned EID11:1;
410 unsigned EID12:1;
411 unsigned EID13:1;
412 unsigned EID14:1;
413 unsigned EID15:1;
414 } RXF12EIDHbits;
415 extern volatile far unsigned char RXF12EIDL;
416 extern volatile far struct {
417 unsigned EID0:1;
418 unsigned EID1:1;
419 unsigned EID2:1;
420 unsigned EID3:1;
421 unsigned EID4:1;
422 unsigned EID5:1;
423 unsigned EID6:1;
424 unsigned EID7:1;
425 } RXF12EIDLbits;
426 extern volatile far unsigned char RXF13SIDH;
427 extern volatile far struct {
428 unsigned SID3:1;
429 unsigned SID4:1;
430 unsigned SID5:1;
431 unsigned SID6:1;
432 unsigned SID7:1;
433 unsigned SID8:1;
434 unsigned SID9:1;
435 unsigned SID10:1;
436 } RXF13SIDHbits;
437 extern volatile far unsigned char RXF13SIDL;
438 extern volatile far union {
439 struct {
440 unsigned EID16:1;
441 unsigned EID17:1;
442 unsigned :1;
443 unsigned EXIDE:1;
444 unsigned :1;
445 unsigned SID0:1;
446 unsigned SID1:1;
447 unsigned SID2:1;
448 };
449 struct {
450 unsigned :3;
451 unsigned EXIDEN:1;
452 };
453 } RXF13SIDLbits;
454 extern volatile far unsigned char RXF13EIDH;
455 extern volatile far struct {
456 unsigned EID8:1;
457 unsigned EID9:1;
458 unsigned EID10:1;
459 unsigned EID11:1;
460 unsigned EID12:1;
461 unsigned EID13:1;
462 unsigned EID14:1;
463 unsigned EID15:1;
464 } RXF13EIDHbits;
465 extern volatile far unsigned char RXF13EIDL;
466 extern volatile far struct {
467 unsigned EID0:1;
468 unsigned EID1:1;
469 unsigned EID2:1;
470 unsigned EID3:1;
471 unsigned EID4:1;
472 unsigned EID5:1;
473 unsigned EID6:1;
474 unsigned EID7:1;
475 } RXF13EIDLbits;
476 extern volatile far unsigned char RXF14SIDH;
477 extern volatile far struct {
478 unsigned SID3:1;
479 unsigned SID4:1;
480 unsigned SID5:1;
481 unsigned SID6:1;
482 unsigned SID7:1;
483 unsigned SID8:1;
484 unsigned SID9:1;
485 unsigned SID10:1;
486 } RXF14SIDHbits;
487 extern volatile far unsigned char RXF14SIDL;
488 extern volatile far union {
489 struct {
490 unsigned EID16:1;
491 unsigned EID17:1;
492 unsigned :1;
493 unsigned EXIDE:1;
494 unsigned :1;
495 unsigned SID0:1;
496 unsigned SID1:1;
497 unsigned SID2:1;
498 };
499 struct {
500 unsigned :3;
501 unsigned EXIDEN:1;
502 };
503 } RXF14SIDLbits;
504 extern volatile far unsigned char RXF14EIDH;
505 extern volatile far struct {
506 unsigned EID8:1;
507 unsigned EID9:1;
508 unsigned EID10:1;
509 unsigned EID11:1;
510 unsigned EID12:1;
511 unsigned EID13:1;
512 unsigned EID14:1;
513 unsigned EID15:1;
514 } RXF14EIDHbits;
515 extern volatile far unsigned char RXF14EIDL;
516 extern volatile far struct {
517 unsigned EID0:1;
518 unsigned EID1:1;
519 unsigned EID2:1;
520 unsigned EID3:1;
521 unsigned EID4:1;
522 unsigned EID5:1;
523 unsigned EID6:1;
524 unsigned EID7:1;
525 } RXF14EIDLbits;
526 extern volatile far unsigned char RXF15SIDH;
527 extern volatile far struct {
528 unsigned SID3:1;
529 unsigned SID4:1;
530 unsigned SID5:1;
531 unsigned SID6:1;
532 unsigned SID7:1;
533 unsigned SID8:1;
534 unsigned SID9:1;
535 unsigned SID10:1;
536 } RXF15SIDHbits;
537 extern volatile far unsigned char RXF15SIDL;
538 extern volatile far union {
539 struct {
540 unsigned EID16:1;
541 unsigned EID17:1;
542 unsigned :1;
543 unsigned EXIDE:1;
544 unsigned :1;
545 unsigned SID0:1;
546 unsigned SID1:1;
547 unsigned SID2:1;
548 };
549 struct {
550 unsigned :3;
551 unsigned EXIDEN:1;
552 };
553 } RXF15SIDLbits;
554 extern volatile far unsigned char RXF15EIDH;
555 extern volatile far struct {
556 unsigned EID8:1;
557 unsigned EID9:1;
558 unsigned EID10:1;
559 unsigned EID11:1;
560 unsigned EID12:1;
561 unsigned EID13:1;
562 unsigned EID14:1;
563 unsigned EID15:1;
564 } RXF15EIDHbits;
565 extern volatile far unsigned char RXF15EIDL;
566 extern volatile far struct {
567 unsigned EID0:1;
568 unsigned EID1:1;
569 unsigned EID2:1;
570 unsigned EID3:1;
571 unsigned EID4:1;
572 unsigned EID5:1;
573 unsigned EID6:1;
574 unsigned EID7:1;
575 } RXF15EIDLbits;
576 extern volatile far unsigned char RXFCON0;
577 extern volatile far struct {
578 unsigned RXF0EN:1;
579 unsigned RXF1EN:1;
580 unsigned RXF2EN:1;
581 unsigned RXF3EN:1;
582 unsigned RXF4EN:1;
583 unsigned RXF5EN:1;
584 unsigned RXF6EN:1;
585 unsigned RXF7EN:1;
586 } RXFCON0bits;
587 extern volatile far unsigned char RXFCON1;
588 extern volatile far struct {
589 unsigned RXF8EN:1;
590 unsigned RXF9EN:1;
591 unsigned RXF10EN:1;
592 unsigned RXF11EN:1;
593 unsigned RXF12EN:1;
594 unsigned RXF13EN:1;
595 unsigned RXF14EN:1;
596 unsigned RXF15EN:1;
597 } RXFCON1bits;
598 extern volatile far unsigned char SDFLC;
599 extern volatile far union {
600 struct {
601 unsigned DFLC0:1;
602 unsigned DFLC1:1;
603 unsigned DFLC2:1;
604 unsigned DFLC3:1;
605 unsigned DFLC4:1;
606 };
607 struct {
608 unsigned FLC0:1;
609 unsigned FLC1:1;
610 unsigned FLC2:1;
611 unsigned FLC3:1;
612 unsigned FLC4:1;
613 };
614 } SDFLCbits;
615 extern volatile far unsigned char RXFBCON0;
616 extern volatile far struct {
617 unsigned F0BP_0:1;
618 unsigned F0BP_1:1;
619 unsigned F0BP_2:1;
620 unsigned F0BP_3:1;
621 unsigned F1BP_0:1;
622 unsigned F1BP_1:1;
623 unsigned F1BP_2:1;
624 unsigned F1BP_3:1;
625 } RXFBCON0bits;
626 extern volatile far unsigned char RXFBCON1;
627 extern volatile far struct {
628 unsigned F2BP_0:1;
629 unsigned F2BP_1:1;
630 unsigned F2BP_2:1;
631 unsigned F2BP_3:1;
632 unsigned F3BP_0:1;
633 unsigned F3BP_1:1;
634 unsigned F3BP_2:1;
635 unsigned F3BP_3:1;
636 } RXFBCON1bits;
637 extern volatile far unsigned char RXFBCON2;
638 extern volatile far struct {
639 unsigned F4BP_0:1;
640 unsigned F4BP_1:1;
641 unsigned F4BP_2:1;
642 unsigned F4BP_3:1;
643 unsigned F5BP_0:1;
644 unsigned F5BP_1:1;
645 unsigned F5BP_2:1;
646 unsigned F5BP_3:1;
647 } RXFBCON2bits;
648 extern volatile far unsigned char RXFBCON3;
649 extern volatile far struct {
650 unsigned F6BP_0:1;
651 unsigned F6BP_1:1;
652 unsigned F6BP_2:1;
653 unsigned F6BP_3:1;
654 unsigned F7BP_0:1;
655 unsigned F7BP_1:1;
656 unsigned F7BP_2:1;
657 unsigned F7BP_3:1;
658 } RXFBCON3bits;
659 extern volatile far unsigned char RXFBCON4;
660 extern volatile far struct {
661 unsigned F8BP_0:1;
662 unsigned F8BP_1:1;
663 unsigned F8BP_2:1;
664 unsigned F8BP_3:1;
665 unsigned F9BP_0:1;
666 unsigned F9BP_1:1;
667 unsigned F9BP_2:1;
668 unsigned F9BP_3:1;
669 } RXFBCON4bits;
670 extern volatile far unsigned char RXFBCON5;
671 extern volatile far struct {
672 unsigned F10BP_0:1;
673 unsigned F10BP_1:1;
674 unsigned F10BP_2:1;
675 unsigned F10BP_3:1;
676 unsigned F11BP_0:1;
677 unsigned F11BP_1:1;
678 unsigned F11BP_2:1;
679 unsigned F11BP_3:1;
680 } RXFBCON5bits;
681 extern volatile far unsigned char RXFBCON6;
682 extern volatile far struct {
683 unsigned F12BP_0:1;
684 unsigned F12BP_1:1;
685 unsigned F12BP_2:1;
686 unsigned F12BP_3:1;
687 unsigned F13BP_0:1;
688 unsigned F13BP_1:1;
689 unsigned F13BP_2:1;
690 unsigned F13BP_3:1;
691 } RXFBCON6bits;
692 extern volatile far unsigned char RXFBCON7;
693 extern volatile far struct {
694 unsigned F14BP_0:1;
695 unsigned F14BP_1:1;
696 unsigned F14BP_2:1;
697 unsigned F14BP_3:1;
698 unsigned F15BP_0:1;
699 unsigned F15BP_1:1;
700 unsigned F15BP_2:1;
701 unsigned F15BP_3:1;
702 } RXFBCON7bits;
703 extern volatile far unsigned char MSEL0;
704 extern volatile far struct {
705 unsigned FIL0_0:1;
706 unsigned FIL0_1:1;
707 unsigned FIL1_0:1;
708 unsigned FIL1_1:1;
709 unsigned FIL2_0:1;
710 unsigned FIL2_1:1;
711 unsigned FIL3_0:1;
712 unsigned FIL3_1:1;
713 } MSEL0bits;
714 extern volatile far unsigned char MSEL1;
715 extern volatile far struct {
716 unsigned FIL4_0:1;
717 unsigned FIL4_1:1;
718 unsigned FIL5_0:1;
719 unsigned FIL5_1:1;
720 unsigned FIL6_0:1;
721 unsigned FIL6_1:1;
722 unsigned FIL7_0:1;
723 unsigned FIL7_1:1;
724 } MSEL1bits;
725 extern volatile far unsigned char MSEL2;
726 extern volatile far struct {
727 unsigned FIL8_0:1;
728 unsigned FIL8_1:1;
729 unsigned FIL9_0:1;
730 unsigned FIL9_1:1;
731 unsigned FIL10_0:1;
732 unsigned FIL10_1:1;
733 unsigned FIL11_0:1;
734 unsigned FIL11_1:1;
735 } MSEL2bits;
736 extern volatile far unsigned char MSEL3;
737 extern volatile far struct {
738 unsigned FIL12_0:1;
739 unsigned FIL12_1:1;
740 unsigned FIL13_0:1;
741 unsigned FIL13_1:1;
742 unsigned FIL14_0:1;
743 unsigned FIL14_1:1;
744 unsigned FIL15_0:1;
745 unsigned FIL15_1:1;
746 } MSEL3bits;
747 extern volatile far unsigned char BSEL0;
748 extern volatile far struct {
749 unsigned :2;
750 unsigned B0TXEN:1;
751 unsigned B1TXEN:1;
752 unsigned B2TXEN:1;
753 unsigned B3TXEN:1;
754 unsigned B4TXEN:1;
755 unsigned B5TXEN:1;
756 } BSEL0bits;
757 extern volatile far unsigned char BIE0;
758 extern volatile far struct {
759 unsigned RXB0IE:1;
760 unsigned RXB1IE:1;
761 unsigned B0IE:1;
762 unsigned B1IE:1;
763 unsigned B2IE:1;
764 unsigned B3IE:1;
765 unsigned B4IE:1;
766 unsigned B5IE:1;
767 } BIE0bits;
768 extern volatile far unsigned char TXBIE;
769 extern volatile far struct {
770 unsigned :2;
771 unsigned TXB0IE:1;
772 unsigned TXB1IE:1;
773 unsigned TXB2IE:1;
774 } TXBIEbits;
775 extern volatile far unsigned char B0CON;
776 extern volatile far union {
777 struct {
778 unsigned FILHIT0:1;
779 unsigned FILHIT1:1;
780 unsigned FILHIT2:1;
781 unsigned FILHIT3:1;
782 unsigned FILHIT4:1;
783 unsigned RTRRO:1;
784 unsigned RXM1:1;
785 unsigned RXFUL:1;
786 };
787 struct {
788 unsigned TXPRI0:1;
789 unsigned TXPRI1:1;
790 unsigned RTREN:1;
791 unsigned TXREQ:1;
792 unsigned TXERR:1;
793 unsigned TXLARB:1;
794 unsigned TXABT:1;
795 unsigned TXBIF:1;
796 };
797 struct {
798 unsigned :5;
799 unsigned RXRTRRO:1;
800 };
801 } B0CONbits;
802 extern volatile far unsigned char B0SIDH;
803 extern volatile far struct {
804 unsigned SID3:1;
805 unsigned SID4:1;
806 unsigned SID5:1;
807 unsigned SID6:1;
808 unsigned SID7:1;
809 unsigned SID8:1;
810 unsigned SID9:1;
811 unsigned SID10:1;
812 } B0SIDHbits;
813 extern volatile far unsigned char B0SIDL;
814 extern volatile far union {
815 struct {
816 unsigned EID16:1;
817 unsigned EID17:1;
818 unsigned :1;
819 unsigned EXID:1;
820 unsigned SRR:1;
821 unsigned SID0:1;
822 unsigned SID1:1;
823 unsigned SID2:1;
824 };
825 struct {
826 unsigned :3;
827 unsigned EXIDE:1;
828 };
829 } B0SIDLbits;
830 extern volatile far unsigned char B0EIDH;
831 extern volatile far struct {
832 unsigned EID8:1;
833 unsigned EID9:1;
834 unsigned EID10:1;
835 unsigned EID11:1;
836 unsigned EID12:1;
837 unsigned EID13:1;
838 unsigned EID14:1;
839 unsigned EID15:1;
840 } B0EIDHbits;
841 extern volatile far unsigned char B0EIDL;
842 extern volatile far struct {
843 unsigned EID0:1;
844 unsigned EID1:1;
845 unsigned EID2:1;
846 unsigned EID3:1;
847 unsigned EID4:1;
848 unsigned EID5:1;
849 unsigned EID6:1;
850 unsigned EID7:1;
851 } B0EIDLbits;
852 extern volatile far unsigned char B0DLC;
853 extern volatile far union {
854 struct {
855 unsigned DLC0:1;
856 unsigned DLC1:1;
857 unsigned DLC2:1;
858 unsigned DLC3:1;
859 unsigned RESRB0:1;
860 unsigned RESRB1:1;
861 unsigned RXRTR:1;
862 };
863 struct {
864 unsigned :6;
865 unsigned TXRTR:1;
866 };
867 struct {
868 unsigned :4;
869 unsigned RB0:1;
870 unsigned RB1:1;
871 };
872 } B0DLCbits;
873 extern volatile far unsigned char B0D0;
874 extern volatile far struct {
875 unsigned B0D00:1;
876 unsigned B0D01:1;
877 unsigned B0D02:1;
878 unsigned B0D03:1;
879 unsigned B0D04:1;
880 unsigned B0D05:1;
881 unsigned B0D06:1;
882 unsigned B0D07:1;
883 } B0D0bits;
884 extern volatile far unsigned char B0D1;
885 extern volatile far struct {
886 unsigned B0D10:1;
887 unsigned B0D11:1;
888 unsigned B0D12:1;
889 unsigned B0D13:1;
890 unsigned B0D14:1;
891 unsigned B0D15:1;
892 unsigned B0D16:1;
893 unsigned B0D17:1;
894 } B0D1bits;
895 extern volatile far unsigned char B0D2;
896 extern volatile far struct {
897 unsigned B0D20:1;
898 unsigned B0D21:1;
899 unsigned B0D22:1;
900 unsigned B0D23:1;
901 unsigned B0D24:1;
902 unsigned B0D25:1;
903 unsigned B0D26:1;
904 unsigned B0D27:1;
905 } B0D2bits;
906 extern volatile far unsigned char B0D3;
907 extern volatile far struct {
908 unsigned B0D30:1;
909 unsigned B0D31:1;
910 unsigned B0D32:1;
911 unsigned B0D33:1;
912 unsigned B0D34:1;
913 unsigned B0D35:1;
914 unsigned B0D36:1;
915 unsigned B0D37:1;
916 } B0D3bits;
917 extern volatile far unsigned char B0D4;
918 extern volatile far struct {
919 unsigned B0D40:1;
920 unsigned B0D41:1;
921 unsigned B0D42:1;
922 unsigned B0D43:1;
923 unsigned B0D44:1;
924 unsigned B0D45:1;
925 unsigned B0D46:1;
926 unsigned B0D47:1;
927 } B0D4bits;
928 extern volatile far unsigned char B0D5;
929 extern volatile far struct {
930 unsigned B0D50:1;
931 unsigned B0D51:1;
932 unsigned B0D52:1;
933 unsigned B0D53:1;
934 unsigned B0D54:1;
935 unsigned B0D55:1;
936 unsigned B0D56:1;
937 unsigned B0D57:1;
938 } B0D5bits;
939 extern volatile far unsigned char B0D6;
940 extern volatile far struct {
941 unsigned B0D60:1;
942 unsigned B0D61:1;
943 unsigned B0D62:1;
944 unsigned B0D63:1;
945 unsigned B0D64:1;
946 unsigned B0D65:1;
947 unsigned B0D66:1;
948 unsigned B0D67:1;
949 } B0D6bits;
950 extern volatile far unsigned char B0D7;
951 extern volatile far struct {
952 unsigned B0D70:1;
953 unsigned B0D71:1;
954 unsigned B0D72:1;
955 unsigned B0D73:1;
956 unsigned B0D74:1;
957 unsigned B0D75:1;
958 unsigned B0D76:1;
959 unsigned B0D77:1;
960 } B0D7bits;
961 extern volatile far unsigned char CANSTAT_RO9;
962 extern volatile far struct {
963 unsigned ICODE0:1;
964 unsigned ICODE1:1;
965 unsigned ICODE2:1;
966 unsigned ICODE3:1;
967 unsigned ICODE4:1;
968 unsigned OPMODE:1;
969 unsigned REQOP1:1;
970 unsigned REQOP2:1;
971 } CANSTAT_RO9bits;
972 extern volatile far unsigned char CANCON_RO9;
973 extern volatile far struct {
974 unsigned :1;
975 unsigned WIN0:1;
976 unsigned WIN1:1;
977 unsigned WIN2:1;
978 unsigned ABAT:1;
979 unsigned REQOP0:1;
980 unsigned REQOP1:1;
981 unsigned REQOP2:1;
982 } CANCON_RO9bits;
983 extern volatile far unsigned char B1CON;
984 extern volatile far union {
985 struct {
986 unsigned FILHIT0:1;
987 unsigned FILHIT1:1;
988 unsigned FILHIT2:1;
989 unsigned FILHIT3:1;
990 unsigned FILHIT4:1;
991 unsigned RTRRO:1;
992 unsigned RXM1:1;
993 unsigned RXFUL:1;
994 };
995 struct {
996 unsigned TXPRI0:1;
997 unsigned TXPRI1:1;
998 unsigned RTREN:1;
999 unsigned TXREQ:1;
1000 unsigned TXERR:1;
1001 unsigned TXLARB:1;
1002 unsigned TXABT:1;
1003 unsigned TXBIF:1;
1004 };
1005 struct {
1006 unsigned :5;
1007 unsigned RXRTRRO:1;
1008 };
1009 } B1CONbits;
1010 extern volatile far unsigned char B1SIDH;
1011 extern volatile far struct {
1012 unsigned SID3:1;
1013 unsigned SID4:1;
1014 unsigned SID5:1;
1015 unsigned SID6:1;
1016 unsigned SID7:1;
1017 unsigned SID8:1;
1018 unsigned SID9:1;
1019 unsigned SID10:1;
1020 } B1SIDHbits;
1021 extern volatile far unsigned char B1SIDL;
1022 extern volatile far union {
1023 struct {
1024 unsigned EID16:1;
1025 unsigned EID17:1;
1026 unsigned :1;
1027 unsigned EXID:1;
1028 unsigned SRR:1;
1029 unsigned SID0:1;
1030 unsigned SID1:1;
1031 unsigned SID2:1;
1032 };
1033 struct {
1034 unsigned :3;
1035 unsigned EXIDE:1;
1036 };
1037 } B1SIDLbits;
1038 extern volatile far unsigned char B1EIDH;
1039 extern volatile far struct {
1040 unsigned EID8:1;
1041 unsigned EID9:1;
1042 unsigned EID10:1;
1043 unsigned EID11:1;
1044 unsigned EID12:1;
1045 unsigned EID13:1;
1046 unsigned EID14:1;
1047 unsigned EID15:1;
1048 } B1EIDHbits;
1049 extern volatile far unsigned char B1EIDL;
1050 extern volatile far struct {
1051 unsigned EID0:1;
1052 unsigned EID1:1;
1053 unsigned EID2:1;
1054 unsigned EID3:1;
1055 unsigned EID4:1;
1056 unsigned EID5:1;
1057 unsigned EID6:1;
1058 unsigned EID7:1;
1059 } B1EIDLbits;
1060 extern volatile far unsigned char B1DLC;
1061 extern volatile far union {
1062 struct {
1063 unsigned DLC0:1;
1064 unsigned DLC1:1;
1065 unsigned DLC2:1;
1066 unsigned DLC3:1;
1067 unsigned RESRB0:1;
1068 unsigned RESRB1:1;
1069 unsigned RXRTR:1;
1070 };
1071 struct {
1072 unsigned :4;
1073 unsigned RB0:1;
1074 unsigned RB1:1;
1075 };
1076 struct {
1077 unsigned :6;
1078 unsigned TXRTR:1;
1079 };
1080 } B1DLCbits;
1081 extern volatile far unsigned char B1D0;
1082 extern volatile far struct {
1083 unsigned B1D00:1;
1084 unsigned B1D01:1;
1085 unsigned B1D02:1;
1086 unsigned B1D03:1;
1087 unsigned B1D04:1;
1088 unsigned B1D05:1;
1089 unsigned B1D06:1;
1090 unsigned B1D07:1;
1091 } B1D0bits;
1092 extern volatile far unsigned char B1D1;
1093 extern volatile far struct {
1094 unsigned B1D10:1;
1095 unsigned B1D11:1;
1096 unsigned B1D12:1;
1097 unsigned B1D13:1;
1098 unsigned B1D14:1;
1099 unsigned B1D15:1;
1100 unsigned B1D16:1;
1101 unsigned B1D17:1;
1102 } B1D1bits;
1103 extern volatile far unsigned char B1D2;
1104 extern volatile far struct {
1105 unsigned B1D20:1;
1106 unsigned B1D21:1;
1107 unsigned B1D22:1;
1108 unsigned B1D23:1;
1109 unsigned B1D24:1;
1110 unsigned B1D25:1;
1111 unsigned B1D26:1;
1112 unsigned B1D27:1;
1113 } B1D2bits;
1114 extern volatile far unsigned char B1D3;
1115 extern volatile far struct {
1116 unsigned B1D30:1;
1117 unsigned B1D31:1;
1118 unsigned B1D32:1;
1119 unsigned B1D33:1;
1120 unsigned B1D34:1;
1121 unsigned B1D35:1;
1122 unsigned B1D36:1;
1123 unsigned B1D37:1;
1124 } B1D3bits;
1125 extern volatile far unsigned char B1D4;
1126 extern volatile far struct {
1127 unsigned B1D40:1;
1128 unsigned B1D41:1;
1129 unsigned B1D42:1;
1130 unsigned B1D43:1;
1131 unsigned B1D44:1;
1132 unsigned B1D45:1;
1133 unsigned B1D46:1;
1134 unsigned B1D47:1;
1135 } B1D4bits;
1136 extern volatile far unsigned char B1D5;
1137 extern volatile far struct {
1138 unsigned B1D50:1;
1139 unsigned B1D51:1;
1140 unsigned B1D52:1;
1141 unsigned B1D53:1;
1142 unsigned B1D54:1;
1143 unsigned B1D55:1;
1144 unsigned B1D56:1;
1145 unsigned B1D57:1;
1146 } B1D5bits;
1147 extern volatile far unsigned char B1D6;
1148 extern volatile far struct {
1149 unsigned B1D60:1;
1150 unsigned B1D61:1;
1151 unsigned B1D62:1;
1152 unsigned B1D63:1;
1153 unsigned B1D64:1;
1154 unsigned B1D65:1;
1155 unsigned B1D66:1;
1156 unsigned B1D67:1;
1157 } B1D6bits;
1158 extern volatile far unsigned char B1D7;
1159 extern volatile far struct {
1160 unsigned B1D70:1;
1161 unsigned B1D71:1;
1162 unsigned B1D72:1;
1163 unsigned B1D73:1;
1164 unsigned B1D74:1;
1165 unsigned B1D75:1;
1166 unsigned B1D76:1;
1167 unsigned B1D77:1;
1168 } B1D7bits;
1169 extern volatile far unsigned char CANSTAT_RO8;
1170 extern volatile far struct {
1171 unsigned ICODE0:1;
1172 unsigned ICODE1:1;
1173 unsigned ICODE2:1;
1174 unsigned ICODE3:1;
1175 unsigned ICODE4:1;
1176 unsigned OPMODE:1;
1177 unsigned REQOP1:1;
1178 unsigned REQOP2:1;
1179 } CANSTAT_RO8bits;
1180 extern volatile far unsigned char CANCON_RO8;
1181 extern volatile far struct {
1182 unsigned :1;
1183 unsigned WIN0:1;
1184 unsigned WIN1:1;
1185 unsigned WIN2:1;
1186 unsigned ABAT:1;
1187 unsigned REQOP0:1;
1188 unsigned REQOP1:1;
1189 unsigned REQOP2:1;
1190 } CANCON_RO8bits;
1191 extern volatile far unsigned char B2CON;
1192 extern volatile far union {
1193 struct {
1194 unsigned FILHIT0:1;
1195 unsigned FILHIT1:1;
1196 unsigned FILHIT2:1;
1197 unsigned FILHIT3:1;
1198 unsigned FILHIT4:1;
1199 unsigned RTRRO:1;
1200 unsigned RXM1:1;
1201 unsigned RXFUL:1;
1202 };
1203 struct {
1204 unsigned TXPRI0:1;
1205 unsigned TXPRI1:1;
1206 unsigned RTREN:1;
1207 unsigned TXREQ:1;
1208 unsigned TXERR:1;
1209 unsigned TXLARB:1;
1210 unsigned TXABT:1;
1211 unsigned TXBIF:1;
1212 };
1213 struct {
1214 unsigned :5;
1215 unsigned RXRTRRO:1;
1216 };
1217 } B2CONbits;
1218 extern volatile far unsigned char B2SIDH;
1219 extern volatile far struct {
1220 unsigned SID3:1;
1221 unsigned SID4:1;
1222 unsigned SID5:1;
1223 unsigned SID6:1;
1224 unsigned SID7:1;
1225 unsigned SID8:1;
1226 unsigned SID9:1;
1227 unsigned SID10:1;
1228 } B2SIDHbits;
1229 extern volatile far unsigned char B2SIDL;
1230 extern volatile far union {
1231 struct {
1232 unsigned EID16:1;
1233 unsigned EID17:1;
1234 unsigned :1;
1235 unsigned EXID:1;
1236 unsigned SRR:1;
1237 unsigned SID0:1;
1238 unsigned SID1:1;
1239 unsigned SID2:1;
1240 };
1241 struct {
1242 unsigned :3;
1243 unsigned EXIDE:1;
1244 };
1245 } B2SIDLbits;
1246 extern volatile far unsigned char B2EIDH;
1247 extern volatile far struct {
1248 unsigned EID8:1;
1249 unsigned EID9:1;
1250 unsigned EID10:1;
1251 unsigned EID11:1;
1252 unsigned EID12:1;
1253 unsigned EID13:1;
1254 unsigned EID14:1;
1255 unsigned EID15:1;
1256 } B2EIDHbits;
1257 extern volatile far unsigned char B2EIDL;
1258 extern volatile far struct {
1259 unsigned EID0:1;
1260 unsigned EID1:1;
1261 unsigned EID2:1;
1262 unsigned EID3:1;
1263 unsigned EID4:1;
1264 unsigned EID5:1;
1265 unsigned EID6:1;
1266 unsigned EID7:1;
1267 } B2EIDLbits;
1268 extern volatile far unsigned char B2DLC;
1269 extern volatile far union {
1270 struct {
1271 unsigned DLC0:1;
1272 unsigned DLC1:1;
1273 unsigned DLC2:1;
1274 unsigned DLC3:1;
1275 unsigned RESRB0:1;
1276 unsigned RESRB1:1;
1277 unsigned RXRTR:1;
1278 };
1279 struct {
1280 unsigned :6;
1281 unsigned TXRTR:1;
1282 };
1283 struct {
1284 unsigned :4;
1285 unsigned RB0:1;
1286 unsigned RB1:1;
1287 };
1288 } B2DLCbits;
1289 extern volatile far unsigned char B2D0;
1290 extern volatile far struct {
1291 unsigned B2D00:1;
1292 unsigned B2D01:1;
1293 unsigned B2D02:1;
1294 unsigned B2D03:1;
1295 unsigned B2D04:1;
1296 unsigned B2D05:1;
1297 unsigned B2D06:1;
1298 unsigned B2D07:1;
1299 } B2D0bits;
1300 extern volatile far unsigned char B2D1;
1301 extern volatile far struct {
1302 unsigned B2D10:1;
1303 unsigned B2D11:1;
1304 unsigned B2D12:1;
1305 unsigned B2D13:1;
1306 unsigned B2D14:1;
1307 unsigned B2D15:1;
1308 unsigned B2D16:1;
1309 unsigned B2D17:1;
1310 } B2D1bits;
1311 extern volatile far unsigned char B2D2;
1312 extern volatile far struct {
1313 unsigned B2D20:1;
1314 unsigned B2D21:1;
1315 unsigned B2D22:1;
1316 unsigned B2D23:1;
1317 unsigned B2D24:1;
1318 unsigned B2D25:1;
1319 unsigned B2D26:1;
1320 unsigned B2D27:1;
1321 } B2D2bits;
1322 extern volatile far unsigned char B2D3;
1323 extern volatile far struct {
1324 unsigned B2D30:1;
1325 unsigned B2D31:1;
1326 unsigned B2D32:1;
1327 unsigned B2D33:1;
1328 unsigned B2D34:1;
1329 unsigned B2D35:1;
1330 unsigned B2D36:1;
1331 unsigned B2D37:1;
1332 } B2D3bits;
1333 extern volatile far unsigned char B2D4;
1334 extern volatile far struct {
1335 unsigned B2D40:1;
1336 unsigned B2D41:1;
1337 unsigned B2D42:1;
1338 unsigned B2D43:1;
1339 unsigned B2D44:1;
1340 unsigned B2D45:1;
1341 unsigned B2D46:1;
1342 unsigned B2D47:1;
1343 } B2D4bits;
1344 extern volatile far unsigned char B2D5;
1345 extern volatile far struct {
1346 unsigned B2D50:1;
1347 unsigned B2D51:1;
1348 unsigned B2D52:1;
1349 unsigned B2D53:1;
1350 unsigned B2D54:1;
1351 unsigned B2D55:1;
1352 unsigned B2D56:1;
1353 unsigned B2D57:1;
1354 } B2D5bits;
1355 extern volatile far unsigned char B2D6;
1356 extern volatile far struct {
1357 unsigned B2D60:1;
1358 unsigned B2D61:1;
1359 unsigned B2D62:1;
1360 unsigned B2D63:1;
1361 unsigned B2D64:1;
1362 unsigned B2D65:1;
1363 unsigned B2D66:1;
1364 unsigned B2D67:1;
1365 } B2D6bits;
1366 extern volatile far unsigned char B2D7;
1367 extern volatile far struct {
1368 unsigned B2D70:1;
1369 unsigned B2D71:1;
1370 unsigned B2D72:1;
1371 unsigned B2D73:1;
1372 unsigned B2D74:1;
1373 unsigned B2D75:1;
1374 unsigned B2D76:1;
1375 unsigned B2D77:1;
1376 } B2D7bits;
1377 extern volatile far unsigned char CANSTAT_RO7;
1378 extern volatile far struct {
1379 unsigned ICODE0:1;
1380 unsigned ICODE1:1;
1381 unsigned ICODE2:1;
1382 unsigned ICODE3:1;
1383 unsigned ICODE4:1;
1384 unsigned OPMODE:1;
1385 unsigned REQOP1:1;
1386 unsigned REQOP2:1;
1387 } CANSTAT_RO7bits;
1388 extern volatile far unsigned char CANCON_RO7;
1389 extern volatile far struct {
1390 unsigned :1;
1391 unsigned WIN0:1;
1392 unsigned WIN1:1;
1393 unsigned WIN2:1;
1394 unsigned ABAT:1;
1395 unsigned REQOP0:1;
1396 unsigned REQOP1:1;
1397 unsigned REQOP2:1;
1398 } CANCON_RO7bits;
1399 extern volatile far unsigned char B3CON;
1400 extern volatile far union {
1401 struct {
1402 unsigned FILHIT0:1;
1403 unsigned FILHIT1:1;
1404 unsigned FILHIT2:1;
1405 unsigned FILHIT3:1;
1406 unsigned FILHIT4:1;
1407 unsigned RTRRO:1;
1408 unsigned RXM1:1;
1409 unsigned RXFUL:1;
1410 };
1411 struct {
1412 unsigned TXPRI0:1;
1413 unsigned TXPRI1:1;
1414 unsigned RTREN:1;
1415 unsigned TXREQ:1;
1416 unsigned TXERR:1;
1417 unsigned TXLARB:1;
1418 unsigned TXABT:1;
1419 unsigned TXBIF:1;
1420 };
1421 struct {
1422 unsigned :5;
1423 unsigned RXRTRRO:1;
1424 };
1425 } B3CONbits;
1426 extern volatile far unsigned char B3SIDH;
1427 extern volatile far struct {
1428 unsigned SID3:1;
1429 unsigned SID4:1;
1430 unsigned SID5:1;
1431 unsigned SID6:1;
1432 unsigned SID7:1;
1433 unsigned SID8:1;
1434 unsigned SID9:1;
1435 unsigned SID10:1;
1436 } B3SIDHbits;
1437 extern volatile far unsigned char B3SIDL;
1438 extern volatile far union {
1439 struct {
1440 unsigned EID16:1;
1441 unsigned EID17:1;
1442 unsigned :1;
1443 unsigned EXID:1;
1444 unsigned SRR:1;
1445 unsigned SID0:1;
1446 unsigned SID1:1;
1447 unsigned SID2:1;
1448 };
1449 struct {
1450 unsigned :3;
1451 unsigned EXIDE:1;
1452 };
1453 } B3SIDLbits;
1454 extern volatile far unsigned char B3EIDH;
1455 extern volatile far struct {
1456 unsigned EID8:1;
1457 unsigned EID9:1;
1458 unsigned EID10:1;
1459 unsigned EID11:1;
1460 unsigned EID12:1;
1461 unsigned EID13:1;
1462 unsigned EID14:1;
1463 unsigned EID15:1;
1464 } B3EIDHbits;
1465 extern volatile far unsigned char B3EIDL;
1466 extern volatile far struct {
1467 unsigned EID0:1;
1468 unsigned EID1:1;
1469 unsigned EID2:1;
1470 unsigned EID3:1;
1471 unsigned EID4:1;
1472 unsigned EID5:1;
1473 unsigned EID6:1;
1474 unsigned EID7:1;
1475 } B3EIDLbits;
1476 extern volatile far unsigned char B3DLC;
1477 extern volatile far union {
1478 struct {
1479 unsigned DLC0:1;
1480 unsigned DLC1:1;
1481 unsigned DLC2:1;
1482 unsigned DLC3:1;
1483 unsigned RESRB0:1;
1484 unsigned RESRB1:1;
1485 unsigned RXRTR:1;
1486 };
1487 struct {
1488 unsigned :6;
1489 unsigned TXRTR:1;
1490 };
1491 struct {
1492 unsigned :4;
1493 unsigned RB0:1;
1494 unsigned RB1:1;
1495 };
1496 } B3DLCbits;
1497 extern volatile far unsigned char B3D0;
1498 extern volatile far struct {
1499 unsigned B3D00:1;
1500 unsigned B3D01:1;
1501 unsigned B3D02:1;
1502 unsigned B3D03:1;
1503 unsigned B3D04:1;
1504 unsigned B3D05:1;
1505 unsigned B3D06:1;
1506 unsigned B3D07:1;
1507 } B3D0bits;
1508 extern volatile far unsigned char B3D1;
1509 extern volatile far struct {
1510 unsigned B3D10:1;
1511 unsigned B3D11:1;
1512 unsigned B3D12:1;
1513 unsigned B3D13:1;
1514 unsigned B3D14:1;
1515 unsigned B3D15:1;
1516 unsigned B3D16:1;
1517 unsigned B3D17:1;
1518 } B3D1bits;
1519 extern volatile far unsigned char B3D2;
1520 extern volatile far struct {
1521 unsigned B3D20:1;
1522 unsigned B3D21:1;
1523 unsigned B3D22:1;
1524 unsigned B3D23:1;
1525 unsigned B3D24:1;
1526 unsigned B3D25:1;
1527 unsigned B3D26:1;
1528 unsigned B3D27:1;
1529 } B3D2bits;
1530 extern volatile far unsigned char B3D3;
1531 extern volatile far struct {
1532 unsigned B3D30:1;
1533 unsigned B3D31:1;
1534 unsigned B3D32:1;
1535 unsigned B3D33:1;
1536 unsigned B3D34:1;
1537 unsigned B3D35:1;
1538 unsigned B3D36:1;
1539 unsigned B3D37:1;
1540 } B3D3bits;
1541 extern volatile far unsigned char B3D4;
1542 extern volatile far struct {
1543 unsigned B3D40:1;
1544 unsigned B3D41:1;
1545 unsigned B3D42:1;
1546 unsigned B3D43:1;
1547 unsigned B3D44:1;
1548 unsigned B3D45:1;
1549 unsigned B3D46:1;
1550 unsigned B3D47:1;
1551 } B3D4bits;
1552 extern volatile far unsigned char B3D5;
1553 extern volatile far struct {
1554 unsigned B3D50:1;
1555 unsigned B3D51:1;
1556 unsigned B3D52:1;
1557 unsigned B3D53:1;
1558 unsigned B3D54:1;
1559 unsigned B3D55:1;
1560 unsigned B3D56:1;
1561 unsigned B3D57:1;
1562 } B3D5bits;
1563 extern volatile far unsigned char B3D6;
1564 extern volatile far struct {
1565 unsigned B3D60:1;
1566 unsigned B3D61:1;
1567 unsigned B3D62:1;
1568 unsigned B3D63:1;
1569 unsigned B3D64:1;
1570 unsigned B3D65:1;
1571 unsigned B3D66:1;
1572 unsigned B3D67:1;
1573 } B3D6bits;
1574 extern volatile far unsigned char B3D7;
1575 extern volatile far struct {
1576 unsigned B3D70:1;
1577 unsigned B3D71:1;
1578 unsigned B3D72:1;
1579 unsigned B3D73:1;
1580 unsigned B3D74:1;
1581 unsigned B3D75:1;
1582 unsigned B3D76:1;
1583 unsigned B3D77:1;
1584 } B3D7bits;
1585 extern volatile far unsigned char CANSTAT_RO6;
1586 extern volatile far struct {
1587 unsigned ICODE0:1;
1588 unsigned ICODE1:1;
1589 unsigned ICODE2:1;
1590 unsigned ICODE3:1;
1591 unsigned ICODE4:1;
1592 unsigned OPMODE:1;
1593 unsigned REQOP1:1;
1594 unsigned REQOP2:1;
1595 } CANSTAT_RO6bits;
1596 extern volatile far unsigned char CANCON_RO6;
1597 extern volatile far struct {
1598 unsigned :1;
1599 unsigned WIN0:1;
1600 unsigned WIN1:1;
1601 unsigned WIN2:1;
1602 unsigned ABAT:1;
1603 unsigned REQOP0:1;
1604 unsigned REQOP1:1;
1605 unsigned REQOP2:1;
1606 } CANCON_RO6bits;
1607 extern volatile far unsigned char B4CON;
1608 extern volatile far union {
1609 struct {
1610 unsigned FILHIT0:1;
1611 unsigned FILHIT1:1;
1612 unsigned FILHIT2:1;
1613 unsigned FILHIT3:1;
1614 unsigned FILHIT4:1;
1615 unsigned RTRRO:1;
1616 unsigned RXM1:1;
1617 unsigned RXFUL:1;
1618 };
1619 struct {
1620 unsigned TXPRI0:1;
1621 unsigned TXPRI1:1;
1622 unsigned RTREN:1;
1623 unsigned TXREQ:1;
1624 unsigned TXERR:1;
1625 unsigned TXLARB:1;
1626 unsigned TXABT:1;
1627 unsigned TXBIF:1;
1628 };
1629 struct {
1630 unsigned :5;
1631 unsigned RXRTRRO:1;
1632 };
1633 } B4CONbits;
1634 extern volatile far unsigned char B4SIDH;
1635 extern volatile far struct {
1636 unsigned SID3:1;
1637 unsigned SID4:1;
1638 unsigned SID5:1;
1639 unsigned SID6:1;
1640 unsigned SID7:1;
1641 unsigned SID8:1;
1642 unsigned SID9:1;
1643 unsigned SID10:1;
1644 } B4SIDHbits;
1645 extern volatile far unsigned char B4SIDL;
1646 extern volatile far union {
1647 struct {
1648 unsigned EID16:1;
1649 unsigned EID17:1;
1650 unsigned :1;
1651 unsigned EXID:1;
1652 unsigned SRR:1;
1653 unsigned SID0:1;
1654 unsigned SID1:1;
1655 unsigned SID2:1;
1656 };
1657 struct {
1658 unsigned :3;
1659 unsigned EXIDE:1;
1660 };
1661 } B4SIDLbits;
1662 extern volatile far unsigned char B4EIDH;
1663 extern volatile far struct {
1664 unsigned EID8:1;
1665 unsigned EID9:1;
1666 unsigned EID10:1;
1667 unsigned EID11:1;
1668 unsigned EID12:1;
1669 unsigned EID13:1;
1670 unsigned EID14:1;
1671 unsigned EID15:1;
1672 } B4EIDHbits;
1673 extern volatile far unsigned char B4EIDL;
1674 extern volatile far struct {
1675 unsigned EID0:1;
1676 unsigned EID1:1;
1677 unsigned EID2:1;
1678 unsigned EID3:1;
1679 unsigned EID4:1;
1680 unsigned EID5:1;
1681 unsigned EID6:1;
1682 unsigned EID7:1;
1683 } B4EIDLbits;
1684 extern volatile far unsigned char B4DLC;
1685 extern volatile far union {
1686 struct {
1687 unsigned DLC0:1;
1688 unsigned DLC1:1;
1689 unsigned DLC2:1;
1690 unsigned DLC3:1;
1691 unsigned RESRB0:1;
1692 unsigned RESRB1:1;
1693 unsigned RXRTR:1;
1694 };
1695 struct {
1696 unsigned :6;
1697 unsigned TXRTR:1;
1698 };
1699 struct {
1700 unsigned :4;
1701 unsigned RB0:1;
1702 unsigned RB1:1;
1703 };
1704 } B4DLCbits;
1705 extern volatile far unsigned char B4D0;
1706 extern volatile far struct {
1707 unsigned B4D00:1;
1708 unsigned B4D01:1;
1709 unsigned B4D02:1;
1710 unsigned B4D03:1;
1711 unsigned B4D04:1;
1712 unsigned B4D05:1;
1713 unsigned B4D06:1;
1714 unsigned B4D07:1;
1715 } B4D0bits;
1716 extern volatile far unsigned char B4D1;
1717 extern volatile far struct {
1718 unsigned B4D10:1;
1719 unsigned B4D11:1;
1720 unsigned B4D12:1;
1721 unsigned B4D13:1;
1722 unsigned B4D14:1;
1723 unsigned B4D15:1;
1724 unsigned B4D16:1;
1725 unsigned B4D17:1;
1726 } B4D1bits;
1727 extern volatile far unsigned char B4D2;
1728 extern volatile far struct {
1729 unsigned B4D20:1;
1730 unsigned B4D21:1;
1731 unsigned B4D22:1;
1732 unsigned B4D23:1;
1733 unsigned B4D24:1;
1734 unsigned B4D25:1;
1735 unsigned B4D26:1;
1736 unsigned B4D27:1;
1737 } B4D2bits;
1738 extern volatile far unsigned char B4D3;
1739 extern volatile far struct {
1740 unsigned B4D30:1;
1741 unsigned B4D31:1;
1742 unsigned B4D32:1;
1743 unsigned B4D33:1;
1744 unsigned B4D34:1;
1745 unsigned B4D35:1;
1746 unsigned B4D36:1;
1747 unsigned B4D37:1;
1748 } B4D3bits;
1749 extern volatile far unsigned char B4D4;
1750 extern volatile far struct {
1751 unsigned B4D40:1;
1752 unsigned B4D41:1;
1753 unsigned B4D42:1;
1754 unsigned B4D43:1;
1755 unsigned B4D44:1;
1756 unsigned B4D45:1;
1757 unsigned B4D46:1;
1758 unsigned B4D47:1;
1759 } B4D4bits;
1760 extern volatile far unsigned char B4D5;
1761 extern volatile far struct {
1762 unsigned B4D50:1;
1763 unsigned B4D51:1;
1764 unsigned B4D52:1;
1765 unsigned B4D53:1;
1766 unsigned B4D54:1;
1767 unsigned B4D55:1;
1768 unsigned B4D56:1;
1769 unsigned B4D57:1;
1770 } B4D5bits;
1771 extern volatile far unsigned char B4D6;
1772 extern volatile far struct {
1773 unsigned B4D60:1;
1774 unsigned B4D61:1;
1775 unsigned B4D62:1;
1776 unsigned B4D63:1;
1777 unsigned B4D64:1;
1778 unsigned B4D65:1;
1779 unsigned B4D66:1;
1780 unsigned B4D67:1;
1781 } B4D6bits;
1782 extern volatile far unsigned char B4D7;
1783 extern volatile far union {
1784 struct {
1785 unsigned B4D70:1;
1786 unsigned B4D71:1;
1787 unsigned B4D72:1;
1788 unsigned B4D73:1;
1789 unsigned B4D74:1;
1790 unsigned B4D75:1;
1791 unsigned B4D76:1;
1792 unsigned B46D77:1;
1793 };
1794 struct {
1795 unsigned :7;
1796 unsigned B4D77:1;
1797 };
1798 } B4D7bits;
1799 extern volatile far unsigned char CANSTAT_RO5;
1800 extern volatile far struct {
1801 unsigned ICODE0:1;
1802 unsigned ICODE1:1;
1803 unsigned ICODE2:1;
1804 unsigned ICODE3:1;
1805 unsigned ICODE4:1;
1806 unsigned OPMODE:1;
1807 unsigned REQOP1:1;
1808 unsigned REQOP2:1;
1809 } CANSTAT_RO5bits;
1810 extern volatile far unsigned char CANCON_RO5;
1811 extern volatile far struct {
1812 unsigned :1;
1813 unsigned WIN0:1;
1814 unsigned WIN1:1;
1815 unsigned WIN2:1;
1816 unsigned ABAT:1;
1817 unsigned REQOP0:1;
1818 unsigned REQOP1:1;
1819 unsigned REQOP2:1;
1820 } CANCON_RO5bits;
1821 extern volatile far unsigned char B5CON;
1822 extern volatile far union {
1823 struct {
1824 unsigned FILHIT0:1;
1825 unsigned FILHIT1:1;
1826 unsigned FILHIT2:1;
1827 unsigned FILHIT3:1;
1828 unsigned FILHIT4:1;
1829 unsigned RTRRO:1;
1830 unsigned RXM1:1;
1831 unsigned RXFUL:1;
1832 };
1833 struct {
1834 unsigned TXPRI0:1;
1835 unsigned TXPRI1:1;
1836 unsigned RTREN:1;
1837 unsigned TXREQ:1;
1838 unsigned TXERR:1;
1839 unsigned TXLARB:1;
1840 unsigned TXABT:1;
1841 unsigned TXBIF:1;
1842 };
1843 struct {
1844 unsigned :5;
1845 unsigned RXRTRRO:1;
1846 };
1847 } B5CONbits;
1848 extern volatile far unsigned char B5SIDH;
1849 extern volatile far struct {
1850 unsigned SID3:1;
1851 unsigned SID4:1;
1852 unsigned SID5:1;
1853 unsigned SID6:1;
1854 unsigned SID7:1;
1855 unsigned SID8:1;
1856 unsigned SID9:1;
1857 unsigned SID10:1;
1858 } B5SIDHbits;
1859 extern volatile far unsigned char B5SIDL;
1860 extern volatile far union {
1861 struct {
1862 unsigned EID16:1;
1863 unsigned EID17:1;
1864 unsigned :1;
1865 unsigned EXID:1;
1866 unsigned SRR:1;
1867 unsigned SID0:1;
1868 unsigned SID1:1;
1869 unsigned SID2:1;
1870 };
1871 struct {
1872 unsigned :3;
1873 unsigned EXIDEN:1;
1874 };
1875 } B5SIDLbits;
1876 extern volatile far unsigned char B5EIDH;
1877 extern volatile far struct {
1878 unsigned EID8:1;
1879 unsigned EID9:1;
1880 unsigned EID10:1;
1881 unsigned EID11:1;
1882 unsigned EID12:1;
1883 unsigned EID13:1;
1884 unsigned EID14:1;
1885 unsigned EID15:1;
1886 } B5EIDHbits;
1887 extern volatile far unsigned char B5EIDL;
1888 extern volatile far struct {
1889 unsigned EID0:1;
1890 unsigned EID1:1;
1891 unsigned EID2:1;
1892 unsigned EID3:1;
1893 unsigned EID4:1;
1894 unsigned EID5:1;
1895 unsigned EID6:1;
1896 unsigned EID7:1;
1897 } B5EIDLbits;
1898 extern volatile far unsigned char B5DLC;
1899 extern volatile far union {
1900 struct {
1901 unsigned DLC0:1;
1902 unsigned DLC1:1;
1903 unsigned DLC2:1;
1904 unsigned DLC3:1;
1905 unsigned RESRB0:1;
1906 unsigned RESRB1:1;
1907 unsigned RXRTR:1;
1908 };
1909 struct {
1910 unsigned :4;
1911 unsigned RB0:1;
1912 unsigned RB1:1;
1913 };
1914 } B5DLCbits;
1915 extern volatile far unsigned char B5D0;
1916 extern volatile far union {
1917 struct {
1918 unsigned B5D00:1;
1919 unsigned B5D01:1;
1920 unsigned B5D02:1;
1921 unsigned B5D03:1;
1922 unsigned B5D04:1;
1923 unsigned B5D05:1;
1924 unsigned B5D06:1;
1925 unsigned B57D07:1;
1926 };
1927 struct {
1928 unsigned :7;
1929 unsigned B5D07:1;
1930 };
1931 } B5D0bits;
1932 extern volatile far unsigned char B5D1;
1933 extern volatile far struct {
1934 unsigned B5D10:1;
1935 unsigned B5D11:1;
1936 unsigned B5D12:1;
1937 unsigned B5D13:1;
1938 unsigned B5D14:1;
1939 unsigned B5D15:1;
1940 unsigned B5D16:1;
1941 unsigned B5D17:1;
1942 } B5D1bits;
1943 extern volatile far unsigned char B5D2;
1944 extern volatile far union {
1945 struct {
1946 unsigned B5D20:1;
1947 unsigned B5D21:1;
1948 unsigned B5D22:1;
1949 unsigned B57D23:1;
1950 unsigned B5D24:1;
1951 unsigned B5D25:1;
1952 unsigned B5D26:1;
1953 unsigned B5D27:1;
1954 };
1955 struct {
1956 unsigned :3;
1957 unsigned B5D23:1;
1958 };
1959 } B5D2bits;
1960 extern volatile far unsigned char B5D3;
1961 extern volatile far struct {
1962 unsigned B5D30:1;
1963 unsigned B5D31:1;
1964 unsigned B5D32:1;
1965 unsigned B5D33:1;
1966 unsigned B5D34:1;
1967 unsigned B5D35:1;
1968 unsigned B5D36:1;
1969 unsigned B5D37:1;
1970 } B5D3bits;
1971 extern volatile far unsigned char B5D4;
1972 extern volatile far struct {
1973 unsigned B5D40:1;
1974 unsigned B5D41:1;
1975 unsigned B5D42:1;
1976 unsigned B5D43:1;
1977 unsigned B5D44:1;
1978 unsigned B5D45:1;
1979 unsigned B5D46:1;
1980 unsigned B5D47:1;
1981 } B5D4bits;
1982 extern volatile far unsigned char B5D5;
1983 extern volatile far struct {
1984 unsigned B5D50:1;
1985 unsigned B5D51:1;
1986 unsigned B5D52:1;
1987 unsigned B5D53:1;
1988 unsigned B5D54:1;
1989 unsigned B5D55:1;
1990 unsigned B5D56:1;
1991 unsigned B5D57:1;
1992 } B5D5bits;
1993 extern volatile far unsigned char B5D6;
1994 extern volatile far struct {
1995 unsigned B5D60:1;
1996 unsigned B5D61:1;
1997 unsigned B5D62:1;
1998 unsigned B5D63:1;
1999 unsigned B5D64:1;
2000 unsigned B5D65:1;
2001 unsigned B5D66:1;
2002 unsigned B5D67:1;
2003 } B5D6bits;
2004 extern volatile far unsigned char B5D7;
2005 extern volatile far struct {
2006 unsigned B5D70:1;
2007 unsigned B5D71:1;
2008 unsigned B5D72:1;
2009 unsigned B5D73:1;
2010 unsigned B5D74:1;
2011 unsigned B5D75:1;
2012 unsigned B5D76:1;
2013 unsigned B5D77:1;
2014 } B5D7bits;
2015 extern volatile far unsigned char CANSTAT_RO4;
2016 extern volatile far struct {
2017 unsigned ICODE0:1;
2018 unsigned ICODE1:1;
2019 unsigned ICODE2:1;
2020 unsigned ICODE3:1;
2021 unsigned ICODE4:1;
2022 unsigned OPMODE:1;
2023 unsigned REQOP1:1;
2024 unsigned REQOP2:1;
2025 } CANSTAT_RO4bits;
2026 extern volatile far unsigned char CANCON_RO4;
2027 extern volatile far struct {
2028 unsigned :1;
2029 unsigned WIN0:1;
2030 unsigned WIN1:1;
2031 unsigned WIN2:1;
2032 unsigned ABAT:1;
2033 unsigned REQOP0:1;
2034 unsigned REQOP1:1;
2035 unsigned REQOP2:1;
2036 } CANCON_RO4bits;
2037 extern volatile far unsigned char RXF0SIDH;
2038 extern volatile far struct {
2039 unsigned SID3:1;
2040 unsigned SID4:1;
2041 unsigned SID5:1;
2042 unsigned SID6:1;
2043 unsigned SID7:1;
2044 unsigned SID8:1;
2045 unsigned SID9:1;
2046 unsigned SID10:1;
2047 } RXF0SIDHbits;
2048 extern volatile far unsigned char RXF0SIDL;
2049 extern volatile far union {
2050 struct {
2051 unsigned EID16:1;
2052 unsigned EID17:1;
2053 unsigned :1;
2054 unsigned EXIDE:1;
2055 unsigned :1;
2056 unsigned SID0:1;
2057 unsigned SID1:1;
2058 unsigned SID2:1;
2059 };
2060 struct {
2061 unsigned :3;
2062 unsigned EXIDEN:1;
2063 };
2064 } RXF0SIDLbits;
2065 extern volatile far unsigned char RXF0EIDH;
2066 extern volatile far struct {
2067 unsigned EID8:1;
2068 unsigned EID9:1;
2069 unsigned EID10:1;
2070 unsigned EID11:1;
2071 unsigned EID12:1;
2072 unsigned EID13:1;
2073 unsigned EID14:1;
2074 unsigned EID15:1;
2075 } RXF0EIDHbits;
2076 extern volatile far unsigned char RXF0EIDL;
2077 extern volatile far struct {
2078 unsigned EID0:1;
2079 unsigned EID1:1;
2080 unsigned EID2:1;
2081 unsigned EID3:1;
2082 unsigned EID4:1;
2083 unsigned EID5:1;
2084 unsigned EID6:1;
2085 unsigned EID7:1;
2086 } RXF0EIDLbits;
2087 extern volatile far unsigned char RXF1SIDH;
2088 extern volatile far struct {
2089 unsigned SID3:1;
2090 unsigned SID4:1;
2091 unsigned SID5:1;
2092 unsigned SID6:1;
2093 unsigned SID7:1;
2094 unsigned SID8:1;
2095 unsigned SID9:1;
2096 unsigned SID10:1;
2097 } RXF1SIDHbits;
2098 extern volatile far unsigned char RXF1SIDL;
2099 extern volatile far union {
2100 struct {
2101 unsigned EID16:1;
2102 unsigned EID17:1;
2103 unsigned :1;
2104 unsigned EXIDE:1;
2105 unsigned :1;
2106 unsigned SID0:1;
2107 unsigned SID1:1;
2108 unsigned SID2:1;
2109 };
2110 struct {
2111 unsigned :3;
2112 unsigned EXIDEN:1;
2113 };
2114 } RXF1SIDLbits;
2115 extern volatile far unsigned char RXF1EIDH;
2116 extern volatile far struct {
2117 unsigned EID8:1;
2118 unsigned EID9:1;
2119 unsigned EID10:1;
2120 unsigned EID11:1;
2121 unsigned EID12:1;
2122 unsigned EID13:1;
2123 unsigned EID14:1;
2124 unsigned EID15:1;
2125 } RXF1EIDHbits;
2126 extern volatile far unsigned char RXF1EIDL;
2127 extern volatile far struct {
2128 unsigned EID0:1;
2129 unsigned EID1:1;
2130 unsigned EID2:1;
2131 unsigned EID3:1;
2132 unsigned EID4:1;
2133 unsigned EID5:1;
2134 unsigned EID6:1;
2135 unsigned EID7:1;
2136 } RXF1EIDLbits;
2137 extern volatile far unsigned char RXF2SIDH;
2138 extern volatile far struct {
2139 unsigned SID3:1;
2140 unsigned SID4:1;
2141 unsigned SID5:1;
2142 unsigned SID6:1;
2143 unsigned SID7:1;
2144 unsigned SID8:1;
2145 unsigned SID9:1;
2146 unsigned SID10:1;
2147 } RXF2SIDHbits;
2148 extern volatile far unsigned char RXF2SIDL;
2149 extern volatile far union {
2150 struct {
2151 unsigned EID16:1;
2152 unsigned EID17:1;
2153 unsigned :1;
2154 unsigned EXIDE:1;
2155 unsigned :1;
2156 unsigned SID0:1;
2157 unsigned SID1:1;
2158 unsigned SID2:1;
2159 };
2160 struct {
2161 unsigned :3;
2162 unsigned EXIDEN:1;
2163 };
2164 } RXF2SIDLbits;
2165 extern volatile far unsigned char RXF2EIDH;
2166 extern volatile far struct {
2167 unsigned EID8:1;
2168 unsigned EID9:1;
2169 unsigned EID10:1;
2170 unsigned EID11:1;
2171 unsigned EID12:1;
2172 unsigned EID13:1;
2173 unsigned EID14:1;
2174 unsigned EID15:1;
2175 } RXF2EIDHbits;
2176 extern volatile far unsigned char RXF2EIDL;
2177 extern volatile far struct {
2178 unsigned EID0:1;
2179 unsigned EID1:1;
2180 unsigned EID2:1;
2181 unsigned EID3:1;
2182 unsigned EID4:1;
2183 unsigned EID5:1;
2184 unsigned EID6:1;
2185 unsigned EID7:1;
2186 } RXF2EIDLbits;
2187 extern volatile far unsigned char RXF3SIDH;
2188 extern volatile far struct {
2189 unsigned SID3:1;
2190 unsigned SID4:1;
2191 unsigned SID5:1;
2192 unsigned SID6:1;
2193 unsigned SID7:1;
2194 unsigned SID8:1;
2195 unsigned SID9:1;
2196 unsigned SID10:1;
2197 } RXF3SIDHbits;
2198 extern volatile far unsigned char RXF3SIDL;
2199 extern volatile far union {
2200 struct {
2201 unsigned EID16:1;
2202 unsigned EID17:1;
2203 unsigned :1;
2204 unsigned EXIDE:1;
2205 unsigned :1;
2206 unsigned SID0:1;
2207 unsigned SID1:1;
2208 unsigned SID2:1;
2209 };
2210 struct {
2211 unsigned :3;
2212 unsigned EXIDEN:1;
2213 };
2214 } RXF3SIDLbits;
2215 extern volatile far unsigned char RXF3EIDH;
2216 extern volatile far struct {
2217 unsigned EID8:1;
2218 unsigned EID9:1;
2219 unsigned EID10:1;
2220 unsigned EID11:1;
2221 unsigned EID12:1;
2222 unsigned EID13:1;
2223 unsigned EID14:1;
2224 unsigned EID15:1;
2225 } RXF3EIDHbits;
2226 extern volatile far unsigned char RXF3EIDL;
2227 extern volatile far struct {
2228 unsigned EID0:1;
2229 unsigned EID1:1;
2230 unsigned EID2:1;
2231 unsigned EID3:1;
2232 unsigned EID4:1;
2233 unsigned EID5:1;
2234 unsigned EID6:1;
2235 unsigned EID7:1;
2236 } RXF3EIDLbits;
2237 extern volatile far unsigned char RXF4SIDH;
2238 extern volatile far struct {
2239 unsigned SID3:1;
2240 unsigned SID4:1;
2241 unsigned SID5:1;
2242 unsigned SID6:1;
2243 unsigned SID7:1;
2244 unsigned SID8:1;
2245 unsigned SID9:1;
2246 unsigned SID10:1;
2247 } RXF4SIDHbits;
2248 extern volatile far unsigned char RXF4SIDL;
2249 extern volatile far union {
2250 struct {
2251 unsigned EID16:1;
2252 unsigned EID17:1;
2253 unsigned :1;
2254 unsigned EXIDE:1;
2255 unsigned :1;
2256 unsigned SID0:1;
2257 unsigned SID1:1;
2258 unsigned SID2:1;
2259 };
2260 struct {
2261 unsigned :3;
2262 unsigned EXIDEN:1;
2263 };
2264 } RXF4SIDLbits;
2265 extern volatile far unsigned char RXF4EIDH;
2266 extern volatile far struct {
2267 unsigned EID8:1;
2268 unsigned EID9:1;
2269 unsigned EID10:1;
2270 unsigned EID11:1;
2271 unsigned EID12:1;
2272 unsigned EID13:1;
2273 unsigned EID14:1;
2274 unsigned EID15:1;
2275 } RXF4EIDHbits;
2276 extern volatile far unsigned char RXF4EIDL;
2277 extern volatile far struct {
2278 unsigned EID0:1;
2279 unsigned EID1:1;
2280 unsigned EID2:1;
2281 unsigned EID3:1;
2282 unsigned EID4:1;
2283 unsigned EID5:1;
2284 unsigned EID6:1;
2285 unsigned EID7:1;
2286 } RXF4EIDLbits;
2287 extern volatile far unsigned char RXF5SIDH;
2288 extern volatile far struct {
2289 unsigned SID3:1;
2290 unsigned SID4:1;
2291 unsigned SID5:1;
2292 unsigned SID6:1;
2293 unsigned SID7:1;
2294 unsigned SID8:1;
2295 unsigned SID9:1;
2296 unsigned SID10:1;
2297 } RXF5SIDHbits;
2298 extern volatile far unsigned char RXF5SIDL;
2299 extern volatile far union {
2300 struct {
2301 unsigned EID16:1;
2302 unsigned EID17:1;
2303 unsigned :1;
2304 unsigned EXIDE:1;
2305 unsigned :1;
2306 unsigned SID0:1;
2307 unsigned SID1:1;
2308 unsigned SID2:1;
2309 };
2310 struct {
2311 unsigned :3;
2312 unsigned EXIDEN:1;
2313 };
2314 } RXF5SIDLbits;
2315 extern volatile far unsigned char RXF5EIDH;
2316 extern volatile far struct {
2317 unsigned EID8:1;
2318 unsigned EID9:1;
2319 unsigned EID10:1;
2320 unsigned EID11:1;
2321 unsigned EID12:1;
2322 unsigned EID13:1;
2323 unsigned EID14:1;
2324 unsigned EID15:1;
2325 } RXF5EIDHbits;
2326 extern volatile far unsigned char RXF5EIDL;
2327 extern volatile far struct {
2328 unsigned EID0:1;
2329 unsigned EID1:1;
2330 unsigned EID2:1;
2331 unsigned EID3:1;
2332 unsigned EID4:1;
2333 unsigned EID5:1;
2334 unsigned EID6:1;
2335 unsigned EID7:1;
2336 } RXF5EIDLbits;
2337 extern volatile far unsigned char RXM0SIDH;
2338 extern volatile far struct {
2339 unsigned SID3:1;
2340 unsigned SID4:1;
2341 unsigned SID5:1;
2342 unsigned SID6:1;
2343 unsigned SID7:1;
2344 unsigned SID8:1;
2345 unsigned SID9:1;
2346 unsigned SID10:1;
2347 } RXM0SIDHbits;
2348 extern volatile far unsigned char RXM0SIDL;
2349 extern volatile far struct {
2350 unsigned EID16:1;
2351 unsigned EID17:1;
2352 unsigned :1;
2353 unsigned EXIDEN:1;
2354 unsigned :1;
2355 unsigned SID0:1;
2356 unsigned SID1:1;
2357 unsigned SID2:1;
2358 } RXM0SIDLbits;
2359 extern volatile far unsigned char RXM0EIDH;
2360 extern volatile far struct {
2361 unsigned EID8:1;
2362 unsigned EID9:1;
2363 unsigned EID10:1;
2364 unsigned EID11:1;
2365 unsigned EID12:1;
2366 unsigned EID13:1;
2367 unsigned EID14:1;
2368 unsigned EID15:1;
2369 } RXM0EIDHbits;
2370 extern volatile far unsigned char RXM0EIDL;
2371 extern volatile far struct {
2372 unsigned EID0:1;
2373 unsigned EID1:1;
2374 unsigned EID2:1;
2375 unsigned EID3:1;
2376 unsigned EID4:1;
2377 unsigned EID5:1;
2378 unsigned EID6:1;
2379 unsigned EID7:1;
2380 } RXM0EIDLbits;
2381 extern volatile far unsigned char RXM1SIDH;
2382 extern volatile far struct {
2383 unsigned SID3:1;
2384 unsigned SID4:1;
2385 unsigned SID5:1;
2386 unsigned SID6:1;
2387 unsigned SID7:1;
2388 unsigned SID8:1;
2389 unsigned SID9:1;
2390 unsigned SID10:1;
2391 } RXM1SIDHbits;
2392 extern volatile far unsigned char RXM1SIDL;
2393 extern volatile far struct {
2394 unsigned EID16:1;
2395 unsigned EID17:1;
2396 unsigned :1;
2397 unsigned EXIDEN:1;
2398 unsigned :1;
2399 unsigned SID0:1;
2400 unsigned SID1:1;
2401 unsigned SID2:1;
2402 } RXM1SIDLbits;
2403 extern volatile far unsigned char RXM1EIDH;
2404 extern volatile far struct {
2405 unsigned EID8:1;
2406 unsigned EID9:1;
2407 unsigned EID10:1;
2408 unsigned EID11:1;
2409 unsigned EID12:1;
2410 unsigned EID13:1;
2411 unsigned EID14:1;
2412 unsigned EID15:1;
2413 } RXM1EIDHbits;
2414 extern volatile far unsigned char RXM1EIDL;
2415 extern volatile far struct {
2416 unsigned EID0:1;
2417 unsigned EID1:1;
2418 unsigned EID2:1;
2419 unsigned EID3:1;
2420 unsigned EID4:1;
2421 unsigned EID5:1;
2422 unsigned EID6:1;
2423 unsigned EID7:1;
2424 } RXM1EIDLbits;
2425 extern volatile far unsigned char TXB2CON;
2426 extern volatile far union {
2427 struct {
2428 unsigned TXPRI0:1;
2429 unsigned TXPRI1:1;
2430 unsigned :1;
2431 unsigned TXREQ:1;
2432 unsigned TXERR:1;
2433 unsigned TXLARB:1;
2434 unsigned TXABT:1;
2435 unsigned TXBIFBXB2CON:1;
2436 };
2437 struct {
2438 unsigned :7;
2439 unsigned TXBIF:1;
2440 };
2441 } TXB2CONbits;
2442 extern volatile far unsigned char TXB2SIDH;
2443 extern volatile far struct {
2444 unsigned SID3:1;
2445 unsigned SID4:1;
2446 unsigned SID5:1;
2447 unsigned SID6:1;
2448 unsigned SID7:1;
2449 unsigned SID8:1;
2450 unsigned SID9:1;
2451 unsigned SID10:1;
2452 } TXB2SIDHbits;
2453 extern volatile far unsigned char TXB2SIDL;
2454 extern volatile far struct {
2455 unsigned EID16:1;
2456 unsigned EID17:1;
2457 unsigned :1;
2458 unsigned EXIDE:1;
2459 unsigned :1;
2460 unsigned SID0:1;
2461 unsigned SID1:1;
2462 unsigned SID2:1;
2463 } TXB2SIDLbits;
2464 extern volatile far unsigned char TXB2EIDH;
2465 extern volatile far struct {
2466 unsigned EID8:1;
2467 unsigned EID9:1;
2468 unsigned EID10:1;
2469 unsigned EID11:1;
2470 unsigned EID12:1;
2471 unsigned EID13:1;
2472 unsigned EID14:1;
2473 unsigned EID15:1;
2474 } TXB2EIDHbits;
2475 extern volatile far unsigned char TXB2EIDL;
2476 extern volatile far struct {
2477 unsigned EID0:1;
2478 unsigned EID1:1;
2479 unsigned EID2:1;
2480 unsigned EID3:1;
2481 unsigned EID4:1;
2482 unsigned EID5:1;
2483 unsigned EID6:1;
2484 unsigned EID7:1;
2485 } TXB2EIDLbits;
2486 extern volatile far unsigned char TXB2DLC;
2487 extern volatile far struct {
2488 unsigned DLC0:1;
2489 unsigned DLC1:1;
2490 unsigned DLC2:1;
2491 unsigned DLC3:1;
2492 unsigned :2;
2493 unsigned TXRTR:1;
2494 } TXB2DLCbits;
2495 extern volatile far unsigned char TXB2D0;
2496 extern volatile far struct {
2497 unsigned TXB2D00:1;
2498 unsigned TXB2D01:1;
2499 unsigned TXB2D02:1;
2500 unsigned TXB2D03:1;
2501 unsigned TXB2D04:1;
2502 unsigned TXB2D05:1;
2503 unsigned TXB2D06:1;
2504 unsigned TXB2D07:1;
2505 } TXB2D0bits;
2506 extern volatile far unsigned char TXB2D1;
2507 extern volatile far struct {
2508 unsigned TXB2D10:1;
2509 unsigned TXB2D11:1;
2510 unsigned TXB2D12:1;
2511 unsigned TXB2D13:1;
2512 unsigned TXB2D14:1;
2513 unsigned TXB2D15:1;
2514 unsigned TXB2D16:1;
2515 unsigned TXB2D17:1;
2516 } TXB2D1bits;
2517 extern volatile far unsigned char TXB2D2;
2518 extern volatile far struct {
2519 unsigned TXB2D20:1;
2520 unsigned TXB2D21:1;
2521 unsigned TXB2D22:1;
2522 unsigned TXB2D23:1;
2523 unsigned TXB2D24:1;
2524 unsigned TXB2D25:1;
2525 unsigned TXB2D26:1;
2526 unsigned TXB2D27:1;
2527 } TXB2D2bits;
2528 extern volatile far unsigned char TXB2D3;
2529 extern volatile far struct {
2530 unsigned TXB2D30:1;
2531 unsigned TXB2D31:1;
2532 unsigned TXB2D32:1;
2533 unsigned TXB2D33:1;
2534 unsigned TXB2D34:1;
2535 unsigned TXB2D35:1;
2536 unsigned TXB2D36:1;
2537 unsigned TXB2D37:1;
2538 } TXB2D3bits;
2539 extern volatile far unsigned char TXB2D4;
2540 extern volatile far struct {
2541 unsigned TXB2D40:1;
2542 unsigned TXB2D41:1;
2543 unsigned TXB2D42:1;
2544 unsigned TXB2D43:1;
2545 unsigned TXB2D44:1;
2546 unsigned TXB2D45:1;
2547 unsigned TXB2D46:1;
2548 unsigned TXB2D47:1;
2549 } TXB2D4bits;
2550 extern volatile far unsigned char TXB2D5;
2551 extern volatile far struct {
2552 unsigned TXB2D50:1;
2553 unsigned TXB2D51:1;
2554 unsigned TXB2D52:1;
2555 unsigned TXB2D53:1;
2556 unsigned TXB2D54:1;
2557 unsigned TXB2D55:1;
2558 unsigned TXB2D56:1;
2559 unsigned TXB2D57:1;
2560 } TXB2D5bits;
2561 extern volatile far unsigned char TXB2D6;
2562 extern volatile far struct {
2563 unsigned TXB2D60:1;
2564 unsigned TXB2D61:1;
2565 unsigned TXB2D62:1;
2566 unsigned TXB2D63:1;
2567 unsigned TXB2D64:1;
2568 unsigned TXB2D65:1;
2569 unsigned TXB2D66:1;
2570 unsigned TXB2D67:1;
2571 } TXB2D6bits;
2572 extern volatile far unsigned char TXB2D7;
2573 extern volatile far struct {
2574 unsigned TXB2D70:1;
2575 unsigned TXB2D71:1;
2576 unsigned TXB2D72:1;
2577 unsigned TXB2D73:1;
2578 unsigned TXB2D74:1;
2579 unsigned TXB2D75:1;
2580 unsigned TXB2D76:1;
2581 unsigned TXB2D77:1;
2582 } TXB2D7bits;
2583 extern volatile far unsigned char CANSTAT_RO3;
2584 extern volatile far struct {
2585 unsigned ICODE0:1;
2586 unsigned ICODE1:1;
2587 unsigned ICODE2:1;
2588 unsigned ICODE3:1;
2589 unsigned ICODE4:1;
2590 unsigned OPMODE:1;
2591 unsigned REQOP1:1;
2592 unsigned REQOP2:1;
2593 } CANSTAT_RO3bits;
2594 extern volatile far unsigned char CANCON_RO3;
2595 extern volatile far struct {
2596 unsigned :1;
2597 unsigned WIN0:1;
2598 unsigned WIN1:1;
2599 unsigned WIN2:1;
2600 unsigned ABAT:1;
2601 unsigned REQOP0:1;
2602 unsigned REQOP1:1;
2603 unsigned REQOP2:1;
2604 } CANCON_RO3bits;
2605 extern volatile far unsigned char TXB1CON;
2606 extern volatile far union {
2607 struct {
2608 unsigned TXPRI0:1;
2609 unsigned TXPRI1:1;
2610 unsigned :1;
2611 unsigned TXREQ:1;
2612 unsigned TXERR:1;
2613 unsigned TXLARB:1;
2614 unsigned TXABT:1;
2615 unsigned TXBIFTXB1CON:1;
2616 };
2617 struct {
2618 unsigned :7;
2619 unsigned TXBIF:1;
2620 };
2621 } TXB1CONbits;
2622 extern volatile far unsigned char TXB1SIDH;
2623 extern volatile far struct {
2624 unsigned SID3:1;
2625 unsigned SID4:1;
2626 unsigned SID5:1;
2627 unsigned SID6:1;
2628 unsigned SID7:1;
2629 unsigned SID8:1;
2630 unsigned SID9:1;
2631 unsigned SID10:1;
2632 } TXB1SIDHbits;
2633 extern volatile far unsigned char TXB1SIDL;
2634 extern volatile far struct {
2635 unsigned EID16:1;
2636 unsigned EID17:1;
2637 unsigned :1;
2638 unsigned EXIDE:1;
2639 unsigned :1;
2640 unsigned SID0:1;
2641 unsigned SID1:1;
2642 unsigned SID2:1;
2643 } TXB1SIDLbits;
2644 extern volatile far unsigned char TXB1EIDH;
2645 extern volatile far struct {
2646 unsigned EID8:1;
2647 unsigned EID9:1;
2648 unsigned EID10:1;
2649 unsigned EID11:1;
2650 unsigned EID12:1;
2651 unsigned EID13:1;
2652 unsigned EID14:1;
2653 unsigned EID15:1;
2654 } TXB1EIDHbits;
2655 extern volatile far unsigned char TXB1EIDL;
2656 extern volatile far struct {
2657 unsigned EID0:1;
2658 unsigned EID1:1;
2659 unsigned EID2:1;
2660 unsigned EID3:1;
2661 unsigned EID4:1;
2662 unsigned EID5:1;
2663 unsigned EID6:1;
2664 unsigned EID7:1;
2665 } TXB1EIDLbits;
2666 extern volatile far unsigned char TXB1DLC;
2667 extern volatile far struct {
2668 unsigned DLC0:1;
2669 unsigned DLC1:1;
2670 unsigned DLC2:1;
2671 unsigned DLC3:1;
2672 unsigned :2;
2673 unsigned TXRTR:1;
2674 } TXB1DLCbits;
2675 extern volatile far unsigned char TXB1D0;
2676 extern volatile far struct {
2677 unsigned TXB1D00:1;
2678 unsigned TXB1D01:1;
2679 unsigned TXB1D02:1;
2680 unsigned TXB1D03:1;
2681 unsigned TXB1D04:1;
2682 unsigned TXB1D05:1;
2683 unsigned TXB1D06:1;
2684 unsigned TXB1D07:1;
2685 } TXB1D0bits;
2686 extern volatile far unsigned char TXB1D1;
2687 extern volatile far struct {
2688 unsigned TXB1D10:1;
2689 unsigned TXB1D11:1;
2690 unsigned TXB1D12:1;
2691 unsigned TXB1D13:1;
2692 unsigned TXB1D14:1;
2693 unsigned TXB1D15:1;
2694 unsigned TXB1D16:1;
2695 unsigned TXB1D17:1;
2696 } TXB1D1bits;
2697 extern volatile far unsigned char TXB1D2;
2698 extern volatile far struct {
2699 unsigned TXB1D20:1;
2700 unsigned TXB1D21:1;
2701 unsigned TXB1D22:1;
2702 unsigned TXB1D23:1;
2703 unsigned TXB1D24:1;
2704 unsigned TXB1D25:1;
2705 unsigned TXB1D26:1;
2706 unsigned TXB1D27:1;
2707 } TXB1D2bits;
2708 extern volatile far unsigned char TXB1D3;
2709 extern volatile far struct {
2710 unsigned TXB1D30:1;
2711 unsigned TXB1D31:1;
2712 unsigned TXB1D32:1;
2713 unsigned TXB1D33:1;
2714 unsigned TXB1D34:1;
2715 unsigned TXB1D35:1;
2716 unsigned TXB1D36:1;
2717 unsigned TXB1D37:1;
2718 } TXB1D3bits;
2719 extern volatile far unsigned char TXB1D4;
2720 extern volatile far struct {
2721 unsigned TXB1D40:1;
2722 unsigned TXB1D41:1;
2723 unsigned TXB1D42:1;
2724 unsigned TXB1D43:1;
2725 unsigned TXB1D44:1;
2726 unsigned TXB1D45:1;
2727 unsigned TXB1D46:1;
2728 unsigned TXB1D47:1;
2729 } TXB1D4bits;
2730 extern volatile far unsigned char TXB1D5;
2731 extern volatile far struct {
2732 unsigned TXB1D50:1;
2733 unsigned TXB1D51:1;
2734 unsigned TXB1D52:1;
2735 unsigned TXB1D53:1;
2736 unsigned TXB1D54:1;
2737 unsigned TXB1D55:1;
2738 unsigned TXB1D56:1;
2739 unsigned TXB1D57:1;
2740 } TXB1D5bits;
2741 extern volatile far unsigned char TXB1D6;
2742 extern volatile far struct {
2743 unsigned TXB1D60:1;
2744 unsigned TXB1D61:1;
2745 unsigned TXB1D62:1;
2746 unsigned TXB1D63:1;
2747 unsigned TXB1D64:1;
2748 unsigned TXB1D65:1;
2749 unsigned TXB1D66:1;
2750 unsigned TXB1D67:1;
2751 } TXB1D6bits;
2752 extern volatile far unsigned char TXB1D7;
2753 extern volatile far struct {
2754 unsigned TXB1D70:1;
2755 unsigned TXB1D71:1;
2756 unsigned TXB1D72:1;
2757 unsigned TXB1D73:1;
2758 unsigned TXB1D74:1;
2759 unsigned TXB1D75:1;
2760 unsigned TXB1D76:1;
2761 unsigned TXB1D77:1;
2762 } TXB1D7bits;
2763 extern volatile far unsigned char CANSTAT_RO2;
2764 extern volatile far struct {
2765 unsigned ICODE0:1;
2766 unsigned ICODE1:1;
2767 unsigned ICODE2:1;
2768 unsigned ICODE3:1;
2769 unsigned ICODE4:1;
2770 unsigned OPMODE:1;
2771 unsigned REQOP1:1;
2772 unsigned REQOP2:1;
2773 } CANSTAT_RO2bits;
2774 extern volatile far unsigned char CANCON_RO2;
2775 extern volatile far struct {
2776 unsigned :1;
2777 unsigned WIN0:1;
2778 unsigned WIN1:1;
2779 unsigned WIN2:1;
2780 unsigned ABAT:1;
2781 unsigned REQOP0:1;
2782 unsigned REQOP1:1;
2783 unsigned REQOP2:1;
2784 } CANCON_RO2bits;
2785 extern volatile far unsigned char TXB0CON;
2786 extern volatile far union {
2787 struct {
2788 unsigned TXPRI0:1;
2789 unsigned TXPRI1:1;
2790 unsigned :1;
2791 unsigned TXREQ:1;
2792 unsigned TXERR:1;
2793 unsigned TXLARB:1;
2794 unsigned TXABT:1;
2795 };
2796 struct {
2797 unsigned :7;
2798 unsigned TXBIF:1;
2799 };
2800 } TXB0CONbits;
2801 extern volatile far unsigned char TXB0SIDH;
2802 extern volatile far struct {
2803 unsigned SID3:1;
2804 unsigned SID4:1;
2805 unsigned SID5:1;
2806 unsigned SID6:1;
2807 unsigned SID7:1;
2808 unsigned SID8:1;
2809 unsigned SID9:1;
2810 unsigned SID10:1;
2811 } TXB0SIDHbits;
2812 extern volatile far unsigned char TXB0SIDL;
2813 extern volatile far struct {
2814 unsigned EID16:1;
2815 unsigned EID17:1;
2816 unsigned :1;
2817 unsigned EXIDE:1;
2818 unsigned :1;
2819 unsigned SID0:1;
2820 unsigned SID1:1;
2821 unsigned SID2:1;
2822 } TXB0SIDLbits;
2823 extern volatile far unsigned char TXB0EIDH;
2824 extern volatile far struct {
2825 unsigned EID8:1;
2826 unsigned EID9:1;
2827 unsigned EID10:1;
2828 unsigned EID11:1;
2829 unsigned EID12:1;
2830 unsigned EID13:1;
2831 unsigned EID14:1;
2832 unsigned EID15:1;
2833 } TXB0EIDHbits;
2834 extern volatile far unsigned char TXB0EIDL;
2835 extern volatile far struct {
2836 unsigned EID0:1;
2837 unsigned EID1:1;
2838 unsigned EID2:1;
2839 unsigned EID3:1;
2840 unsigned EID4:1;
2841 unsigned EID5:1;
2842 unsigned EID6:1;
2843 unsigned EID7:1;
2844 } TXB0EIDLbits;
2845 extern volatile far unsigned char TXB0DLC;
2846 extern volatile far struct {
2847 unsigned DLC0:1;
2848 unsigned DLC1:1;
2849 unsigned DLC2:1;
2850 unsigned DLC3:1;
2851 unsigned :2;
2852 unsigned TXRTR:1;
2853 } TXB0DLCbits;
2854 extern volatile far unsigned char TXB0D0;
2855 extern volatile far struct {
2856 unsigned TXB0D00:1;
2857 unsigned TXB0D01:1;
2858 unsigned TXB0D02:1;
2859 unsigned TXB0D03:1;
2860 unsigned TXB0D04:1;
2861 unsigned TXB0D05:1;
2862 unsigned TXB0D06:1;
2863 unsigned TXB0D07:1;
2864 } TXB0D0bits;
2865 extern volatile far unsigned char TXB0D1;
2866 extern volatile far struct {
2867 unsigned TXB0D10:1;
2868 unsigned TXB0D11:1;
2869 unsigned TXB0D12:1;
2870 unsigned TXB0D13:1;
2871 unsigned TXB0D14:1;
2872 unsigned TXB0D15:1;
2873 unsigned TXB0D16:1;
2874 unsigned TXB0D17:1;
2875 } TXB0D1bits;
2876 extern volatile far unsigned char TXB0D2;
2877 extern volatile far struct {
2878 unsigned TXB0D20:1;
2879 unsigned TXB0D21:1;
2880 unsigned TXB0D22:1;
2881 unsigned TXB0D23:1;
2882 unsigned TXB0D24:1;
2883 unsigned TXB0D25:1;
2884 unsigned TXB0D26:1;
2885 unsigned TXB0D27:1;
2886 } TXB0D2bits;
2887 extern volatile far unsigned char TXB0D3;
2888 extern volatile far struct {
2889 unsigned TXB0D30:1;
2890 unsigned TXB0D31:1;
2891 unsigned TXB0D32:1;
2892 unsigned TXB0D33:1;
2893 unsigned TXB0D34:1;
2894 unsigned TXB0D35:1;
2895 unsigned TXB0D36:1;
2896 unsigned TXB0D37:1;
2897 } TXB0D3bits;
2898 extern volatile far unsigned char TXB0D4;
2899 extern volatile far struct {
2900 unsigned TXB0D40:1;
2901 unsigned TXB0D41:1;
2902 unsigned TXB0D42:1;
2903 unsigned TXB0D43:1;
2904 unsigned TXB0D44:1;
2905 unsigned TXB0D45:1;
2906 unsigned TXB0D46:1;
2907 unsigned TXB0D47:1;
2908 } TXB0D4bits;
2909 extern volatile far unsigned char TXB0D5;
2910 extern volatile far struct {
2911 unsigned TXB0D50:1;
2912 unsigned TXB0D51:1;
2913 unsigned TXB0D52:1;
2914 unsigned TXB0D53:1;
2915 unsigned TXB0D54:1;
2916 unsigned TXB0D55:1;
2917 unsigned TXB0D56:1;
2918 unsigned TXB0D57:1;
2919 } TXB0D5bits;
2920 extern volatile far unsigned char TXB0D6;
2921 extern volatile far struct {
2922 unsigned TXB0D60:1;
2923 unsigned TXB0D61:1;
2924 unsigned TXB0D62:1;
2925 unsigned TXB0D63:1;
2926 unsigned TXB0D64:1;
2927 unsigned TXB0D65:1;
2928 unsigned TXB0D66:1;
2929 unsigned TXB0D67:1;
2930 } TXB0D6bits;
2931 extern volatile far unsigned char TXB0D7;
2932 extern volatile far struct {
2933 unsigned TXB0D70:1;
2934 unsigned TXB0D71:1;
2935 unsigned TXB0D72:1;
2936 unsigned TXB0D73:1;
2937 unsigned TXB0D74:1;
2938 unsigned TXB0D75:1;
2939 unsigned TXB0D76:1;
2940 unsigned TXB0D77:1;
2941 } TXB0D7bits;
2942 extern volatile far unsigned char CANSTAT_RO1;
2943 extern volatile far struct {
2944 unsigned ICODE0:1;
2945 unsigned ICODE1:1;
2946 unsigned ICODE2:1;
2947 unsigned ICODE3:1;
2948 unsigned ICODE4:1;
2949 unsigned OPMODE:1;
2950 unsigned REQOP1:1;
2951 unsigned REQOP2:1;
2952 } CANSTAT_RO1bits;
2953 extern volatile far unsigned char CANCON_RO1;
2954 extern volatile far struct {
2955 unsigned :1;
2956 unsigned WIN0:1;
2957 unsigned WIN1:1;
2958 unsigned WIN2:1;
2959 unsigned ABAT:1;
2960 unsigned REQOP0:1;
2961 unsigned REQOP1:1;
2962 unsigned REQOP2:1;
2963 } CANCON_RO1bits;
2964 extern volatile far unsigned char RXB1CON;
2965 extern volatile far union {
2966 struct {
2967 unsigned FILHIT0:1;
2968 unsigned FILHIT1:1;
2969 unsigned FILHIT2:1;
2970 unsigned RXRTRRO:1;
2971 unsigned :1;
2972 unsigned RXM0:1;
2973 unsigned RXM1:1;
2974 unsigned RXFUL:1;
2975 };
2976 struct {
2977 unsigned :3;
2978 unsigned FILHIT3:1;
2979 unsigned FILHIT4:1;
2980 unsigned RTRRO:1;
2981 };
2982 } RXB1CONbits;
2983 extern volatile far unsigned char RXB1SIDH;
2984 extern volatile far struct {
2985 unsigned SID3:1;
2986 unsigned SID4:1;
2987 unsigned SID5:1;
2988 unsigned SID6:1;
2989 unsigned SID7:1;
2990 unsigned SID8:1;
2991 unsigned SID9:1;
2992 unsigned SID10:1;
2993 } RXB1SIDHbits;
2994 extern volatile far unsigned char RXB1SIDL;
2995 extern volatile far struct {
2996 unsigned EID16:1;
2997 unsigned EID17:1;
2998 unsigned :1;
2999 unsigned EXID:1;
3000 unsigned SRR:1;
3001 unsigned SID0:1;
3002 unsigned SID1:1;
3003 unsigned SID2:1;
3004 } RXB1SIDLbits;
3005 extern volatile far unsigned char RXB1EIDH;
3006 extern volatile far struct {
3007 unsigned EID8:1;
3008 unsigned EID9:1;
3009 unsigned EID10:1;
3010 unsigned EID11:1;
3011 unsigned EID12:1;
3012 unsigned EID13:1;
3013 unsigned EID14:1;
3014 unsigned EID15:1;
3015 } RXB1EIDHbits;
3016 extern volatile far unsigned char RXB1EIDL;
3017 extern volatile far struct {
3018 unsigned EID0:1;
3019 unsigned EID1:1;
3020 unsigned EID2:1;
3021 unsigned EID3:1;
3022 unsigned EID4:1;
3023 unsigned EID5:1;
3024 unsigned EID6:1;
3025 unsigned EID7:1;
3026 } RXB1EIDLbits;
3027 extern volatile far unsigned char RXB1DLC;
3028 extern volatile far union {
3029 struct {
3030 unsigned DLC0:1;
3031 unsigned DLC1:1;
3032 unsigned DLC2:1;
3033 unsigned DLC3:1;
3034 unsigned RESRB0:1;
3035 unsigned RESRB1:1;
3036 unsigned RXRTR:1;
3037 };
3038 struct {
3039 unsigned :4;
3040 unsigned RB0:1;
3041 unsigned RB1:1;
3042 };
3043 } RXB1DLCbits;
3044 extern volatile far unsigned char RXB1D0;
3045 extern volatile far struct {
3046 unsigned RXB1D00:1;
3047 unsigned RXB1D01:1;
3048 unsigned RXB1D02:1;
3049 unsigned RXB1D03:1;
3050 unsigned RXB1D04:1;
3051 unsigned RXB1D05:1;
3052 unsigned RXB1D06:1;
3053 unsigned RXB1D07:1;
3054 } RXB1D0bits;
3055 extern volatile far unsigned char RXB1D1;
3056 extern volatile far struct {
3057 unsigned RXB1D10:1;
3058 unsigned RXB1D11:1;
3059 unsigned RXB1D12:1;
3060 unsigned RXB1D13:1;
3061 unsigned RXB1D14:1;
3062 unsigned RXB1D15:1;
3063 unsigned RXB1D16:1;
3064 unsigned RXB1D17:1;
3065 } RXB1D1bits;
3066 extern volatile far unsigned char RXB1D2;
3067 extern volatile far struct {
3068 unsigned RXB1D20:1;
3069 unsigned RXB1D21:1;
3070 unsigned RXB1D22:1;
3071 unsigned RXB1D23:1;
3072 unsigned RXB1D24:1;
3073 unsigned RXB1D25:1;
3074 unsigned RXB1D26:1;
3075 unsigned RXB1D27:1;
3076 } RXB1D2bits;
3077 extern volatile far unsigned char RXB1D3;
3078 extern volatile far struct {
3079 unsigned RXB1D30:1;
3080 unsigned RXB1D31:1;
3081 unsigned RXB1D32:1;
3082 unsigned RXB1D33:1;
3083 unsigned RXB1D34:1;
3084 unsigned RXB1D35:1;
3085 unsigned RXB1D36:1;
3086 unsigned RXB1D37:1;
3087 } RXB1D3bits;
3088 extern volatile far unsigned char RXB1D4;
3089 extern volatile far struct {
3090 unsigned RXB1D40:1;
3091 unsigned RXB1D41:1;
3092 unsigned RXB1D42:1;
3093 unsigned RXB1D43:1;
3094 unsigned RXB1D44:1;
3095 unsigned RXB1D45:1;
3096 unsigned RXB1D46:1;
3097 unsigned RXB1D47:1;
3098 } RXB1D4bits;
3099 extern volatile far unsigned char RXB1D5;
3100 extern volatile far struct {
3101 unsigned RXB1D50:1;
3102 unsigned RXB1D51:1;
3103 unsigned RXB1D52:1;
3104 unsigned RXB1D53:1;
3105 unsigned RXB1D54:1;
3106 unsigned RXB1D55:1;
3107 unsigned RXB1D56:1;
3108 unsigned RXB1D57:1;
3109 } RXB1D5bits;
3110 extern volatile far unsigned char RXB1D6;
3111 extern volatile far struct {
3112 unsigned RXB1D60:1;
3113 unsigned RXB1D61:1;
3114 unsigned RXB1D62:1;
3115 unsigned RXB1D63:1;
3116 unsigned RXB1D64:1;
3117 unsigned RXB1D65:1;
3118 unsigned RXB1D66:1;
3119 unsigned RXB1D67:1;
3120 } RXB1D6bits;
3121 extern volatile far unsigned char RXB1D7;
3122 extern volatile far struct {
3123 unsigned RXB1D70:1;
3124 unsigned RXB1D71:1;
3125 unsigned RXB1D72:1;
3126 unsigned RXB1D73:1;
3127 unsigned RXB1D74:1;
3128 unsigned RXB1D75:1;
3129 unsigned RXB1D76:1;
3130 unsigned RXB1D77:1;
3131 } RXB1D7bits;
3132 extern volatile far unsigned char CANSTAT_RO0;
3133 extern volatile far struct {
3134 unsigned ICODE0:1;
3135 unsigned ICODE1:1;
3136 unsigned ICODE2:1;
3137 unsigned ICODE3:1;
3138 unsigned ICODE4:1;
3139 unsigned OPMODE:1;
3140 unsigned REQOP1:1;
3141 unsigned REQOP2:1;
3142 } CANSTAT_RO0bits;
3143 extern volatile far unsigned char CANCON_RO0;
3144 extern volatile far struct {
3145 unsigned :1;
3146 unsigned WIN0:1;
3147 unsigned WIN1:1;
3148 unsigned WIN2:1;
3149 unsigned ABAT:1;
3150 unsigned REQOP0:1;
3151 unsigned REQOP1:1;
3152 unsigned REQOP2:1;
3153 } CANCON_RO0bits;
3154 extern volatile near unsigned char RXB0CON;
3155 extern volatile near union {
3156 struct {
3157 unsigned FILHIT0:1;
3158 unsigned JTOFF:1;
3159 unsigned RXB0DBEN:1;
3160 unsigned RXRTRRO:1;
3161 unsigned :1;
3162 unsigned RXM0:1;
3163 unsigned RXM1:1;
3164 unsigned RXFUL:1;
3165 };
3166 struct {
3167 unsigned :1;
3168 unsigned FILHIT1:1;
3169 unsigned FILHIT2:1;
3170 unsigned FILHIT3:1;
3171 unsigned FILHIT4:1;
3172 unsigned RTRRO:1;
3173 };
3174 struct {
3175 unsigned :2;
3176 unsigned RXBODBEN:1;
3177 };
3178 } RXB0CONbits;
3179 extern volatile near unsigned char RXB0SIDH;
3180 extern volatile near struct {
3181 unsigned SID3:1;
3182 unsigned SID4:1;
3183 unsigned SID5:1;
3184 unsigned SID6:1;
3185 unsigned SID7:1;
3186 unsigned SID8:1;
3187 unsigned SID9:1;
3188 unsigned SID10:1;
3189 } RXB0SIDHbits;
3190 extern volatile near unsigned char RXB0SIDL;
3191 extern volatile near struct {
3192 unsigned EID16:1;
3193 unsigned EID17:1;
3194 unsigned :1;
3195 unsigned EXID:1;
3196 unsigned SRR:1;
3197 unsigned SID0:1;
3198 unsigned SID1:1;
3199 unsigned SID2:1;
3200 } RXB0SIDLbits;
3201 extern volatile near unsigned char RXB0EIDH;
3202 extern volatile near struct {
3203 unsigned EID8:1;
3204 unsigned EID9:1;
3205 unsigned EID10:1;
3206 unsigned EID11:1;
3207 unsigned EID12:1;
3208 unsigned EID13:1;
3209 unsigned EID14:1;
3210 unsigned EID15:1;
3211 } RXB0EIDHbits;
3212 extern volatile near unsigned char RXB0EIDL;
3213 extern volatile near struct {
3214 unsigned EID0:1;
3215 unsigned EID1:1;
3216 unsigned EID2:1;
3217 unsigned EID3:1;
3218 unsigned EID4:1;
3219 unsigned EID5:1;
3220 unsigned EID6:1;
3221 unsigned EID7:1;
3222 } RXB0EIDLbits;
3223 extern volatile near unsigned char RXB0DLC;
3224 extern volatile near union {
3225 struct {
3226 unsigned DLC0:1;
3227 unsigned DLC1:1;
3228 unsigned DLC2:1;
3229 unsigned DLC3:1;
3230 unsigned RESRB0:1;
3231 unsigned RESRB1:1;
3232 unsigned RXRTR:1;
3233 };
3234 struct {
3235 unsigned :4;
3236 unsigned RB0:1;
3237 unsigned RB1:1;
3238 };
3239 } RXB0DLCbits;
3240 extern volatile near unsigned char RXB0D0;
3241 extern volatile near struct {
3242 unsigned RXB0D00:1;
3243 unsigned RXB0D01:1;
3244 unsigned RXB0D02:1;
3245 unsigned RXB0D03:1;
3246 unsigned RXB0D04:1;
3247 unsigned RXB0D05:1;
3248 unsigned RXB0D06:1;
3249 unsigned RXB0D07:1;
3250 } RXB0D0bits;
3251 extern volatile near unsigned char RXB0D1;
3252 extern volatile near struct {
3253 unsigned RXB0D10:1;
3254 unsigned RXB0D11:1;
3255 unsigned RXB0D12:1;
3256 unsigned RXB0D13:1;
3257 unsigned RXB0D14:1;
3258 unsigned RXB0D15:1;
3259 unsigned RXB0D16:1;
3260 unsigned RXB0D17:1;
3261 } RXB0D1bits;
3262 extern volatile near unsigned char RXB0D2;
3263 extern volatile near struct {
3264 unsigned RXB0D20:1;
3265 unsigned RXB0D21:1;
3266 unsigned RXB0D22:1;
3267 unsigned RXB0D23:1;
3268 unsigned RXB0D24:1;
3269 unsigned RXB0D25:1;
3270 unsigned RXB0D26:1;
3271 unsigned RXB0D27:1;
3272 } RXB0D2bits;
3273 extern volatile near unsigned char RXB0D3;
3274 extern volatile near struct {
3275 unsigned RXB0D30:1;
3276 unsigned RXB0D31:1;
3277 unsigned RXB0D32:1;
3278 unsigned RXB0D33:1;
3279 unsigned RXB0D34:1;
3280 unsigned RXB0D35:1;
3281 unsigned RXB0D36:1;
3282 unsigned RXB0D37:1;
3283 } RXB0D3bits;
3284 extern volatile near unsigned char RXB0D4;
3285 extern volatile near struct {
3286 unsigned RXB0D40:1;
3287 unsigned RXB0D41:1;
3288 unsigned RXB0D42:1;
3289 unsigned RXB0D43:1;
3290 unsigned RXB0D44:1;
3291 unsigned RXB0D45:1;
3292 unsigned RXB0D46:1;
3293 unsigned RXB0D47:1;
3294 } RXB0D4bits;
3295 extern volatile near unsigned char RXB0D5;
3296 extern volatile near struct {
3297 unsigned RXB0D50:1;
3298 unsigned RXB0D51:1;
3299 unsigned RXB0D52:1;
3300 unsigned RXB0D53:1;
3301 unsigned RXB0D54:1;
3302 unsigned RXB0D55:1;
3303 unsigned RXB0D56:1;
3304 unsigned RXB0D57:1;
3305 } RXB0D5bits;
3306 extern volatile near unsigned char RXB0D6;
3307 extern volatile near struct {
3308 unsigned RXB0D60:1;
3309 unsigned RXB0D61:1;
3310 unsigned RXB0D62:1;
3311 unsigned RXB0D63:1;
3312 unsigned RXB0D64:1;
3313 unsigned RXB0D65:1;
3314 unsigned RXB0D66:1;
3315 unsigned RXB0D67:1;
3316 } RXB0D6bits;
3317 extern volatile near unsigned char RXB0D7;
3318 extern volatile near struct {
3319 unsigned RXB0D70:1;
3320 unsigned RXB0D71:1;
3321 unsigned RXB0D72:1;
3322 unsigned RXB0D73:1;
3323 unsigned RXB0D74:1;
3324 unsigned RXB0D75:1;
3325 unsigned RXB0D76:1;
3326 unsigned RXB0D77:1;
3327 } RXB0D7bits;
3328 extern volatile near unsigned char CANSTAT;
3329 extern volatile near union {
3330 struct {
3331 unsigned :1;
3332 unsigned ICODE1:1;
3333 unsigned ICODE2:1;
3334 unsigned ICODE3:1;
3335 unsigned :1;
3336 unsigned OPMODE0:1;
3337 unsigned OPMODE1:1;
3338 unsigned OPMODE2:1;
3339 };
3340 struct {
3341 unsigned EICODE0:1;
3342 unsigned EICODE1:1;
3343 unsigned EICODE2:1;
3344 unsigned EICODE3:1;
3345 unsigned EICODE4:1;
3346 };
3347 } CANSTATbits;
3348 extern volatile near unsigned char CANCON;
3349 extern volatile near union {
3350 struct {
3351 unsigned :1;
3352 unsigned WIN0:1;
3353 unsigned WIN1:1;
3354 unsigned WIN2:1;
3355 unsigned ABAT:1;
3356 unsigned REQOP0:1;
3357 unsigned REQOP1:1;
3358 unsigned REQOP2:1;
3359 };
3360 struct {
3361 unsigned FP0:1;
3362 unsigned FP1:1;
3363 unsigned FP2:1;
3364 unsigned FP3:1;
3365 };
3366 } CANCONbits;
3367 extern volatile near unsigned char BRGCON1;
3368 extern volatile near struct {
3369 unsigned BRP0:1;
3370 unsigned BRP1:1;
3371 unsigned BRP2:1;
3372 unsigned BRP3:1;
3373 unsigned BRP4:1;
3374 unsigned BRP5:1;
3375 unsigned SJW0:1;
3376 unsigned SJW1:1;
3377 } BRGCON1bits;
3378 extern volatile near unsigned char BRGCON2;
3379 extern volatile near union {
3380 struct {
3381 unsigned PRSEG0:1;
3382 unsigned PRSEG1:1;
3383 unsigned PRSEG2:1;
3384 unsigned SEG1PH0:1;
3385 unsigned SEG1PH1:1;
3386 unsigned SEG1PH2:1;
3387 unsigned SAM:1;
3388 unsigned SEG2PHTS:1;
3389 };
3390 struct {
3391 unsigned :7;
3392 unsigned SEG2PHT:1;
3393 };
3394 } BRGCON2bits;
3395 extern volatile near unsigned char BRGCON3;
3396 extern volatile near struct {
3397 unsigned SEG2PH0:1;
3398 unsigned SEG2PH1:1;
3399 unsigned SEG2PH2:1;
3400 unsigned :3;
3401 unsigned WAKFIL:1;
3402 unsigned WAKDIS:1;
3403 } BRGCON3bits;
3404 extern volatile near unsigned char CIOCON;
3405 extern volatile near struct {
3406 unsigned :4;
3407 unsigned CANCAP:1;
3408 unsigned ENDRHI:1;
3409 } CIOCONbits;
3410 extern volatile near unsigned char COMSTAT;
3411 extern volatile near union {
3412 struct {
3413 unsigned EWARN:1;
3414 unsigned RXWARN:1;
3415 unsigned TXWARN:1;
3416 unsigned RXBP:1;
3417 unsigned TXBP:1;
3418 unsigned TXBO:1;
3419 unsigned RXB1OVFL:1;
3420 unsigned RXB0OVFL:1;
3421 };
3422 struct {
3423 unsigned :6;
3424 unsigned RXBnOVFL:1;
3425 };
3426 struct {
3427 unsigned :7;
3428 unsigned FIFOEMPTY:1;
3429 };
3430 } COMSTATbits;
3431 extern volatile near unsigned char RXERRCNT;
3432 extern volatile near struct {
3433 unsigned REC0:1;
3434 unsigned REC1:1;
3435 unsigned REC2:1;
3436 unsigned REC3:1;
3437 unsigned REC4:1;
3438 unsigned REC5:1;
3439 unsigned REC6:1;
3440 unsigned REC7:1;
3441 } RXERRCNTbits;
3442 extern volatile near unsigned char TXERRCNT;
3443 extern volatile near struct {
3444 unsigned TEC0:1;
3445 unsigned TEC1:1;
3446 unsigned TEC2:1;
3447 unsigned TEC3:1;
3448 unsigned TEC4:1;
3449 unsigned TEC5:1;
3450 unsigned TEC6:1;
3451 unsigned TEC7:1;
3452 } TXERRCNTbits;
3453 extern volatile near unsigned char ECANCON;
3454 extern volatile near union {
3455 struct {
3456 unsigned EWIN0:1;
3457 unsigned EWIN1:1;
3458 unsigned EWIN2:1;
3459 unsigned EWIN3:1;
3460 unsigned EWIN4:1;
3461 unsigned FIFOWM:1;
3462 unsigned MDSEL0:1;
3463 unsigned MDSEL1:1;
3464 };
3465 struct {
3466 unsigned :5;
3467 unsigned F:1;
3468 };
3469 } ECANCONbits;
3470 extern volatile near unsigned char PORTA;
3471 extern volatile near union {
3472 struct {
3473 unsigned RA0:1;
3474 unsigned RA1:1;
3475 unsigned RA2:1;
3476 unsigned RA3:1;
3477 unsigned RA4:1;
3478 unsigned RA5:1;
3479 unsigned RA6:1;
3480 unsigned RA7:1;
3481 };
3482 struct {
3483 unsigned AN0:1;
3484 unsigned AN1:1;
3485 unsigned AN2:1;
3486 unsigned AN3:1;
3487 unsigned T0CKI:1;
3488 unsigned AN4:1;
3489 unsigned OSC2:1;
3490 unsigned OSC1:1;
3491 };
3492 struct {
3493 unsigned CVREF:1;
3494 unsigned :1;
3495 unsigned VREFM:1;
3496 unsigned VREFP:1;
3497 unsigned :1;
3498 unsigned LVDIN:1;
3499 unsigned CLKO:1;
3500 unsigned CLKI:1;
3501 };
3502 struct {
3503 unsigned :5;
3504 unsigned SS:1;
3505 };
3506 struct {
3507 unsigned :5;
3508 unsigned NOT_SS:1;
3509 };
3510 struct {
3511 unsigned :5;
3512 unsigned HLVDIN:1;
3513 };
3514 } PORTAbits;
3515 extern volatile near unsigned char PORTB;
3516 extern volatile near union {
3517 struct {
3518 unsigned RB0:1;
3519 unsigned RB1:1;
3520 unsigned RB2:1;
3521 unsigned RB3:1;
3522 unsigned RB4:1;
3523 unsigned RB5:1;
3524 unsigned RB6:1;
3525 unsigned RB7:1;
3526 };
3527 struct {
3528 unsigned INT0:1;
3529 unsigned INT1:1;
3530 unsigned INT2:1;
3531 unsigned CANRX:1;
3532 unsigned KBI0:1;
3533 unsigned KBI1:1;
3534 unsigned KBI2:1;
3535 unsigned KBI3:1;
3536 };
3537 struct {
3538 unsigned AN10:1;
3539 };
3540 struct {
3541 unsigned FLT0:1;
3542 unsigned AN8:1;
3543 unsigned CANTX:1;
3544 unsigned :1;
3545 unsigned AN9:1;
3546 unsigned PGM:1;
3547 unsigned PGC:1;
3548 unsigned PGD:1;
3549 };
3550 } PORTBbits;
3551 extern volatile near unsigned char PORTC;
3552 extern volatile near union {
3553 struct {
3554 unsigned RC0:1;
3555 unsigned RC1:1;
3556 unsigned RC2:1;
3557 unsigned RC3:1;
3558 unsigned RC4:1;
3559 unsigned RC5:1;
3560 unsigned RC6:1;
3561 unsigned RC7:1;
3562 };
3563 struct {
3564 unsigned T1OSO:1;
3565 unsigned T1OSI:1;
3566 unsigned CCP1:1;
3567 unsigned SCK:1;
3568 unsigned SDI:1;
3569 unsigned SDO:1;
3570 unsigned TX:1;
3571 unsigned RX:1;
3572 };
3573 struct {
3574 unsigned T13CKI:1;
3575 unsigned :2;
3576 unsigned SCL:1;
3577 unsigned SDA:1;
3578 unsigned :1;
3579 unsigned CK:1;
3580 unsigned DT:1;
3581 };
3582 } PORTCbits;
3583 extern volatile near unsigned char PORTD;
3584 extern volatile near union {
3585 struct {
3586 unsigned RD0:1;
3587 unsigned RD1:1;
3588 unsigned RD2:1;
3589 unsigned RD3:1;
3590 unsigned RD4:1;
3591 unsigned RD5:1;
3592 unsigned RD6:1;
3593 unsigned RD7:1;
3594 };
3595 struct {
3596 unsigned PSP0:1;
3597 unsigned PSP1:1;
3598 unsigned PSP2:1;
3599 unsigned PSP3:1;
3600 unsigned PSP4:1;
3601 unsigned PSP5:1;
3602 unsigned PSP6:1;
3603 unsigned PSP7:1;
3604 };
3605 struct {
3606 unsigned C1INB:1;
3607 unsigned C1INA:1;
3608 unsigned C2INB:1;
3609 unsigned C2INA:1;
3610 unsigned P1A:1;
3611 unsigned P1B:1;
3612 unsigned P1C:1;
3613 unsigned P1D:1;
3614 };
3615 struct {
3616 unsigned :4;
3617 unsigned ECCP1:1;
3618 };
3619 } PORTDbits;
3620 extern volatile near unsigned char PORTE;
3621 extern volatile near union {
3622 struct {
3623 unsigned RE0:1;
3624 unsigned RE1:1;
3625 unsigned RE2:1;
3626 unsigned RE3:1;
3627 };
3628 struct {
3629 unsigned AN5:1;
3630 unsigned AN6:1;
3631 unsigned AN7:1;
3632 };
3633 struct {
3634 unsigned NOT_RD:1;
3635 unsigned NOT_WR:1;
3636 unsigned NOT_CS:1;
3637 };
3638 struct {
3639 unsigned RD:1;
3640 unsigned WR:1;
3641 unsigned CS:1;
3642 };
3643 } PORTEbits;
3644 extern volatile near unsigned char LATA;
3645 extern volatile near struct {
3646 unsigned LATA0:1;
3647 unsigned LATA1:1;
3648 unsigned LATA2:1;
3649 unsigned LATA3:1;
3650 unsigned LATA4:1;
3651 unsigned LATA5:1;
3652 unsigned LATA6:1;
3653 unsigned LATA7:1;
3654 } LATAbits;
3655 extern volatile near unsigned char LATB;
3656 extern volatile near struct {
3657 unsigned LATB0:1;
3658 unsigned LATB1:1;
3659 unsigned LATB2:1;
3660 unsigned LATB3:1;
3661 unsigned LATB4:1;
3662 unsigned LATB5:1;
3663 unsigned LATB6:1;
3664 unsigned LATB7:1;
3665 } LATBbits;
3666 extern volatile near unsigned char LATC;
3667 extern volatile near struct {
3668 unsigned LATC0:1;
3669 unsigned LATC1:1;
3670 unsigned LATC2:1;
3671 unsigned LATC3:1;
3672 unsigned LATC4:1;
3673 unsigned LATC5:1;
3674 unsigned LATC6:1;
3675 unsigned LATC7:1;
3676 } LATCbits;
3677 extern volatile near unsigned char LATD;
3678 extern volatile near struct {
3679 unsigned LATD0:1;
3680 unsigned LATD1:1;
3681 unsigned LATD2:1;
3682 unsigned LATD3:1;
3683 unsigned LATD4:1;
3684 unsigned LATD5:1;
3685 unsigned LATD6:1;
3686 unsigned LATD7:1;
3687 } LATDbits;
3688 extern volatile near unsigned char LATE;
3689 extern volatile near struct {
3690 unsigned LATE0:1;
3691 unsigned LATE1:1;
3692 unsigned LATE2:1;
3693 } LATEbits;
3694 extern volatile near unsigned char DDRA;
3695 extern volatile near struct {
3696 unsigned RA0:1;
3697 unsigned RA1:1;
3698 unsigned RA2:1;
3699 unsigned RA3:1;
3700 unsigned RA4:1;
3701 unsigned RA5:1;
3702 unsigned RA6:1;
3703 } DDRAbits;
3704 extern volatile near unsigned char TRISA;
3705 extern volatile near struct {
3706 unsigned TRISA0:1;
3707 unsigned TRISA1:1;
3708 unsigned TRISA2:1;
3709 unsigned TRISA3:1;
3710 unsigned TRISA4:1;
3711 unsigned TRISA5:1;
3712 unsigned TRISA6:1;
3713 unsigned TRISA7:1;
3714 } TRISAbits;
3715 extern volatile near unsigned char DDRB;
3716 extern volatile near struct {
3717 unsigned RB0:1;
3718 unsigned RB1:1;
3719 unsigned RB2:1;
3720 unsigned RB3:1;
3721 unsigned RB4:1;
3722 unsigned RB5:1;
3723 unsigned RB6:1;
3724 unsigned RB7:1;
3725 } DDRBbits;
3726 extern volatile near unsigned char TRISB;
3727 extern volatile near struct {
3728 unsigned TRISB0:1;
3729 unsigned TRISB1:1;
3730 unsigned TRISB2:1;
3731 unsigned TRISB3:1;
3732 unsigned TRISB4:1;
3733 unsigned TRISB5:1;
3734 unsigned TRISB6:1;
3735 unsigned TRISB7:1;
3736 } TRISBbits;
3737 extern volatile near unsigned char DDRC;
3738 extern volatile near struct {
3739 unsigned RC0:1;
3740 unsigned RC1:1;
3741 unsigned RC2:1;
3742 unsigned RC3:1;
3743 unsigned RC4:1;
3744 unsigned RC5:1;
3745 unsigned RC6:1;
3746 unsigned RC7:1;
3747 } DDRCbits;
3748 extern volatile near unsigned char TRISC;
3749 extern volatile near struct {
3750 unsigned TRISC0:1;
3751 unsigned TRISC1:1;
3752 unsigned TRISC2:1;
3753 unsigned TRISC3:1;
3754 unsigned TRISC4:1;
3755 unsigned TRISC5:1;
3756 unsigned TRISC6:1;
3757 unsigned TRISC7:1;
3758 } TRISCbits;
3759 extern volatile near unsigned char DDRD;
3760 extern volatile near struct {
3761 unsigned RD0:1;
3762 unsigned RD1:1;
3763 unsigned RD2:1;
3764 unsigned RD3:1;
3765 unsigned RD4:1;
3766 unsigned RD5:1;
3767 unsigned RD6:1;
3768 unsigned RD7:1;
3769 } DDRDbits;
3770 extern volatile near unsigned char TRISD;
3771 extern volatile near struct {
3772 unsigned TRISD0:1;
3773 unsigned TRISD1:1;
3774 unsigned TRISD2:1;
3775 unsigned TRISD3:1;
3776 unsigned TRISD4:1;
3777 unsigned TRISD5:1;
3778 unsigned TRISD6:1;
3779 unsigned TRISD7:1;
3780 } TRISDbits;
3781 extern volatile near unsigned char DDRE;
3782 extern volatile near struct {
3783 unsigned RE0:1;
3784 unsigned RE1:1;
3785 unsigned RE2:1;
3786 unsigned :1;
3787 unsigned PSPMODE:1;
3788 unsigned IBOV:1;
3789 unsigned OBF:1;
3790 unsigned IBF:1;
3791 } DDREbits;
3792 extern volatile near unsigned char TRISE;
3793 extern volatile near struct {
3794 unsigned TRISE0:1;
3795 unsigned TRISE1:1;
3796 unsigned TRISE2:1;
3797 unsigned :1;
3798 unsigned PSPMODE:1;
3799 unsigned IBOV:1;
3800 unsigned OBF:1;
3801 unsigned IBF:1;
3802 } TRISEbits;
3803 extern volatile near unsigned char OSCTUNE;
3804 extern volatile near union {
3805 struct {
3806 unsigned TUN0:1;
3807 unsigned TUN1:1;
3808 unsigned TUN2:1;
3809 unsigned TUN3:1;
3810 unsigned TUN4:1;
3811 unsigned :1;
3812 unsigned PLLEN:1;
3813 unsigned INTSCR:1;
3814 };
3815 struct {
3816 unsigned :7;
3817 unsigned INTSRC:1;
3818 };
3819 } OSCTUNEbits;
3820 extern volatile near unsigned char PIE1;
3821 extern volatile near struct {
3822 unsigned TMR1IE:1;
3823 unsigned TMR2IE:1;
3824 unsigned CCP1IE:1;
3825 unsigned SSPIE:1;
3826 unsigned TXIE:1;
3827 unsigned RCIE:1;
3828 unsigned ADIE:1;
3829 unsigned PSPIE:1;
3830 } PIE1bits;
3831 extern volatile near unsigned char PIR1;
3832 extern volatile near struct {
3833 unsigned TMR1IF:1;
3834 unsigned TMR2IF:1;
3835 unsigned CCP1IF:1;
3836 unsigned SSPIF:1;
3837 unsigned TXIF:1;
3838 unsigned RCIF:1;
3839 unsigned ADIF:1;
3840 unsigned PSPIF:1;
3841 } PIR1bits;
3842 extern volatile near unsigned char IPR1;
3843 extern volatile near union {
3844 struct {
3845 unsigned TMR1IP:1;
3846 unsigned TMR2IP:1;
3847 unsigned CCP1IP:1;
3848 unsigned SSPIP:1;
3849 unsigned TXBIP:1;
3850 unsigned RCIP:1;
3851 unsigned ADIP:1;
3852 unsigned PSPIP:1;
3853 };
3854 struct {
3855 unsigned :4;
3856 unsigned TXIP:1;
3857 };
3858 } IPR1bits;
3859 extern volatile near unsigned char PIE2;
3860 extern volatile near union {
3861 struct {
3862 unsigned ECCP1IE:1;
3863 unsigned TMR3IE:1;
3864 unsigned LVDIE:1;
3865 unsigned BCLIE:1;
3866 unsigned EEIE:1;
3867 unsigned :1;
3868 unsigned CMIE:1;
3869 unsigned OSCFIE:1;
3870 };
3871 struct {
3872 unsigned :2;
3873 unsigned HLVDIE:1;
3874 };
3875 } PIE2bits;
3876 extern volatile near unsigned char PIR2;
3877 extern volatile near union {
3878 struct {
3879 unsigned ECCP1IF:1;
3880 unsigned TMR3IF:1;
3881 unsigned LVDIF:1;
3882 unsigned BCLIF:1;
3883 unsigned EEIF:1;
3884 unsigned :1;
3885 unsigned CMIF:1;
3886 unsigned OSCFIF:1;
3887 };
3888 struct {
3889 unsigned :2;
3890 unsigned HLVDIF:1;
3891 };
3892 } PIR2bits;
3893 extern volatile near unsigned char IPR2;
3894 extern volatile near union {
3895 struct {
3896 unsigned ECCP1IP:1;
3897 unsigned TMR3IP:1;
3898 unsigned LVDIP:1;
3899 unsigned BCLIP:1;
3900 unsigned EEIP:1;
3901 unsigned :1;
3902 unsigned CMIP:1;
3903 unsigned OSCFIP:1;
3904 };
3905 struct {
3906 unsigned :2;
3907 unsigned HLVDIP:1;
3908 };
3909 } IPR2bits;
3910 extern volatile near unsigned char PIE3;
3911 extern volatile near union {
3912 struct {
3913 unsigned RXB0IE:1;
3914 unsigned RXB1IE:1;
3915 unsigned TXB0IE:1;
3916 unsigned TXB1IE:1;
3917 unsigned TXB2IE:1;
3918 unsigned ERRIE:1;
3919 unsigned WAKIE:1;
3920 unsigned IRXIE:1;
3921 };
3922 struct {
3923 unsigned FIFOWMIE:1;
3924 unsigned RXBnIE:1;
3925 unsigned :2;
3926 unsigned TXBnIE:1;
3927 };
3928 struct {
3929 unsigned FIFOMWIE:1;
3930 };
3931 } PIE3bits;
3932 extern volatile near unsigned char PIR3;
3933 extern volatile near union {
3934 struct {
3935 unsigned RXB0IF:1;
3936 unsigned RXB1IF:1;
3937 unsigned TXB0IF:1;
3938 unsigned TXB1IF:1;
3939 unsigned TXB2IF:1;
3940 unsigned ERRIF:1;
3941 unsigned WAKIF:1;
3942 unsigned IRXIF:1;
3943 };
3944 struct {
3945 unsigned FIFOWMIF:1;
3946 unsigned RXBnIF:1;
3947 unsigned :2;
3948 unsigned TXBnIF:1;
3949 };
3950 } PIR3bits;
3951 extern volatile near unsigned char IPR3;
3952 extern volatile near union {
3953 struct {
3954 unsigned RXB0IP:1;
3955 unsigned RXB1IP:1;
3956 unsigned TXB0IP:1;
3957 unsigned TXB1IP:1;
3958 unsigned TXB2IP:1;
3959 unsigned ERRIP:1;
3960 unsigned WAKIP:1;
3961 unsigned IRXIP:1;
3962 };
3963 struct {
3964 unsigned FIFOWMIP:1;
3965 unsigned RXBnIP:1;
3966 unsigned :2;
3967 unsigned TXBnIP:1;
3968 };
3969 } IPR3bits;
3970 extern volatile near unsigned char EECON1;
3971 extern volatile near struct {
3972 unsigned RD:1;
3973 unsigned WR:1;
3974 unsigned WREN:1;
3975 unsigned WRERR:1;
3976 unsigned FREE:1;
3977 unsigned :1;
3978 unsigned CFGS:1;
3979 unsigned EEPGD:1;
3980 } EECON1bits;
3981 extern volatile near unsigned char EECON2;
3982 extern volatile near unsigned char EEDATA;
3983 extern volatile near unsigned char EEADR;
3984 extern volatile near unsigned char EEADRH;
3985 extern volatile near unsigned char RCSTA;
3986 extern volatile near union {
3987 struct {
3988 unsigned RX9D:1;
3989 unsigned OERR:1;
3990 unsigned FERR:1;
3991 unsigned ADEN:1;
3992 unsigned CREN:1;
3993 unsigned SREN:1;
3994 unsigned RX9:1;
3995 unsigned SPEN:1;
3996 };
3997 struct {
3998 unsigned :3;
3999 unsigned ADDEN:1;
4000 };
4001 } RCSTAbits;
4002 extern volatile near unsigned char TXSTA;
4003 extern volatile near struct {
4004 unsigned TX9D:1;
4005 unsigned TRMT:1;
4006 unsigned BRGH:1;
4007 unsigned SENDB:1;
4008 unsigned SYNC:1;
4009 unsigned TXEN:1;
4010 unsigned TX9:1;
4011 unsigned CSRC:1;
4012 } TXSTAbits;
4013 extern volatile near unsigned char TXREG;
4014 extern volatile near unsigned char RCREG;
4015 extern volatile near unsigned char SPBRG;
4016 extern volatile near unsigned char SPBRGH;
4017 extern volatile near unsigned char T3CON;
4018 extern volatile near union {
4019 struct {
4020 unsigned TMR3ON:1;
4021 unsigned TMR3CS:1;
4022 unsigned T3SYNC:1;
4023 unsigned T3CCP1:1;
4024 unsigned T3CKPS0:1;
4025 unsigned T3CKPS1:1;
4026 unsigned T3CCP2:1;
4027 unsigned RD16:1;
4028 };
4029 struct {
4030 unsigned :2;
4031 unsigned T3NSYNC:1;
4032 };
4033 struct {
4034 unsigned :6;
4035 unsigned T3ECCP1:1;
4036 };
4037 struct {
4038 unsigned :2;
4039 unsigned NOT_T3SYNC:1;
4040 };
4041 } T3CONbits;
4042 extern volatile near unsigned char TMR3L;
4043 extern volatile near unsigned char TMR3H;
4044 extern volatile near unsigned char CMCON;
4045 extern volatile near struct {
4046 unsigned CM0:1;
4047 unsigned CM1:1;
4048 unsigned CM2:1;
4049 unsigned CIS:1;
4050 unsigned C1INV:1;
4051 unsigned C2INV:1;
4052 unsigned C1OUT:1;
4053 unsigned C2OUT:1;
4054 } CMCONbits;
4055 extern volatile near unsigned char CVRCON;
4056 extern volatile near union {
4057 struct {
4058 unsigned CVR0:1;
4059 unsigned CVR1:1;
4060 unsigned CVR2:1;
4061 unsigned CVR3:1;
4062 unsigned CVREF:1;
4063 unsigned CVRR:1;
4064 unsigned CVROE:1;
4065 unsigned CVREN:1;
4066 };
4067 struct {
4068 unsigned :4;
4069 unsigned CVRSS:1;
4070 };
4071 } CVRCONbits;
4072 extern volatile near unsigned char ECCP1AS;
4073 extern volatile near struct {
4074 unsigned PSSBD0:1;
4075 unsigned PSSBD1:1;
4076 unsigned PSSAC0:1;
4077 unsigned PSSAC1:1;
4078 unsigned ECCPAS0:1;
4079 unsigned ECCPAS1:1;
4080 unsigned ECCPAS2:1;
4081 unsigned ECCPASE:1;
4082 } ECCP1ASbits;
4083 extern volatile near unsigned char ECCP1DEL;
4084 extern volatile near struct {
4085 unsigned PDC0:1;
4086 unsigned PDC1:1;
4087 unsigned PDC2:1;
4088 unsigned PDC3:1;
4089 unsigned PDC4:1;
4090 unsigned PDC5:1;
4091 unsigned PDC6:1;
4092 unsigned PRSEN:1;
4093 } ECCP1DELbits;
4094 extern volatile near unsigned char BAUDCON;
4095 extern volatile near struct {
4096 unsigned ABDEN:1;
4097 unsigned WUE:1;
4098 unsigned :1;
4099 unsigned BRG16:1;
4100 unsigned SCKP:1;
4101 unsigned :1;
4102 unsigned RCIDL:1;
4103 unsigned ABDOVF:1;
4104 } BAUDCONbits;
4105 extern volatile near unsigned char ECCP1CON;
4106 extern volatile near struct {
4107 unsigned ECCP1M0:1;
4108 unsigned ECCP1M1:1;
4109 unsigned ECCP1M2:1;
4110 unsigned ECCP1M3:1;
4111 unsigned EDC1B0:1;
4112 unsigned EDC1B1:1;
4113 unsigned EPWM1M0:1;
4114 unsigned EPWM1M1:1;
4115 } ECCP1CONbits;
4116 extern volatile near unsigned ECCPR1;
4117 extern volatile near unsigned char ECCPR1L;
4118 extern volatile near unsigned char ECCPR1H;
4119 extern volatile near unsigned char CCP1CON;
4120 extern volatile near struct {
4121 unsigned CCP1M0:1;
4122 unsigned CCP1M1:1;
4123 unsigned CCP1M2:1;
4124 unsigned CCP1M3:1;
4125 unsigned DC1B0:1;
4126 unsigned DC1B1:1;
4127 } CCP1CONbits;
4128 extern volatile near unsigned CCPR1;
4129 extern volatile near unsigned char CCPR1L;
4130 extern volatile near unsigned char CCPR1H;
4131 extern volatile near unsigned char ADCON2;
4132 extern volatile near struct {
4133 unsigned ADCS0:1;
4134 unsigned ADCS1:1;
4135 unsigned ADCS2:1;
4136 unsigned ACQT0:1;
4137 unsigned ACQT1:1;
4138 unsigned ACQT2:1;
4139 unsigned :1;
4140 unsigned ADFM:1;
4141 } ADCON2bits;
4142 extern volatile near unsigned char ADCON1;
4143 extern volatile near struct {
4144 unsigned PCFG0:1;
4145 unsigned PCFG1:1;
4146 unsigned PCFG2:1;
4147 unsigned PCFG3:1;
4148 unsigned VCFG0:1;
4149 unsigned VCFG1:1;
4150 } ADCON1bits;
4151 extern volatile near unsigned char ADCON0;
4152 extern volatile near union {
4153 struct {
4154 unsigned ADON:1;
4155 unsigned GO_DONE:1;
4156 unsigned CHS0:1;
4157 unsigned CHS1:1;
4158 unsigned CHS2:1;
4159 unsigned CHS3:1;
4160 };
4161 struct {
4162 unsigned :1;
4163 unsigned DONE:1;
4164 };
4165 struct {
4166 unsigned :1;
4167 unsigned GO:1;
4168 };
4169 struct {
4170 unsigned :1;
4171 unsigned NOT_DONE:1;
4172 };
4173 } ADCON0bits;
4174 extern volatile near unsigned ADRES;
4175 extern volatile near unsigned char ADRESL;
4176 extern volatile near unsigned char ADRESH;
4177 extern volatile near unsigned char SSPCON2;
4178 extern volatile near struct {
4179 unsigned SEN:1;
4180 unsigned RSEN:1;
4181 unsigned PEN:1;
4182 unsigned RCEN:1;
4183 unsigned ACKEN:1;
4184 unsigned ACKDT:1;
4185 unsigned ACKSTAT:1;
4186 unsigned GCEN:1;
4187 } SSPCON2bits;
4188 extern volatile near unsigned char SSPCON1;
4189 extern volatile near struct {
4190 unsigned SSPM0:1;
4191 unsigned SSPM1:1;
4192 unsigned SSPM2:1;
4193 unsigned SSPM3:1;
4194 unsigned CKP:1;
4195 unsigned SSPEN:1;
4196 unsigned SSPOV:1;
4197 unsigned WCOL:1;
4198 } SSPCON1bits;
4199 extern volatile near unsigned char SSPSTAT;
4200 extern volatile near union {
4201 struct {
4202 unsigned BF:1;
4203 unsigned UA:1;
4204 unsigned R_W:1;
4205 unsigned S:1;
4206 unsigned P:1;
4207 unsigned D_A:1;
4208 unsigned CKE:1;
4209 unsigned SMP:1;
4210 };
4211 struct {
4212 unsigned :2;
4213 unsigned I2C_READ:1;
4214 unsigned I2C_START:1;
4215 unsigned I2C_STOP:1;
4216 unsigned I2C_DAT:1;
4217 };
4218 struct {
4219 unsigned :2;
4220 unsigned NOT_W:1;
4221 unsigned :2;
4222 unsigned NOT_A:1;
4223 };
4224 struct {
4225 unsigned :2;
4226 unsigned NOT_WRITE:1;
4227 unsigned :2;
4228 unsigned NOT_ADDRESS:1;
4229 };
4230 struct {
4231 unsigned :2;
4232 unsigned READ_WRITE:1;
4233 unsigned :2;
4234 unsigned DATA_ADDRESS:1;
4235 };
4236 struct {
4237 unsigned :2;
4238 unsigned R:1;
4239 unsigned :2;
4240 unsigned D:1;
4241 };
4242 } SSPSTATbits;
4243 extern volatile near unsigned char SSPADD;
4244 extern volatile near unsigned char SSPBUF;
4245 extern volatile near unsigned char T2CON;
4246 extern volatile near struct {
4247 unsigned T2CKPS0:1;
4248 unsigned T2CKPS1:1;
4249 unsigned TMR2ON:1;
4250 unsigned T2OUTPS0:1;
4251 unsigned T2OUTPS1:1;
4252 unsigned T2OUTPS2:1;
4253 unsigned T2OUTPS3:1;
4254 } T2CONbits;
4255 extern volatile near unsigned char PR2;
4256 extern volatile near unsigned char TMR2;
4257 extern volatile near unsigned char T1CON;
4258 extern volatile near union {
4259 struct {
4260 unsigned TMR1ON:1;
4261 unsigned TMR1CS:1;
4262 unsigned T1SYNC:1;
4263 unsigned T1OSCEN:1;
4264 unsigned T1CKPS0:1;
4265 unsigned T1CKPS1:1;
4266 unsigned T1RUN:1;
4267 unsigned RD16:1;
4268 };
4269 struct {
4270 unsigned :2;
4271 unsigned T1INSYNC:1;
4272 };
4273 struct {
4274 unsigned :2;
4275 unsigned NOT_T1SYNC:1;
4276 };
4277 } T1CONbits;
4278 extern volatile near unsigned char TMR1L;
4279 extern volatile near unsigned char TMR1H;
4280 extern volatile near unsigned char RCON;
4281 extern volatile near union {
4282 struct {
4283 unsigned NOT_BOR:1;
4284 unsigned NOT_POR:1;
4285 unsigned NOT_PD:1;
4286 unsigned NOT_TO:1;
4287 unsigned NOT_RI:1;
4288 unsigned :1;
4289 unsigned SBOREN:1;
4290 unsigned IPEN:1;
4291 };
4292 struct {
4293 unsigned BOR:1;
4294 unsigned POR:1;
4295 unsigned PD:1;
4296 unsigned TO:1;
4297 unsigned RI:1;
4298 };
4299 } RCONbits;
4300 extern volatile near unsigned char WDTCON;
4301 extern volatile near union {
4302 struct {
4303 unsigned SWDTEN:1;
4304 };
4305 struct {
4306 unsigned SWDTE:1;
4307 };
4308 } WDTCONbits;
4309 extern volatile near unsigned char HLVDCON;
4310 extern volatile near union {
4311 struct {
4312 unsigned LVDL0:1;
4313 unsigned LVDL1:1;
4314 unsigned LVDL2:1;
4315 unsigned LVDL3:1;
4316 unsigned LVDEN:1;
4317 unsigned IRVST:1;
4318 };
4319 struct {
4320 unsigned LVV0:1;
4321 unsigned LVV1:1;
4322 unsigned LVV2:1;
4323 unsigned LVV3:1;
4324 unsigned :1;
4325 unsigned BGST:1;
4326 };
4327 struct {
4328 unsigned HLVDL0:1;
4329 unsigned HLVDL1:1;
4330 unsigned HLVDL2:1;
4331 unsigned HLVDL3:1;
4332 unsigned HLVDEN:1;
4333 unsigned :2;
4334 unsigned VDIRMAG:1;
4335 };
4336 struct {
4337 unsigned :5;
4338 unsigned IVRST:1;
4339 };
4340 } HLVDCONbits;
4341 extern volatile near unsigned char LVDCON;
4342 extern volatile near union {
4343 struct {
4344 unsigned LVDL0:1;
4345 unsigned LVDL1:1;
4346 unsigned LVDL2:1;
4347 unsigned LVDL3:1;
4348 unsigned LVDEN:1;
4349 unsigned IRVST:1;
4350 };
4351 struct {
4352 unsigned LVV0:1;
4353 unsigned LVV1:1;
4354 unsigned LVV2:1;
4355 unsigned LVV3:1;
4356 unsigned :1;
4357 unsigned BGST:1;
4358 };
4359 struct {
4360 unsigned HLVDL0:1;
4361 unsigned HLVDL1:1;
4362 unsigned HLVDL2:1;
4363 unsigned HLVDL3:1;
4364 unsigned HLVDEN:1;
4365 unsigned :2;
4366 unsigned VDIRMAG:1;
4367 };
4368 struct {
4369 unsigned :5;
4370 unsigned IVRST:1;
4371 };
4372 } LVDCONbits;
4373 extern volatile near unsigned char OSCCON;
4374 extern volatile near struct {
4375 unsigned SCS0:1;
4376 unsigned SCS1:1;
4377 unsigned IOFS:1;
4378 unsigned OSTS:1;
4379 unsigned IRCF0:1;
4380 unsigned IRCF1:1;
4381 unsigned IRCF2:1;
4382 unsigned IDLEN:1;
4383 } OSCCONbits;
4384 extern volatile near unsigned char T0CON;
4385 extern volatile near union {
4386 struct {
4387 unsigned T0PS0:1;
4388 unsigned T0PS1:1;
4389 unsigned T0PS2:1;
4390 unsigned PSA:1;
4391 unsigned T0SE:1;
4392 unsigned T0CS:1;
4393 unsigned T08BIT:1;
4394 unsigned TMR0ON:1;
4395 };
4396 struct {
4397 unsigned :3;
4398 unsigned T0PS3:1;
4399 };
4400 } T0CONbits;
4401 extern volatile near unsigned char TMR0L;
4402 extern volatile near unsigned char TMR0H;
4403 extern near unsigned char STATUS;
4404 extern near struct {
4405 unsigned C:1;
4406 unsigned DC:1;
4407 unsigned Z:1;
4408 unsigned OV:1;
4409 unsigned N:1;
4410 } STATUSbits;
4411 extern near unsigned FSR2;
4412 extern near unsigned char FSR2L;
4413 extern near unsigned char FSR2H;
4414 extern volatile near unsigned char PLUSW2;
4415 extern volatile near unsigned char PREINC2;
4416 extern volatile near unsigned char POSTDEC2;
4417 extern volatile near unsigned char POSTINC2;
4418 extern near unsigned char INDF2;
4419 extern near unsigned char BSR;
4420 extern near unsigned FSR1;
4421 extern near unsigned char FSR1L;
4422 extern near unsigned char FSR1H;
4423 extern volatile near unsigned char PLUSW1;
4424 extern volatile near unsigned char PREINC1;
4425 extern volatile near unsigned char POSTDEC1;
4426 extern volatile near unsigned char POSTINC1;
4427 extern near unsigned char INDF1;
4428 extern near unsigned char WREG;
4429 extern near unsigned FSR0;
4430 extern near unsigned char FSR0L;
4431 extern near unsigned char FSR0H;
4432 extern volatile near unsigned char PLUSW0;
4433 extern volatile near unsigned char PREINC0;
4434 extern volatile near unsigned char POSTDEC0;
4435 extern volatile near unsigned char POSTINC0;
4436 extern near unsigned char INDF0;
4437 extern volatile near unsigned char INTCON3;
4438 extern volatile near union {
4439 struct {
4440 unsigned INT1IF:1;
4441 unsigned INT2IF:1;
4442 unsigned :1;
4443 unsigned INT1IE:1;
4444 unsigned INT2IE:1;
4445 unsigned :1;
4446 unsigned INT1IP:1;
4447 unsigned INT2IP:1;
4448 };
4449 struct {
4450 unsigned INT1F:1;
4451 unsigned INT2F:1;
4452 unsigned :1;
4453 unsigned INT1E:1;
4454 unsigned INT2E:1;
4455 unsigned :1;
4456 unsigned INT1P:1;
4457 unsigned INT2P:1;
4458 };
4459 } INTCON3bits;
4460 extern volatile near unsigned char INTCON2;
4461 extern volatile near union {
4462 struct {
4463 unsigned RBIP:1;
4464 unsigned :1;
4465 unsigned TMR0IP:1;
4466 unsigned :1;
4467 unsigned INTEDG2:1;
4468 unsigned INTEDG1:1;
4469 unsigned INTEDG0:1;
4470 unsigned NOT_RBPU:1;
4471 };
4472 struct {
4473 unsigned :2;
4474 unsigned T0IP:1;
4475 unsigned :4;
4476 unsigned RBPU:1;
4477 };
4478 } INTCON2bits;
4479 extern volatile near unsigned char INTCON;
4480 extern volatile near union {
4481 struct {
4482 unsigned RBIF:1;
4483 unsigned INT0IF:1;
4484 unsigned TMR0IF:1;
4485 unsigned RBIE:1;
4486 unsigned INT0IE:1;
4487 unsigned TMR0IE:1;
4488 unsigned PEIE:1;
4489 unsigned GIE:1;
4490 };
4491 struct {
4492 unsigned :1;
4493 unsigned INT0F:1;
4494 unsigned T0IF:1;
4495 unsigned :1;
4496 unsigned INT0E:1;
4497 unsigned T0IE:1;
4498 unsigned GIEL:1;
4499 unsigned GIEH:1;
4500 };
4501 } INTCONbits;
4502 extern near unsigned PROD;
4503 extern near unsigned char PRODL;
4504 extern near unsigned char PRODH;
4505 extern volatile near unsigned char TABLAT;
4506 extern volatile near unsigned short long TBLPTR;
4507 extern volatile near unsigned char TBLPTRL;
4508 extern volatile near unsigned char TBLPTRH;
4509 extern volatile near unsigned char TBLPTRU;
4510 extern volatile near unsigned short long PC;
4511 extern volatile near unsigned char PCL;
4512 extern volatile near unsigned char PCLATH;
4513 extern volatile near unsigned char PCLATU;
4514 extern volatile near unsigned char STKPTR;
4515 extern volatile near union {
4516 struct {
4517 unsigned STKPTR0:1;
4518 unsigned STKPTR1:1;
4519 unsigned STKPTR2:1;
4520 unsigned STKPTR3:1;
4521 unsigned STKPTR4:1;
4522 unsigned :1;
4523 unsigned STKUNF:1;
4524 unsigned STKOVF:1;
4525 };
4526 struct {
4527 unsigned SP0:1;
4528 unsigned SP1:1;
4529 unsigned SP2:1;
4530 unsigned SP3:1;
4531 unsigned SP4:1;
4532 unsigned :2;
4533 unsigned STKFUL:1;
4534 };
4535 } STKPTRbits;
4536 extern near unsigned short long TOS;
4537 extern near unsigned char TOSL;
4538 extern near unsigned char TOSH;
4539 extern near unsigned char TOSU;
4540
4541 #pragma varlocate 13 RXF6SIDH
4542 #pragma varlocate 13 RXF6SIDHbits
4543 #pragma varlocate 13 RXF6SIDL
4544 #pragma varlocate 13 RXF6SIDLbits
4545 #pragma varlocate 13 RXF6EIDH
4546 #pragma varlocate 13 RXF6EIDHbits
4547 #pragma varlocate 13 RXF6EIDL
4548 #pragma varlocate 13 RXF6EIDLbits
4549 #pragma varlocate 13 RXF7SIDH
4550 #pragma varlocate 13 RXF7SIDHbits
4551 #pragma varlocate 13 RXF7SIDL
4552 #pragma varlocate 13 RXF7SIDLbits
4553 #pragma varlocate 13 RXF7EIDH
4554 #pragma varlocate 13 RXF7EIDHbits
4555 #pragma varlocate 13 RXF7EIDL
4556 #pragma varlocate 13 RXF7EIDLbits
4557 #pragma varlocate 13 RXF8SIDH
4558 #pragma varlocate 13 RXF8SIDHbits
4559 #pragma varlocate 13 RXF8SIDL
4560 #pragma varlocate 13 RXF8SIDLbits
4561 #pragma varlocate 13 RXF8EIDH
4562 #pragma varlocate 13 RXF8EIDHbits
4563 #pragma varlocate 13 RXF8EIDL
4564 #pragma varlocate 13 RXF8EIDLbits
4565 #pragma varlocate 13 RXF9SIDH
4566 #pragma varlocate 13 RXF9SIDHbits
4567 #pragma varlocate 13 RXF9SIDL
4568 #pragma varlocate 13 RXF9SIDLbits
4569 #pragma varlocate 13 RXF9EIDH
4570 #pragma varlocate 13 RXF9EIDHbits
4571 #pragma varlocate 13 RXF9EIDL
4572 #pragma varlocate 13 RXF9EIDLbits
4573 #pragma varlocate 13 RXF10SIDH
4574 #pragma varlocate 13 RXF10SIDHbits
4575 #pragma varlocate 13 RXF10SIDL
4576 #pragma varlocate 13 RXF10SIDLbits
4577 #pragma varlocate 13 RXF10EIDH
4578 #pragma varlocate 13 RXF10EIDHbits
4579 #pragma varlocate 13 RXF10EIDL
4580 #pragma varlocate 13 RXF10EIDLbits
4581 #pragma varlocate 13 RXF11SIDH
4582 #pragma varlocate 13 RXF11SIDHbits
4583 #pragma varlocate 13 RXF11SIDL
4584 #pragma varlocate 13 RXF11SIDLbits
4585 #pragma varlocate 13 RXF11EIDH
4586 #pragma varlocate 13 RXF11EIDHbits
4587 #pragma varlocate 13 RXF11EIDL
4588 #pragma varlocate 13 RXF11EIDLbits
4589 #pragma varlocate 13 RXF12SIDH
4590 #pragma varlocate 13 RXF12SIDHbits
4591 #pragma varlocate 13 RXF12SIDL
4592 #pragma varlocate 13 RXF12SIDLbits
4593 #pragma varlocate 13 RXF12EIDH
4594 #pragma varlocate 13 RXF12EIDHbits
4595 #pragma varlocate 13 RXF12EIDL
4596 #pragma varlocate 13 RXF12EIDLbits
4597 #pragma varlocate 13 RXF13SIDH
4598 #pragma varlocate 13 RXF13SIDHbits
4599 #pragma varlocate 13 RXF13SIDL
4600 #pragma varlocate 13 RXF13SIDLbits
4601 #pragma varlocate 13 RXF13EIDH
4602 #pragma varlocate 13 RXF13EIDHbits
4603 #pragma varlocate 13 RXF13EIDL
4604 #pragma varlocate 13 RXF13EIDLbits
4605 #pragma varlocate 13 RXF14SIDH
4606 #pragma varlocate 13 RXF14SIDHbits
4607 #pragma varlocate 13 RXF14SIDL
4608 #pragma varlocate 13 RXF14SIDLbits
4609 #pragma varlocate 13 RXF14EIDH
4610 #pragma varlocate 13 RXF14EIDHbits
4611 #pragma varlocate 13 RXF14EIDL
4612 #pragma varlocate 13 RXF14EIDLbits
4613 #pragma varlocate 13 RXF15SIDH
4614 #pragma varlocate 13 RXF15SIDHbits
4615 #pragma varlocate 13 RXF15SIDL
4616 #pragma varlocate 13 RXF15SIDLbits
4617 #pragma varlocate 13 RXF15EIDH
4618 #pragma varlocate 13 RXF15EIDHbits
4619 #pragma varlocate 13 RXF15EIDL
4620 #pragma varlocate 13 RXF15EIDLbits
4621 #pragma varlocate 13 RXFCON0
4622 #pragma varlocate 13 RXFCON0bits
4623 #pragma varlocate 13 RXFCON1
4624 #pragma varlocate 13 RXFCON1bits
4625 #pragma varlocate 13 SDFLC
4626 #pragma varlocate 13 SDFLCbits
4627 #pragma varlocate 13 RXFBCON0
4628 #pragma varlocate 13 RXFBCON0bits
4629 #pragma varlocate 13 RXFBCON1
4630 #pragma varlocate 13 RXFBCON1bits
4631 #pragma varlocate 13 RXFBCON2
4632 #pragma varlocate 13 RXFBCON2bits
4633 #pragma varlocate 13 RXFBCON3
4634 #pragma varlocate 13 RXFBCON3bits
4635 #pragma varlocate 13 RXFBCON4
4636 #pragma varlocate 13 RXFBCON4bits
4637 #pragma varlocate 13 RXFBCON5
4638 #pragma varlocate 13 RXFBCON5bits
4639 #pragma varlocate 13 RXFBCON6
4640 #pragma varlocate 13 RXFBCON6bits
4641 #pragma varlocate 13 RXFBCON7
4642 #pragma varlocate 13 RXFBCON7bits
4643 #pragma varlocate 13 MSEL0
4644 #pragma varlocate 13 MSEL0bits
4645 #pragma varlocate 13 MSEL1
4646 #pragma varlocate 13 MSEL1bits
4647 #pragma varlocate 13 MSEL2
4648 #pragma varlocate 13 MSEL2bits
4649 #pragma varlocate 13 MSEL3
4650 #pragma varlocate 13 MSEL3bits
4651 #pragma varlocate 13 BSEL0
4652 #pragma varlocate 13 BSEL0bits
4653 #pragma varlocate 13 BIE0
4654 #pragma varlocate 13 BIE0bits
4655 #pragma varlocate 13 TXBIE
4656 #pragma varlocate 13 TXBIEbits
4657 #pragma varlocate 14 B0CON
4658 #pragma varlocate 14 B0CONbits
4659 #pragma varlocate 14 B0SIDH
4660 #pragma varlocate 14 B0SIDHbits
4661 #pragma varlocate 14 B0SIDL
4662 #pragma varlocate 14 B0SIDLbits
4663 #pragma varlocate 14 B0EIDH
4664 #pragma varlocate 14 B0EIDHbits
4665 #pragma varlocate 14 B0EIDL
4666 #pragma varlocate 14 B0EIDLbits
4667 #pragma varlocate 14 B0DLC
4668 #pragma varlocate 14 B0DLCbits
4669 #pragma varlocate 14 B0D0
4670 #pragma varlocate 14 B0D0bits
4671 #pragma varlocate 14 B0D1
4672 #pragma varlocate 14 B0D1bits
4673 #pragma varlocate 14 B0D2
4674 #pragma varlocate 14 B0D2bits
4675 #pragma varlocate 14 B0D3
4676 #pragma varlocate 14 B0D3bits
4677 #pragma varlocate 14 B0D4
4678 #pragma varlocate 14 B0D4bits
4679 #pragma varlocate 14 B0D5
4680 #pragma varlocate 14 B0D5bits
4681 #pragma varlocate 14 B0D6
4682 #pragma varlocate 14 B0D6bits
4683 #pragma varlocate 14 B0D7
4684 #pragma varlocate 14 B0D7bits
4685 #pragma varlocate 14 CANSTAT_RO9
4686 #pragma varlocate 14 CANSTAT_RO9bits
4687 #pragma varlocate 14 CANCON_RO9
4688 #pragma varlocate 14 CANCON_RO9bits
4689 #pragma varlocate 14 B1CON
4690 #pragma varlocate 14 B1CONbits
4691 #pragma varlocate 14 B1SIDH
4692 #pragma varlocate 14 B1SIDHbits
4693 #pragma varlocate 14 B1SIDL
4694 #pragma varlocate 14 B1SIDLbits
4695 #pragma varlocate 14 B1EIDH
4696 #pragma varlocate 14 B1EIDHbits
4697 #pragma varlocate 14 B1EIDL
4698 #pragma varlocate 14 B1EIDLbits
4699 #pragma varlocate 14 B1DLC
4700 #pragma varlocate 14 B1DLCbits
4701 #pragma varlocate 14 B1D0
4702 #pragma varlocate 14 B1D0bits
4703 #pragma varlocate 14 B1D1
4704 #pragma varlocate 14 B1D1bits
4705 #pragma varlocate 14 B1D2
4706 #pragma varlocate 14 B1D2bits
4707 #pragma varlocate 14 B1D3
4708 #pragma varlocate 14 B1D3bits
4709 #pragma varlocate 14 B1D4
4710 #pragma varlocate 14 B1D4bits
4711 #pragma varlocate 14 B1D5
4712 #pragma varlocate 14 B1D5bits
4713 #pragma varlocate 14 B1D6
4714 #pragma varlocate 14 B1D6bits
4715 #pragma varlocate 14 B1D7
4716 #pragma varlocate 14 B1D7bits
4717 #pragma varlocate 14 CANSTAT_RO8
4718 #pragma varlocate 14 CANSTAT_RO8bits
4719 #pragma varlocate 14 CANCON_RO8
4720 #pragma varlocate 14 CANCON_RO8bits
4721 #pragma varlocate 14 B2CON
4722 #pragma varlocate 14 B2CONbits
4723 #pragma varlocate 14 B2SIDH
4724 #pragma varlocate 14 B2SIDHbits
4725 #pragma varlocate 14 B2SIDL
4726 #pragma varlocate 14 B2SIDLbits
4727 #pragma varlocate 14 B2EIDH
4728 #pragma varlocate 14 B2EIDHbits
4729 #pragma varlocate 14 B2EIDL
4730 #pragma varlocate 14 B2EIDLbits
4731 #pragma varlocate 14 B2DLC
4732 #pragma varlocate 14 B2DLCbits
4733 #pragma varlocate 14 B2D0
4734 #pragma varlocate 14 B2D0bits
4735 #pragma varlocate 14 B2D1
4736 #pragma varlocate 14 B2D1bits
4737 #pragma varlocate 14 B2D2
4738 #pragma varlocate 14 B2D2bits
4739 #pragma varlocate 14 B2D3
4740 #pragma varlocate 14 B2D3bits
4741 #pragma varlocate 14 B2D4
4742 #pragma varlocate 14 B2D4bits
4743 #pragma varlocate 14 B2D5
4744 #pragma varlocate 14 B2D5bits
4745 #pragma varlocate 14 B2D6
4746 #pragma varlocate 14 B2D6bits
4747 #pragma varlocate 14 B2D7
4748 #pragma varlocate 14 B2D7bits
4749 #pragma varlocate 14 CANSTAT_RO7
4750 #pragma varlocate 14 CANSTAT_RO7bits
4751 #pragma varlocate 14 CANCON_RO7
4752 #pragma varlocate 14 CANCON_RO7bits
4753 #pragma varlocate 14 B3CON
4754 #pragma varlocate 14 B3CONbits
4755 #pragma varlocate 14 B3SIDH
4756 #pragma varlocate 14 B3SIDHbits
4757 #pragma varlocate 14 B3SIDL
4758 #pragma varlocate 14 B3SIDLbits
4759 #pragma varlocate 14 B3EIDH
4760 #pragma varlocate 14 B3EIDHbits
4761 #pragma varlocate 14 B3EIDL
4762 #pragma varlocate 14 B3EIDLbits
4763 #pragma varlocate 14 B3DLC
4764 #pragma varlocate 14 B3DLCbits
4765 #pragma varlocate 14 B3D0
4766 #pragma varlocate 14 B3D0bits
4767 #pragma varlocate 14 B3D1
4768 #pragma varlocate 14 B3D1bits
4769 #pragma varlocate 14 B3D2
4770 #pragma varlocate 14 B3D2bits
4771 #pragma varlocate 14 B3D3
4772 #pragma varlocate 14 B3D3bits
4773 #pragma varlocate 14 B3D4
4774 #pragma varlocate 14 B3D4bits
4775 #pragma varlocate 14 B3D5
4776 #pragma varlocate 14 B3D5bits
4777 #pragma varlocate 14 B3D6
4778 #pragma varlocate 14 B3D6bits
4779 #pragma varlocate 14 B3D7
4780 #pragma varlocate 14 B3D7bits
4781 #pragma varlocate 14 CANSTAT_RO6
4782 #pragma varlocate 14 CANSTAT_RO6bits
4783 #pragma varlocate 14 CANCON_RO6
4784 #pragma varlocate 14 CANCON_RO6bits
4785 #pragma varlocate 14 B4CON
4786 #pragma varlocate 14 B4CONbits
4787 #pragma varlocate 14 B4SIDH
4788 #pragma varlocate 14 B4SIDHbits
4789 #pragma varlocate 14 B4SIDL
4790 #pragma varlocate 14 B4SIDLbits
4791 #pragma varlocate 14 B4EIDH
4792 #pragma varlocate 14 B4EIDHbits
4793 #pragma varlocate 14 B4EIDL
4794 #pragma varlocate 14 B4EIDLbits
4795 #pragma varlocate 14 B4DLC
4796 #pragma varlocate 14 B4DLCbits
4797 #pragma varlocate 14 B4D0
4798 #pragma varlocate 14 B4D0bits
4799 #pragma varlocate 14 B4D1
4800 #pragma varlocate 14 B4D1bits
4801 #pragma varlocate 14 B4D2
4802 #pragma varlocate 14 B4D2bits
4803 #pragma varlocate 14 B4D3
4804 #pragma varlocate 14 B4D3bits
4805 #pragma varlocate 14 B4D4
4806 #pragma varlocate 14 B4D4bits
4807 #pragma varlocate 14 B4D5
4808 #pragma varlocate 14 B4D5bits
4809 #pragma varlocate 14 B4D6
4810 #pragma varlocate 14 B4D6bits
4811 #pragma varlocate 14 B4D7
4812 #pragma varlocate 14 B4D7bits
4813 #pragma varlocate 14 CANSTAT_RO5
4814 #pragma varlocate 14 CANSTAT_RO5bits
4815 #pragma varlocate 14 CANCON_RO5
4816 #pragma varlocate 14 CANCON_RO5bits
4817 #pragma varlocate 14 B5CON
4818 #pragma varlocate 14 B5CONbits
4819 #pragma varlocate 14 B5SIDH
4820 #pragma varlocate 14 B5SIDHbits
4821 #pragma varlocate 14 B5SIDL
4822 #pragma varlocate 14 B5SIDLbits
4823 #pragma varlocate 14 B5EIDH
4824 #pragma varlocate 14 B5EIDHbits
4825 #pragma varlocate 14 B5EIDL
4826 #pragma varlocate 14 B5EIDLbits
4827 #pragma varlocate 14 B5DLC
4828 #pragma varlocate 14 B5DLCbits
4829 #pragma varlocate 14 B5D0
4830 #pragma varlocate 14 B5D0bits
4831 #pragma varlocate 14 B5D1
4832 #pragma varlocate 14 B5D1bits
4833 #pragma varlocate 14 B5D2
4834 #pragma varlocate 14 B5D2bits
4835 #pragma varlocate 14 B5D3
4836 #pragma varlocate 14 B5D3bits
4837 #pragma varlocate 14 B5D4
4838 #pragma varlocate 14 B5D4bits
4839 #pragma varlocate 14 B5D5
4840 #pragma varlocate 14 B5D5bits
4841 #pragma varlocate 14 B5D6
4842 #pragma varlocate 14 B5D6bits
4843 #pragma varlocate 14 B5D7
4844 #pragma varlocate 14 B5D7bits
4845 #pragma varlocate 14 CANSTAT_RO4
4846 #pragma varlocate 14 CANSTAT_RO4bits
4847 #pragma varlocate 14 CANCON_RO4
4848 #pragma varlocate 14 CANCON_RO4bits
4849 #pragma varlocate 15 RXF0SIDH
4850 #pragma varlocate 15 RXF0SIDHbits
4851 #pragma varlocate 15 RXF0SIDL
4852 #pragma varlocate 15 RXF0SIDLbits
4853 #pragma varlocate 15 RXF0EIDH
4854 #pragma varlocate 15 RXF0EIDHbits
4855 #pragma varlocate 15 RXF0EIDL
4856 #pragma varlocate 15 RXF0EIDLbits
4857 #pragma varlocate 15 RXF1SIDH
4858 #pragma varlocate 15 RXF1SIDHbits
4859 #pragma varlocate 15 RXF1SIDL
4860 #pragma varlocate 15 RXF1SIDLbits
4861 #pragma varlocate 15 RXF1EIDH
4862 #pragma varlocate 15 RXF1EIDHbits
4863 #pragma varlocate 15 RXF1EIDL
4864 #pragma varlocate 15 RXF1EIDLbits
4865 #pragma varlocate 15 RXF2SIDH
4866 #pragma varlocate 15 RXF2SIDHbits
4867 #pragma varlocate 15 RXF2SIDL
4868 #pragma varlocate 15 RXF2SIDLbits
4869 #pragma varlocate 15 RXF2EIDH
4870 #pragma varlocate 15 RXF2EIDHbits
4871 #pragma varlocate 15 RXF2EIDL
4872 #pragma varlocate 15 RXF2EIDLbits
4873 #pragma varlocate 15 RXF3SIDH
4874 #pragma varlocate 15 RXF3SIDHbits
4875 #pragma varlocate 15 RXF3SIDL
4876 #pragma varlocate 15 RXF3SIDLbits
4877 #pragma varlocate 15 RXF3EIDH
4878 #pragma varlocate 15 RXF3EIDHbits
4879 #pragma varlocate 15 RXF3EIDL
4880 #pragma varlocate 15 RXF3EIDLbits
4881 #pragma varlocate 15 RXF4SIDH
4882 #pragma varlocate 15 RXF4SIDHbits
4883 #pragma varlocate 15 RXF4SIDL
4884 #pragma varlocate 15 RXF4SIDLbits
4885 #pragma varlocate 15 RXF4EIDH
4886 #pragma varlocate 15 RXF4EIDHbits
4887 #pragma varlocate 15 RXF4EIDL
4888 #pragma varlocate 15 RXF4EIDLbits
4889 #pragma varlocate 15 RXF5SIDH
4890 #pragma varlocate 15 RXF5SIDHbits
4891 #pragma varlocate 15 RXF5SIDL
4892 #pragma varlocate 15 RXF5SIDLbits
4893 #pragma varlocate 15 RXF5EIDH
4894 #pragma varlocate 15 RXF5EIDHbits
4895 #pragma varlocate 15 RXF5EIDL
4896 #pragma varlocate 15 RXF5EIDLbits
4897 #pragma varlocate 15 RXM0SIDH
4898 #pragma varlocate 15 RXM0SIDHbits
4899 #pragma varlocate 15 RXM0SIDL
4900 #pragma varlocate 15 RXM0SIDLbits
4901 #pragma varlocate 15 RXM0EIDH
4902 #pragma varlocate 15 RXM0EIDHbits
4903 #pragma varlocate 15 RXM0EIDL
4904 #pragma varlocate 15 RXM0EIDLbits
4905 #pragma varlocate 15 RXM1SIDH
4906 #pragma varlocate 15 RXM1SIDHbits
4907 #pragma varlocate 15 RXM1SIDL
4908 #pragma varlocate 15 RXM1SIDLbits
4909 #pragma varlocate 15 RXM1EIDH
4910 #pragma varlocate 15 RXM1EIDHbits
4911 #pragma varlocate 15 RXM1EIDL
4912 #pragma varlocate 15 RXM1EIDLbits
4913 #pragma varlocate 15 TXB2CON
4914 #pragma varlocate 15 TXB2CONbits
4915 #pragma varlocate 15 TXB2SIDH
4916 #pragma varlocate 15 TXB2SIDHbits
4917 #pragma varlocate 15 TXB2SIDL
4918 #pragma varlocate 15 TXB2SIDLbits
4919 #pragma varlocate 15 TXB2EIDH
4920 #pragma varlocate 15 TXB2EIDHbits
4921 #pragma varlocate 15 TXB2EIDL
4922 #pragma varlocate 15 TXB2EIDLbits
4923 #pragma varlocate 15 TXB2DLC
4924 #pragma varlocate 15 TXB2DLCbits
4925 #pragma varlocate 15 TXB2D0
4926 #pragma varlocate 15 TXB2D0bits
4927 #pragma varlocate 15 TXB2D1
4928 #pragma varlocate 15 TXB2D1bits
4929 #pragma varlocate 15 TXB2D2
4930 #pragma varlocate 15 TXB2D2bits
4931 #pragma varlocate 15 TXB2D3
4932 #pragma varlocate 15 TXB2D3bits
4933 #pragma varlocate 15 TXB2D4
4934 #pragma varlocate 15 TXB2D4bits
4935 #pragma varlocate 15 TXB2D5
4936 #pragma varlocate 15 TXB2D5bits
4937 #pragma varlocate 15 TXB2D6
4938 #pragma varlocate 15 TXB2D6bits
4939 #pragma varlocate 15 TXB2D7
4940 #pragma varlocate 15 TXB2D7bits
4941 #pragma varlocate 15 CANSTAT_RO3
4942 #pragma varlocate 15 CANSTAT_RO3bits
4943 #pragma varlocate 15 CANCON_RO3
4944 #pragma varlocate 15 CANCON_RO3bits
4945 #pragma varlocate 15 TXB1CON
4946 #pragma varlocate 15 TXB1CONbits
4947 #pragma varlocate 15 TXB1SIDH
4948 #pragma varlocate 15 TXB1SIDHbits
4949 #pragma varlocate 15 TXB1SIDL
4950 #pragma varlocate 15 TXB1SIDLbits
4951 #pragma varlocate 15 TXB1EIDH
4952 #pragma varlocate 15 TXB1EIDHbits
4953 #pragma varlocate 15 TXB1EIDL
4954 #pragma varlocate 15 TXB1EIDLbits
4955 #pragma varlocate 15 TXB1DLC
4956 #pragma varlocate 15 TXB1DLCbits
4957 #pragma varlocate 15 TXB1D0
4958 #pragma varlocate 15 TXB1D0bits
4959 #pragma varlocate 15 TXB1D1
4960 #pragma varlocate 15 TXB1D1bits
4961 #pragma varlocate 15 TXB1D2
4962 #pragma varlocate 15 TXB1D2bits
4963 #pragma varlocate 15 TXB1D3
4964 #pragma varlocate 15 TXB1D3bits
4965 #pragma varlocate 15 TXB1D4
4966 #pragma varlocate 15 TXB1D4bits
4967 #pragma varlocate 15 TXB1D5
4968 #pragma varlocate 15 TXB1D5bits
4969 #pragma varlocate 15 TXB1D6
4970 #pragma varlocate 15 TXB1D6bits
4971 #pragma varlocate 15 TXB1D7
4972 #pragma varlocate 15 TXB1D7bits
4973 #pragma varlocate 15 CANSTAT_RO2
4974 #pragma varlocate 15 CANSTAT_RO2bits
4975 #pragma varlocate 15 CANCON_RO2
4976 #pragma varlocate 15 CANCON_RO2bits
4977 #pragma varlocate 15 TXB0CON
4978 #pragma varlocate 15 TXB0CONbits
4979 #pragma varlocate 15 TXB0SIDH
4980 #pragma varlocate 15 TXB0SIDHbits
4981 #pragma varlocate 15 TXB0SIDL
4982 #pragma varlocate 15 TXB0SIDLbits
4983 #pragma varlocate 15 TXB0EIDH
4984 #pragma varlocate 15 TXB0EIDHbits
4985 #pragma varlocate 15 TXB0EIDL
4986 #pragma varlocate 15 TXB0EIDLbits
4987 #pragma varlocate 15 TXB0DLC
4988 #pragma varlocate 15 TXB0DLCbits
4989 #pragma varlocate 15 TXB0D0
4990 #pragma varlocate 15 TXB0D0bits
4991 #pragma varlocate 15 TXB0D1
4992 #pragma varlocate 15 TXB0D1bits
4993 #pragma varlocate 15 TXB0D2
4994 #pragma varlocate 15 TXB0D2bits
4995 #pragma varlocate 15 TXB0D3
4996 #pragma varlocate 15 TXB0D3bits
4997 #pragma varlocate 15 TXB0D4
4998 #pragma varlocate 15 TXB0D4bits
4999 #pragma varlocate 15 TXB0D5
5000 #pragma varlocate 15 TXB0D5bits
5001 #pragma varlocate 15 TXB0D6
5002 #pragma varlocate 15 TXB0D6bits
5003 #pragma varlocate 15 TXB0D7
5004 #pragma varlocate 15 TXB0D7bits
5005 #pragma varlocate 15 CANSTAT_RO1
5006 #pragma varlocate 15 CANSTAT_RO1bits
5007 #pragma varlocate 15 CANCON_RO1
5008 #pragma varlocate 15 CANCON_RO1bits
5009 #pragma varlocate 15 RXB1CON
5010 #pragma varlocate 15 RXB1CONbits
5011 #pragma varlocate 15 RXB1SIDH
5012 #pragma varlocate 15 RXB1SIDHbits
5013 #pragma varlocate 15 RXB1SIDL
5014 #pragma varlocate 15 RXB1SIDLbits
5015 #pragma varlocate 15 RXB1EIDH
5016 #pragma varlocate 15 RXB1EIDHbits
5017 #pragma varlocate 15 RXB1EIDL
5018 #pragma varlocate 15 RXB1EIDLbits
5019 #pragma varlocate 15 RXB1DLC
5020 #pragma varlocate 15 RXB1DLCbits
5021 #pragma varlocate 15 RXB1D0
5022 #pragma varlocate 15 RXB1D0bits
5023 #pragma varlocate 15 RXB1D1
5024 #pragma varlocate 15 RXB1D1bits
5025 #pragma varlocate 15 RXB1D2
5026 #pragma varlocate 15 RXB1D2bits
5027 #pragma varlocate 15 RXB1D3
5028 #pragma varlocate 15 RXB1D3bits
5029 #pragma varlocate 15 RXB1D4
5030 #pragma varlocate 15 RXB1D4bits
5031 #pragma varlocate 15 RXB1D5
5032 #pragma varlocate 15 RXB1D5bits
5033 #pragma varlocate 15 RXB1D6
5034 #pragma varlocate 15 RXB1D6bits
5035 #pragma varlocate 15 RXB1D7
5036 #pragma varlocate 15 RXB1D7bits
5037 #pragma varlocate 15 CANSTAT_RO0
5038 #pragma varlocate 15 CANSTAT_RO0bits
5039 #pragma varlocate 15 CANCON_RO0
5040 #pragma varlocate 15 CANCON_RO0bits
5041
5042
5043 #line 4978 "C:/MCC18/h/p18f4685.h"
5044
5045 #line 4980 "C:/MCC18/h/p18f4685.h"
5046 #line 4981 "C:/MCC18/h/p18f4685.h"
5047
5048
5049 #line 4984 "C:/MCC18/h/p18f4685.h"
5050
5051 #line 4986 "C:/MCC18/h/p18f4685.h"
5052 #line 4987 "C:/MCC18/h/p18f4685.h"
5053 #line 4988 "C:/MCC18/h/p18f4685.h"
5054 #line 4989 "C:/MCC18/h/p18f4685.h"
5055
5056 #line 4991 "C:/MCC18/h/p18f4685.h"
5057 #line 4992 "C:/MCC18/h/p18f4685.h"
5058 #line 4993 "C:/MCC18/h/p18f4685.h"
5059 #line 4994 "C:/MCC18/h/p18f4685.h"
5060 #line 4995 "C:/MCC18/h/p18f4685.h"
5061
5062
5063 #line 4999 "C:/MCC18/h/p18f4685.h"
5064
5065 #line 5001 "C:/MCC18/h/p18f4685.h"
5066
5067
5068 #line 5004 "C:/MCC18/h/p18f4685.h"
5069 #line 80 "p2_deco_main - 090915b.c"
5070
5071 #line 1 "C:/MCC18/h/math.h"
5072
5073
5074 #line 4 "C:/MCC18/h/math.h"
5075
5076 typedef float float_t;
5077 typedef float double_t;
5078
5079 #line 9 "C:/MCC18/h/math.h"
5080 #line 10 "C:/MCC18/h/math.h"
5081 #line 11 "C:/MCC18/h/math.h"
5082
5083 float fabs (auto float x);
5084 float ldexp (auto float x, auto int n);
5085 float exp (auto float f);
5086 float sqrt (auto float x);
5087 float asin (auto float x);
5088 float acos (auto float x);
5089 float atan2 (auto float y, auto float x);
5090 float atan (auto float x);
5091 float sin (auto float x);
5092 float cos (auto float x);
5093 float tan (auto float x);
5094 float sinh (auto float x);
5095 float cosh (auto float x);
5096 float tanh (auto float x);
5097 float frexp (auto float x, auto int *pexp);
5098 float log10 (auto float x);
5099 float log (auto float x);
5100 float pow (auto float x, auto float y);
5101 float ceil (auto float x);
5102 float floor (auto float x);
5103 float modf (auto float x, auto float *ipart);
5104 float fmod (auto float x, auto float y);
5105
5106 float mchptoieee (auto unsigned long v);
5107 unsigned long ieeetomchp (auto float v);
5108
5109 #line 39 "C:/MCC18/h/math.h"
5110 #line 81 "p2_deco_main - 090915b.c"
5111
5112
5113
5114
5115
5116
5117 #pragma config OSC = IRCIO67
5118 #pragma config FCMEN = OFF
5119 #pragma config IESO = OFF
5120 #pragma config PWRT = ON
5121 #pragma config BOREN = OFF
5122 #pragma config WDT = OFF
5123 #pragma config WDTPS = 128
5124 #pragma config MCLRE = ON
5125 #pragma config LPT1OSC = OFF
5126 #pragma config PBADEN = OFF
5127 #pragma config DEBUG = OFF
5128 #pragma config XINST = OFF
5129 #pragma config LVP = OFF
5130 #pragma config STVREN = OFF
5131
5132
5133
5134
5135
5136 #line 107 "p2_deco_main - 090915b.c"
5137 #line 108 "p2_deco_main - 090915b.c"
5138 #line 109 "p2_deco_main - 090915b.c"
5139
5140
5141 #line 112 "p2_deco_main - 090915b.c"
5142 #line 113 "p2_deco_main - 090915b.c"
5143 #line 114 "p2_deco_main - 090915b.c"
5144 #line 115 "p2_deco_main - 090915b.c"
5145
5146 #line 117 "p2_deco_main - 090915b.c"
5147 #line 118 "p2_deco_main - 090915b.c"
5148 #line 119 "p2_deco_main - 090915b.c"
5149 #line 120 "p2_deco_main - 090915b.c"
5150
5151 #line 122 "p2_deco_main - 090915b.c"
5152 #line 123 "p2_deco_main - 090915b.c"
5153 #line 124 "p2_deco_main - 090915b.c"
5154 #line 125 "p2_deco_main - 090915b.c"
5155
5156 #line 127 "p2_deco_main - 090915b.c"
5157 #line 128 "p2_deco_main - 090915b.c"
5158 #line 129 "p2_deco_main - 090915b.c"
5159 #line 130 "p2_deco_main - 090915b.c"
5160
5161
5162 #line 133 "p2_deco_main - 090915b.c"
5163 #line 134 "p2_deco_main - 090915b.c"
5164 #line 135 "p2_deco_main - 090915b.c"
5165 #line 136 "p2_deco_main - 090915b.c"
5166
5167 #line 138 "p2_deco_main - 090915b.c"
5168 #line 139 "p2_deco_main - 090915b.c"
5169 #line 140 "p2_deco_main - 090915b.c"
5170 #line 141 "p2_deco_main - 090915b.c"
5171
5172 #line 143 "p2_deco_main - 090915b.c"
5173 #line 144 "p2_deco_main - 090915b.c"
5174 #line 145 "p2_deco_main - 090915b.c"
5175 #line 146 "p2_deco_main - 090915b.c"
5176
5177 #line 148 "p2_deco_main - 090915b.c"
5178 #line 149 "p2_deco_main - 090915b.c"
5179 #line 150 "p2_deco_main - 090915b.c"
5180 #line 151 "p2_deco_main - 090915b.c"
5181
5182
5183 #line 154 "p2_deco_main - 090915b.c"
5184 #line 155 "p2_deco_main - 090915b.c"
5185 #line 156 "p2_deco_main - 090915b.c"
5186 #line 157 "p2_deco_main - 090915b.c"
5187
5188 #line 159 "p2_deco_main - 090915b.c"
5189 #line 160 "p2_deco_main - 090915b.c"
5190 #line 161 "p2_deco_main - 090915b.c"
5191 #line 162 "p2_deco_main - 090915b.c"
5192
5193 #line 164 "p2_deco_main - 090915b.c"
5194 #line 165 "p2_deco_main - 090915b.c"
5195 #line 166 "p2_deco_main - 090915b.c"
5196 #line 167 "p2_deco_main - 090915b.c"
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218 #line 189 "p2_deco_main - 090915b.c"
5219 #line 190 "p2_deco_main - 090915b.c"
5220 #line 191 "p2_deco_main - 090915b.c"
5221
5222 #line 193 "p2_deco_main - 090915b.c"
5223 #line 194 "p2_deco_main - 090915b.c"
5224
5225 #line 196 "p2_deco_main - 090915b.c"
5226 #line 197 "p2_deco_main - 090915b.c"
5227
5228
5229 #pragma udata bank0a=0x060
5230 volatile unsigned char wp_stringstore[26];
5231 volatile unsigned char wp_color1;
5232 volatile unsigned char wp_color2;
5233 volatile unsigned char wp_top;
5234 volatile unsigned char wp_leftx2;
5235 volatile unsigned char wp_font;
5236 volatile unsigned char wp_invert;
5237 volatile unsigned char wp_temp_U8;
5238
5239 #pragma udata bank0b=0x081
5240 volatile unsigned char wp_txtptr;
5241 volatile unsigned char wp_char;
5242 volatile unsigned char wp_command;
5243 volatile unsigned int wp_data_16bit;
5244 volatile unsigned char wp_data_8bit_one;
5245 volatile unsigned char wp_data_8bit_two;
5246 volatile unsigned int wp_start;
5247 volatile unsigned int wp_end;
5248 volatile unsigned int wp_i;
5249 volatile unsigned char wp_black;
5250
5251 volatile unsigned char wp_debug_U8;
5252
5253
5254 #pragma udata bank0c=0x0D0
5255 #line 226 "p2_deco_main - 090915b.c"
5256 volatile unsigned char keep_free_bank0[48 ];
5257
5258
5259 #pragma udata bank1=0x100
5260 #line 231 "p2_deco_main - 090915b.c"
5261 volatile unsigned char keep_free_bank1[256 ];
5262
5263 #pragma udata bank2a=0x200
5264
5265 static unsigned int int_O_tissue_for_debug[32];
5266 static unsigned int int_O_GF_spare____;
5267 static unsigned int int_O_GF_step;
5268 static unsigned int int_O_gtissue_limit;
5269 static unsigned int int_O_gtissue_press;
5270 static unsigned int int_O_limit_GF_low;
5271 static unsigned int int_O_gtissue_press_at_GF_low;
5272
5273
5274 #pragma udata bank2b=0x24E
5275 static unsigned char char_O_GF_low_pointer;
5276 static unsigned char char_O_actual_pointer;
5277 #pragma udata bank2c=0x250
5278 static unsigned char char_O_deco_table[32];
5279 #pragma udata bank2d=0x270
5280 static unsigned char char_I_table_deco_done[32];
5281 #pragma udata bank2e=0x290
5282 static unsigned int int_O_calc_tissue_call_counter;
5283
5284 unsigned char lock_GF_depth_list;
5285 static float temp_limit;
5286 static float GF_low;
5287 static float GF_high;
5288 static float GF_delta;
5289 static float GF_temp;
5290 static float GF_step;
5291 static float GF_step2;
5292 static float temp_pres_gtissue;
5293 static float temp_pres_gtissue_diff;
5294 static float temp_pres_gtissue_limit_GF_low;
5295 static float temp_pres_gtissue_limit_GF_low_below_surface;
5296 static unsigned int temp_depth_limit;
5297 static unsigned char temp_decotime;
5298 static unsigned char temp_gtissue_no;
5299 static unsigned int temp_depth_last_deco;
5300
5301 static unsigned char temp_depth_GF_low_meter;
5302 static unsigned char temp_depth_GF_low_number;
5303 static unsigned char internal_deco_pointer;
5304 static unsigned char internal_deco_table[32];
5305 static float temp_pres_deco_GF_low;
5306
5307 static unsigned int debug_temp;
5308
5309
5310 #pragma udata bank3a=0x300
5311 static char output[32];
5312
5313 #pragma udata bank3b=0x380
5314 volatile float pres_tissue_vault[32];
5315
5316 #pragma udata bank4a=0x400
5317
5318 unsigned char ci ;
5319 unsigned char x;
5320 unsigned int main_i;
5321 unsigned int int_temp;
5322 unsigned int int_temp_decostatus;
5323 static float pres_respiration;
5324 static float pres_surface;
5325 static float temp1;
5326 static float temp2;
5327 static float temp3;
5328 static float temp4;
5329 static float temp_deco;
5330 static float temp_atem;
5331 static float temp2_atem;
5332 static float temp_tissue;
5333 static float temp_surface;
5334 static float N2_ratio;
5335 static float He_ratio;
5336 static float temp_ratio;
5337 static float var_a;
5338 static float var2_a;
5339 static float var_b;
5340 static float var2_b;
5341 static float var_t05nc;
5342 static float var2_t05nc;
5343 static float var_e2secs;
5344 static float var2_e2secs;
5345 static float var_e1min;
5346 static float var2_e1min;
5347 static float var_halftimes;
5348 static float var2_halftimes;
5349 static float pres_gtissue_limit;
5350 static float temp_pres_gtissue_limit;
5351 static float actual_ppO2;
5352
5353 #pragma udata bank4b=0x480
5354 static float pres_tissue[32];
5355
5356 #pragma udata bank5=0x500
5357
5358
5359 static unsigned int int_I_pres_respiration;
5360 static unsigned int int_I_pres_surface;
5361 static unsigned int int_I_temp;
5362 static unsigned char char_I_temp;
5363 static unsigned char char_I_actual_ppO2;
5364 static unsigned int int_I_spare_3;
5365 static unsigned int int_I_spare_4;
5366 static unsigned int int_I_spare_5;
5367 static unsigned int int_I_spare_6;
5368 static unsigned char char_I_N2_ratio;
5369 static unsigned char char_I_He_ratio;
5370 static unsigned char char_I_saturation_multiplier;
5371 static unsigned char char_I_desaturation_multiplier;
5372 static unsigned char char_I_GF_High_percentage;
5373 static unsigned char char_I_GF_Low_percentage;
5374 static unsigned char char_I_spare;
5375 static unsigned char char_I_deco_distance;
5376 static unsigned char char_I_const_ppO2;
5377 static unsigned char char_I_deco_ppO2_change;
5378 static unsigned char char_I_deco_ppO2;
5379 static unsigned char char_I_deco_gas_change;
5380 static unsigned char char_I_deco_N2_ratio;
5381 static unsigned char char_I_deco_He_ratio;
5382 static unsigned char char_I_depth_last_deco;
5383 static unsigned char char_I_deco_model;
5384
5385 static unsigned int int_O_desaturation_time;
5386 static unsigned char char_O_nullzeit;
5387 static unsigned char char_O_deco_status;
5388 static unsigned char char_O_array_decotime[7];
5389 static unsigned char char_O_array_decodepth[6];
5390 static unsigned char char_O_ascenttime;
5391 static unsigned char char_O_gradient_factor;
5392 static unsigned char char_O_tissue_saturation[32];
5393 static unsigned char char_O_array_gradient_weighted[16];
5394 static unsigned char char_O_gtissue_no;
5395 static unsigned char char_O_diluent;
5396 static unsigned char char_O_CNS_fraction;
5397 static unsigned char char_O_relative_gradient_GF;
5398
5399
5400 static float pres_tissue_limit[16];
5401 static float sim_pres_tissue_limit[16];
5402 static float pres_diluent;
5403 static float deco_diluent;
5404 static float const_ppO2;
5405 static float deco_ppO2_change;
5406 static float deco_ppO2;
5407
5408 #pragma udata bank6=0x600
5409
5410 static float sim_pres_tissue[32];
5411 static float sim_pres_tissue_backup[32];
5412
5413
5414
5415
5416 #pragma udata bank8=0x800
5417 static char md_pi_subst[256];
5418
5419 #pragma udata bank9a=0x900
5420
5421 static char md_state[48];
5422 #pragma udata bank9b=0x930
5423
5424 static unsigned int int_O_DBS_bitfield;
5425 static unsigned int int_O_DBS2_bitfield;
5426 static unsigned int int_O_DBG_pre_bitfield;
5427 static unsigned int int_O_DBG_post_bitfield;
5428 static char char_O_NDL_at_20mtr;
5429
5430 static char md_t;
5431 static char md_buffer[16];
5432 static char md_cksum[16];
5433 static char md_i;
5434 static char md_j;
5435 static char md_temp;
5436 static unsigned int md_pointer;
5437 static float deco_N2_ratio;
5438 static float deco_He_ratio;
5439 static float calc_N2_ratio;
5440 static float calc_He_ratio;
5441 static float deco_gas_change;
5442 static float CNS_fraction;
5443 static float float_saturation_multiplier;
5444 static float float_desaturation_multiplier;
5445 static float float_deco_distance;
5446
5447 static unsigned char DBG_char_I_deco_model;
5448 static unsigned char DBG_char_I_depth_last_deco;
5449 static float DBG_pres_surface;
5450 static float DBG_GF_low;
5451 static float DBG_GF_high;
5452 static float DBG_const_ppO2;
5453 static float DBG_deco_ppO2_change;
5454 static float DBG_deco_ppO2;
5455 static float DBG_deco_N2_ratio;
5456 static float DBG_deco_He_ratio;
5457 static float DBG_deco_gas_change;
5458 static float DBG_float_saturation_multiplier;
5459 static float DBG_float_desaturation_multiplier;
5460 static float DBG_float_deco_distance;
5461 static float DBG_deco_N2_ratio;
5462 static float DBG_deco_He_ratio;
5463 static float DBG_N2_ratio;
5464 static float DBG_He_ratio;
5465 static char flag_in_divemode;
5466 static int int_dbg_i;
5467 unsigned int temp_DBS;
5468
5469
5470
5471
5472 void main_calc_hauptroutine(void);
5473 void main_calc_without_deco(void);
5474 void main_clear_tissue(void);
5475 void main_calc_percentage(void);
5476 void main_calc_wo_deco_step_1_min(void);
5477 void main_debug(void);
5478 void main_gradient_array(void);
5479 void main_hash(void);
5480
5481 void calc_hauptroutine(void);
5482 void calc_tissue(void);
5483 void calc_nullzeit(void);
5484 void backup_sim_pres_tissue(void);
5485 void restore_sim_pres_tissue(void);
5486
5487 void calc_without_deco(void);
5488 void clear_tissue(void);
5489 void calc_ascenttime(void);
5490 void update_startvalues(void);
5491 void clear_decoarray(void);
5492 void update_decoarray(void);
5493 void sim_tissue_1min(void);
5494 void sim_tissue_10min(void);
5495 void calc_gradient_factor(void);
5496 void calc_gradient_array_only(void);
5497 void calc_desaturation_time(void);
5498 void calc_wo_deco_step_1_min(void);
5499 void calc_tissue_step_1_min(void);
5500 void hash(void);
5501 void clear_CNS_fraction(void);
5502 void calc_CNS_fraction(void);
5503 void calc_CNS_decrease_15min(void);
5504 void calc_percentage(void);
5505 void main(void);
5506 void calc_hauptroutine_data_input(void);
5507 void calc_hauptroutine_update_tissues(void);
5508 void calc_hauptroutine_calc_deco(void);
5509 void calc_hauptroutine_calc_ascend_to_deco(void);
5510 void calc_nextdecodepth_GF(void);
5511 void copy_deco_table_GF(void);
5512 void clear_internal_deco_table_GF(void);
5513 void update_internal_deco_table_GF(void);
5514 void push_tissues_to_vault(void);
5515 void pull_tissues_from_vault(void);
5516 void main_push_tissues_to_vault(void);
5517 void main_pull_tissues_from_vault(void);
5518 void wordprocessor(void);
5519
5520
5521
5522
5523
5524 #pragma romdata der_code = 0x0000
5525 #pragma code der_start = 0x0000
5526 void der_start(void)
5527 {
5528 _asm
5529 goto main
5530 _endasm
5531 }
5532
5533
5534
5535
5536
5537
5538 #pragma code main = 0x9000
5539 void main(void)
5540 {
5541 for(wp_temp_U8=0;wp_temp_U8<48 - 1;wp_temp_U8++)
5542 keep_free_bank0[wp_temp_U8] = 7;
5543 keep_free_bank0[48 - 1] = 7;
5544
5545 for(wp_temp_U8=0;wp_temp_U8<256 - 1;wp_temp_U8++)
5546 keep_free_bank1[wp_temp_U8] = 7;
5547 keep_free_bank1[256 - 1] = 7;
5548
5549 #line 520 "p2_deco_main - 090915b.c"
5550
5551
5552 wp_top = 10;
5553 wp_leftx2 = 10;
5554 wp_color1 = 255;
5555 wp_color2 = 255;
5556 wp_font = 0;
5557 wp_invert = 0;
5558 wp_stringstore[0] = ' ';
5559 wp_stringstore[1] = '!';
5560 wp_stringstore[2] = '"';
5561 wp_stringstore[3] = ':';
5562 wp_stringstore[4] = 0;
5563 wordprocessor();
5564
5565 GF_low = 1.0;
5566 GF_high = 1.0;
5567
5568 GF_temp = GF_low * GF_high;
5569
5570 clear_CNS_fraction();
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580 int_I_pres_respiration = 1000;
5581 int_I_pres_surface = 1000;
5582 char_I_N2_ratio = 39;
5583 char_I_He_ratio = 40;
5584 char_I_deco_distance = 0;
5585 char_I_depth_last_deco = 3;
5586
5587 char_I_const_ppO2 = 0;
5588 char_I_deco_ppO2_change = 0;
5589 char_I_deco_ppO2 = 0;
5590
5591 char_I_deco_gas_change = 0;
5592 char_I_deco_N2_ratio = 0;
5593 char_I_deco_He_ratio = 0;
5594
5595
5596 char_I_GF_High_percentage = 100;
5597 char_I_GF_Low_percentage = 100;
5598
5599 char_I_saturation_multiplier = 110;
5600 char_I_desaturation_multiplier = 90;
5601
5602 char_I_deco_model = 0;
5603
5604 main_clear_tissue();
5605
5606 int_I_pres_respiration = 1000 + int_I_pres_surface;
5607 main_calc_wo_deco_step_1_min();
5608 int_I_pres_respiration = 3000 + int_I_pres_surface;
5609 main_calc_wo_deco_step_1_min();
5610 int_I_pres_respiration = 5000 + int_I_pres_surface;
5611 main_calc_wo_deco_step_1_min();
5612
5613
5614 #line 587 "p2_deco_main - 090915b.c"
5615
5616
5617 char_O_deco_status = 255;
5618 while (char_O_deco_status)
5619 main_calc_hauptroutine();
5620 _asm
5621 nop
5622 _endasm
5623
5624 for (main_i=0;main_i<50;main_i++)
5625 {
5626 main_calc_hauptroutine();
5627 }
5628 int_I_pres_respiration = 10000;
5629 for (main_i=0;main_i<1500;main_i++)
5630 {
5631 main_calc_hauptroutine();
5632 }
5633
5634 _asm
5635 nop
5636 _endasm
5637
5638
5639 int_I_pres_respiration = 3000;
5640 for (main_i=0;main_i<150;main_i++)
5641 {
5642 calc_hauptroutine_data_input();
5643 calc_hauptroutine_update_tissues();
5644 }
5645
5646 update_startvalues();
5647 clear_decoarray();
5648 clear_internal_deco_table_GF();
5649 calc_hauptroutine_calc_ascend_to_deco();
5650 if (char_O_deco_status > 15)
5651 {
5652 char_O_deco_status = 2;
5653
5654 }
5655 else
5656 {
5657
5658 calc_hauptroutine_calc_deco();
5659 }
5660
5661
5662 _asm
5663 nop
5664 _endasm
5665 while (char_O_deco_status == 1)
5666 {
5667 char_O_deco_status = 0;
5668
5669 calc_hauptroutine_calc_deco();
5670
5671 _asm
5672 nop
5673 _endasm
5674 };
5675 debug_temp = 60;
5676 int_I_pres_respiration = 9980;
5677 for (main_i=0;main_i<debug_temp;main_i++)
5678 {
5679 int_I_pres_respiration = int_I_pres_respiration - 33;
5680 calc_hauptroutine_data_input();
5681 calc_hauptroutine_update_tissues();
5682 int_I_pres_respiration = int_I_pres_respiration - 33;
5683 calc_hauptroutine_data_input();
5684 calc_hauptroutine_update_tissues();
5685 int_I_pres_respiration = int_I_pres_respiration - 34;
5686 calc_hauptroutine_data_input();
5687 calc_hauptroutine_update_tissues();
5688 }
5689 _asm
5690 nop
5691 _endasm
5692
5693 update_startvalues();
5694 clear_decoarray();
5695 clear_internal_deco_table_GF();
5696 calc_hauptroutine_calc_ascend_to_deco();
5697 if (char_O_deco_status > 15)
5698 {
5699 char_O_deco_status = 2;
5700
5701 }
5702 else
5703 {
5704
5705 calc_hauptroutine_calc_deco();
5706 }
5707
5708
5709 _asm
5710 nop
5711 _endasm
5712 while (char_O_deco_status == 1)
5713 {
5714 char_O_deco_status = 0;
5715
5716 calc_hauptroutine_calc_deco();
5717
5718 _asm
5719 nop
5720 _endasm
5721 };
5722 _asm
5723 nop
5724 _endasm
5725 debug_temp = 60;
5726 int_I_pres_respiration = 9980;
5727 debug_temp = debug_temp * 3;
5728 for (main_i=0;main_i<debug_temp;main_i++)
5729 {
5730 calc_hauptroutine_data_input();
5731 calc_hauptroutine_update_tissues();
5732 }
5733 _asm
5734 nop
5735 _endasm
5736 #line 709 "p2_deco_main - 090915b.c"
5737
5738
5739 }
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755 #pragma romdata font_data_small = 0x0A0C4
5756 rom const rom unsigned int wp_small_data[] =
5757 {
5758 #line 1 "./ostc28.drx.txt"
5759 0xF803
5760 ,0x8A01
5761 ,0x850C
5762 ,0x8202
5763 ,0x850A
5764 ,0x8302
5765 ,0xFF94
5766 ,0xCD00
5767 ,0x9105
5768 ,0x9103
5769 ,0xC701
5770 ,0x9105
5771 ,0x9103
5772 ,0xDA9D
5773 ,0x0183
5774 ,0x018F
5775 ,0x0183
5776 ,0x018F
5777 ,0x0183
5778 ,0x0688
5779 ,0x0D87
5780 ,0x0781
5781 ,0x018F
5782 ,0x0183
5783 ,0x018F
5784 ,0x0183
5785 ,0x018F
5786 ,0x0182
5787 ,0x0786
5788 ,0x0D89
5789 ,0x0583
5790 ,0x018F
5791 ,0x0183
5792 ,0x018F
5793 ,0x0183
5794 ,0x00A2
5795 ,0xB402
5796 ,0x8601
5797 ,0x8A04
5798 ,0x8601
5799 ,0x8801
5800 ,0x8102
5801 ,0x8501
5802 ,0x8800
5803 ,0x8301
5804 ,0x8600
5805 ,0x8702
5806 ,0x8202
5807 ,0x8501
5808 ,0x8512
5809 ,0x8501
5810 ,0x8402
5811 ,0x8401
5812 ,0x8700
5813 ,0x8501
5814 ,0x8301
5815 ,0x8801
5816 ,0x8402
5817 ,0x8201
5818 ,0x8901
5819 ,0x8405
5820 ,0x9203
5821 ,0x9F9A
5822 ,0x0392
5823 ,0x0588
5824 ,0x0185
5825 ,0x0183
5826 ,0x0185
5827 ,0x0286
5828 ,0x0183
5829 ,0x0084
5830 ,0x0289
5831 ,0x0582
5832 ,0x038B
5833 ,0x0382
5834 ,0x0292
5835 ,0x0282
5836 ,0x028C
5837 ,0x0283
5838 ,0x0489
5839 ,0x0284
5840 ,0x0182
5841 ,0x0186
5842 ,0x0385
5843 ,0x0183
5844 ,0x0086
5845 ,0x0187
5846 ,0x0182
5847 ,0x0191
5848 ,0x049D
5849 ,0xA403
5850 ,0x9106
5851 ,0x8804
5852 ,0x8102
5853 ,0x8202
5854 ,0x8608
5855 ,0x8501
5856 ,0x8600
5857 ,0x8402
5858 ,0x8501
5859 ,0x8600
5860 ,0x8403
5861 ,0x8401
5862 ,0x8601
5863 ,0x8205
5864 ,0x8301
5865 ,0x8606
5866 ,0x8202
5867 ,0x8001
5868 ,0x8803
5869 ,0x8503
5870 ,0x9402
5871 ,0x9206
5872 ,0x9001
5873 ,0x8200
5874 ,0x9DFF
5875 ,0x9401
5876 ,0x9006
5877 ,0x9102
5878 ,0xFF8B
5879 ,0xE707
5880 ,0x8C0C
5881 ,0x8903
5882 ,0x8703
5883 ,0x8602
5884 ,0x8B02
5885 ,0x8401
5886 ,0x8E02
5887 ,0x8201
5888 ,0x9101
5889 ,0x8101
5890 ,0x9102
5891 ,0x8000
5892 ,0x9300
5893 ,0xB0B0
5894 ,0x0093
5895 ,0x0081
5896 ,0x0191
5897 ,0x0181
5898 ,0x028F
5899 ,0x0282
5900 ,0x028D
5901 ,0x0284
5902 ,0x028B
5903 ,0x0286
5904 ,0x0387
5905 ,0x0389
5906 ,0x0B8D
5907 ,0x07E7
5908 ,0x9F00
5909 ,0x9601
5910 ,0x9501
5911 ,0x8202
5912 ,0x9000
5913 ,0x8102
5914 ,0x9104
5915 ,0x8D07
5916 ,0x8F07
5917 ,0x9404
5918 ,0x9200
5919 ,0x8102
5920 ,0x9001
5921 ,0x8301
5922 ,0x8F01
5923 ,0x9500
5924 ,0xA6A0
5925 ,0x0195
5926 ,0x0195
5927 ,0x0195
5928 ,0x0195
5929 ,0x0191
5930 ,0x0A8B
5931 ,0x0B90
5932 ,0x0195
5933 ,0x0195
5934 ,0x0195
5935 ,0x0195
5936 ,0x01A4
5937 ,0xFF88
5938 ,0x0182
5939 ,0x018F
5940 ,0x0690
5941 ,0x0494
5942 ,0x00FC
5943 ,0xB801
5944 ,0x9501
5945 ,0x9501
5946 ,0x9501
5947 ,0x9501
5948 ,0x9501
5949 ,0x9501
5950 ,0x9501
5951 ,0x9501
5952 ,0x9501
5953 ,0xBCFF
5954 ,0x8701
5955 ,0x9502
5956 ,0x9402
5957 ,0xFF94
5958 ,0xC101
5959 ,0x9303
5960 ,0x9004
5961 ,0x9004
5962 ,0x9004
5963 ,0x9003
5964 ,0x9103
5965 ,0x9103
5966 ,0x9103
5967 ,0x9301
5968 ,0xC4A0
5969 ,0x0290
5970 ,0x0A8B
5971 ,0x0285
5972 ,0x0389
5973 ,0x0186
5974 ,0x0587
5975 ,0x0186
5976 ,0x0183
5977 ,0x0186
5978 ,0x0086
5979 ,0x0184
5980 ,0x0186
5981 ,0x0084
5982 ,0x0285
5983 ,0x0186
5984 ,0x0182
5985 ,0x0286
5986 ,0x0186
5987 ,0x0280
5988 ,0x0187
5989 ,0x0188
5990 ,0x0484
5991 ,0x038B
5992 ,0x0A90
5993 ,0x02A3
5994 ,0xCA01
5995 ,0x9501
5996 ,0x9401
5997 ,0x9510
5998 ,0x8610
5999 ,0xFF94
6000 ,0xB300
6001 ,0x8B01
6002 ,0x8701
6003 ,0x8903
6004 ,0x8601
6005 ,0x8904
6006 ,0x8601
6007 ,0x8802
6008 ,0x8001
6009 ,0x8600
6010 ,0x8801
6011 ,0x8201
6012 ,0x8600
6013 ,0x8701
6014 ,0x8301
6015 ,0x8601
6016 ,0x8501
6017 ,0x8401
6018 ,0x8602
6019 ,0x8301
6020 ,0x8501
6021 ,0x8706
6022 ,0x8601
6023 ,0x8804
6024 ,0x8701
6025 ,0xB4BF
6026 ,0x0188
6027 ,0x008B
6028 ,0x0187
6029 ,0x018C
6030 ,0x0186
6031 ,0x0085
6032 ,0x0185
6033 ,0x0186
6034 ,0x0085
6035 ,0x0185
6036 ,0x0186
6037 ,0x0085
6038 ,0x0185
6039 ,0x0186
6040 ,0x0183
6041 ,0x0285
6042 ,0x0186
6043 ,0x0281
6044 ,0x0180
6045 ,0x0183
6046 ,0x0188
6047 ,0x0482
6048 ,0x0592
6049 ,0x03B7
6050 ,0xA400
6051 ,0x9402
6052 ,0x9204
6053 ,0x9102
6054 ,0x8001
6055 ,0x8F02
6056 ,0x8201
6057 ,0x8E02
6058 ,0x8301
6059 ,0x8C02
6060 ,0x8501
6061 ,0x8B10
6062 ,0x8610
6063 ,0x9002
6064 ,0x9401
6065 ,0x9600
6066 ,0xA1B7
6067 ,0x0185
6068 ,0x0088
6069 ,0x0883
6070 ,0x0287
6071 ,0x0282
6072 ,0x0185
6073 ,0x0187
6074 ,0x0084
6075 ,0x0087
6076 ,0x0186
6077 ,0x0084
6078 ,0x0087
6079 ,0x0186
6080 ,0x0084
6081 ,0x0087
6082 ,0x0186
6083 ,0x0084
6084 ,0x0186
6085 ,0x0186
6086 ,0x0084
6087 ,0x0185
6088 ,0x0187
6089 ,0x0085
6090 ,0x0887
6091 ,0x0086
6092 ,0x06B6
6093 ,0xB508
6094 ,0x8C0C
6095 ,0x8902
6096 ,0x8201
6097 ,0x8302
6098 ,0x8701
6099 ,0x8301
6100 ,0x8601
6101 ,0x8601
6102 ,0x8301
6103 ,0x8601
6104 ,0x8600
6105 ,0x8400
6106 ,0x8701
6107 ,0x8600
6108 ,0x8401
6109 ,0x8601
6110 ,0x8601
6111 ,0x8302
6112 ,0x8401
6113 ,0x8701
6114 ,0x8408
6115 ,0x8F05
6116 ,0xB7B1
6117 ,0x0096
6118 ,0x0096
6119 ,0x008D
6120 ,0x0186
6121 ,0x008A
6122 ,0x0486
6123 ,0x0087
6124 ,0x0588
6125 ,0x0085
6126 ,0x048B
6127 ,0x0082
6128 ,0x058D
6129 ,0x0690
6130 ,0x0393
6131 ,0x01C3
6132 ,0xBB04
6133 ,0x8904
6134 ,0x8206
6135 ,0x8702
6136 ,0x8002
6137 ,0x8001
6138 ,0x8301
6139 ,0x8701
6140 ,0x8302
6141 ,0x8501
6142 ,0x8600
6143 ,0x8501
6144 ,0x8501
6145 ,0x8600
6146 ,0x8501
6147 ,0x8501
6148 ,0x8601
6149 ,0x8302
6150 ,0x8501
6151 ,0x8602
6152 ,0x8101
6153 ,0x8001
6154 ,0x8301
6155 ,0x8805
6156 ,0x8106
6157 ,0x8902
6158 ,0x8404
6159 ,0xB6B3
6160 ,0x0586
6161 ,0x0088
6162 ,0x0784
6163 ,0x0187
6164 ,0x0284
6165 ,0x0184
6166 ,0x0186
6167 ,0x0186
6168 ,0x0084
6169 ,0x0186
6170 ,0x0087
6171 ,0x0183
6172 ,0x0186
6173 ,0x0087
6174 ,0x0084
6175 ,0x0186
6176 ,0x0185
6177 ,0x0183
6178 ,0x0187
6179 ,0x0284
6180 ,0x0182
6181 ,0x0288
6182 ,0x0D8B
6183 ,0x09B8
6184 ,0xFE01
6185 ,0x8601
6186 ,0x8C02
6187 ,0x8502
6188 ,0x8B02
6189 ,0x8502
6190 ,0xFF94
6191 ,0xFF01
6192 ,0x8601
6193 ,0x8201
6194 ,0x8602
6195 ,0x8506
6196 ,0x8702
6197 ,0x8504
6198 ,0x9400
6199 ,0xFCA0
6200 ,0x0195
6201 ,0x0293
6202 ,0x0393
6203 ,0x0081
6204 ,0x0191
6205 ,0x0181
6206 ,0x0190
6207 ,0x0183
6208 ,0x018F
6209 ,0x0184
6210 ,0x018D
6211 ,0x0185
6212 ,0x018D
6213 ,0x0186
6214 ,0x018B
6215 ,0x0187
6216 ,0x018B
6217 ,0x0188
6218 ,0x0189
6219 ,0x0189
6220 ,0x019E
6221 ,0x9E00
6222 ,0x8400
6223 ,0x9000
6224 ,0x8400
6225 ,0x9000
6226 ,0x8400
6227 ,0x9000
6228 ,0x8400
6229 ,0x9000
6230 ,0x8400
6231 ,0x9000
6232 ,0x8400
6233 ,0x9000
6234 ,0x8400
6235 ,0x9000
6236 ,0x8400
6237 ,0x9000
6238 ,0x8400
6239 ,0x9000
6240 ,0x8400
6241 ,0x9000
6242 ,0x8400
6243 ,0x9000
6244 ,0x8400
6245 ,0xA19A
6246 ,0x0189
6247 ,0x018A
6248 ,0x0188
6249 ,0x018A
6250 ,0x0187
6251 ,0x018C
6252 ,0x0186
6253 ,0x018C
6254 ,0x0185
6255 ,0x018E
6256 ,0x0184
6257 ,0x018E
6258 ,0x0183
6259 ,0x0190
6260 ,0x0181
6261 ,0x0192
6262 ,0x0081
6263 ,0x0192
6264 ,0x0394
6265 ,0x0294
6266 ,0x01A4
6267 ,0xB101
6268 ,0x9501
6269 ,0x9401
6270 ,0x9501
6271 ,0x9401
6272 ,0x8801
6273 ,0x8202
6274 ,0x8401
6275 ,0x8604
6276 ,0x8102
6277 ,0x8501
6278 ,0x8402
6279 ,0x8401
6280 ,0x8602
6281 ,0x8202
6282 ,0x8F06
6283 ,0x9104
6284 ,0xBF9D
6285 ,0x078D
6286 ,0x0481
6287 ,0x048A
6288 ,0x0287
6289 ,0x0288
6290 ,0x018B
6291 ,0x0187
6292 ,0x0184
6293 ,0x0383
6294 ,0x0087
6295 ,0x0084
6296 ,0x0582
6297 ,0x0186
6298 ,0x0083
6299 ,0x0182
6300 ,0x0182
6301 ,0x0186
6302 ,0x0083
6303 ,0x0084
6304 ,0x0082
6305 ,0x0186
6306 ,0x0182
6307 ,0x0084
6308 ,0x0082
6309 ,0x0186
6310 ,0x0281
6311 ,0x0083
6312 ,0x0182
6313 ,0x0187
6314 ,0x0A82
6315 ,0x008A
6316 ,0x08A1
6317 ,0xA702
6318 ,0x9104
6319 ,0x8F04
6320 ,0x8F06
6321 ,0x8D04
6322 ,0x8201
6323 ,0x8B03
6324 ,0x8501
6325 ,0x8C04
6326 ,0x8301
6327 ,0x8F04
6328 ,0x8001
6329 ,0x9105
6330 ,0x9404
6331 ,0x9504
6332 ,0x9402
6333 ,0x9C99
6334 ,0x1086
6335 ,0x1086
6336 ,0x0085
6337 ,0x0185
6338 ,0x0186
6339 ,0x0085
6340 ,0x0086
6341 ,0x0186
6342 ,0x0085
6343 ,0x0086
6344 ,0x0186
6345 ,0x0085
6346 ,0x0086
6347 ,0x0186
6348 ,0x0085
6349 ,0x0185
6350 ,0x0186
6351 ,0x0183
6352 ,0x0285
6353 ,0x0186
6354 ,0x0183
6355 ,0x0284
6356 ,0x0287
6357 ,0x0580
6358 ,0x0281
6359 ,0x0289
6360 ,0x0382
6361 ,0x0593
6362 ,0x029F
6363 ,0x9E06
6364 ,0x8E0A
6365 ,0x8A03
6366 ,0x8503
6367 ,0x8901
6368 ,0x8902
6369 ,0x8701
6370 ,0x8B02
6371 ,0x8600
6372 ,0x8D01
6373 ,0x8600
6374 ,0x8D01
6375 ,0x8600
6376 ,0x8D01
6377 ,0x8601
6378 ,0x8C01
6379 ,0x8601
6380 ,0x8B01
6381 ,0x8802
6382 ,0x8802
6383 ,0x8900
6384 ,0x8A00
6385 ,0x9E99
6386 ,0x1086
6387 ,0x1086
6388 ,0x008D
6389 ,0x0186
6390 ,0x008D
6391 ,0x0186
6392 ,0x008D
6393 ,0x0186
6394 ,0x008D
6395 ,0x0186
6396 ,0x018C
6397 ,0x0186
6398 ,0x018C
6399 ,0x0186
6400 ,0x028A
6401 ,0x0188
6402 ,0x0386
6403 ,0x028B
6404 ,0x0A8E
6405 ,0x05A2
6406 ,0xB110
6407 ,0x8610
6408 ,0x8600
6409 ,0x8501
6410 ,0x8501
6411 ,0x8600
6412 ,0x8501
6413 ,0x8501
6414 ,0x8600
6415 ,0x8501
6416 ,0x8501
6417 ,0x8600
6418 ,0x8501
6419 ,0x8501
6420 ,0x8600
6421 ,0x8501
6422 ,0x8501
6423 ,0x8600
6424 ,0x8501
6425 ,0x8501
6426 ,0x8600
6427 ,0x8501
6428 ,0x8501
6429 ,0x8600
6430 ,0x8D01
6431 ,0xB4B1
6432 ,0x1086
6433 ,0x1086
6434 ,0x0085
6435 ,0x018E
6436 ,0x0085
6437 ,0x008F
6438 ,0x0085
6439 ,0x008F
6440 ,0x0085
6441 ,0x008F
6442 ,0x0085
6443 ,0x008F
6444 ,0x0085
6445 ,0x008F
6446 ,0x0085
6447 ,0x008F
6448 ,0x00C4
6449 ,0x9E06
6450 ,0x8D0B
6451 ,0x8A02
6452 ,0x8702
6453 ,0x8802
6454 ,0x8A01
6455 ,0x8701
6456 ,0x8C01
6457 ,0x8600
6458 ,0x8D01
6459 ,0x8600
6460 ,0x8D01
6461 ,0x8600
6462 ,0x8700
6463 ,0x8401
6464 ,0x8601
6465 ,0x8600
6466 ,0x8401
6467 ,0x8601
6468 ,0x8600
6469 ,0x8400
6470 ,0x8802
6471 ,0x8406
6472 ,0x8900
6473 ,0x8505
6474 ,0x9EB1
6475 ,0x1086
6476 ,0x108D
6477 ,0x0195
6478 ,0x0195
6479 ,0x0195
6480 ,0x0195
6481 ,0x0195
6482 ,0x018E
6483 ,0x1086
6484 ,0x10B4
6485 ,0xB100
6486 ,0x8E00
6487 ,0x8600
6488 ,0x8D01
6489 ,0x8600
6490 ,0x8D01
6491 ,0x8600
6492 ,0x8D01
6493 ,0x8610
6494 ,0x8610
6495 ,0x8600
6496 ,0x8D01
6497 ,0x8600
6498 ,0x8D01
6499 ,0x8600
6500 ,0x8D01
6501 ,0xCCBF
6502 ,0x0196
6503 ,0x0195
6504 ,0x0186
6505 ,0x008D
6506 ,0x0186
6507 ,0x008D
6508 ,0x0186
6509 ,0x008C
6510 ,0x0187
6511 ,0x0F87
6512 ,0x0D89
6513 ,0x0096
6514 ,0x0096
6515 ,0x00AC
6516 ,0x9910
6517 ,0x8610
6518 ,0x8D02
6519 ,0x9302
6520 ,0x9304
6521 ,0x9102
6522 ,0x8002
6523 ,0x8F02
6524 ,0x8202
6525 ,0x8D01
6526 ,0x8503
6527 ,0x8A01
6528 ,0x8802
6529 ,0x8801
6530 ,0x8A03
6531 ,0x8600
6532 ,0x8D01
6533 ,0x9600
6534 ,0x9CB1
6535 ,0x1086
6536 ,0x1095
6537 ,0x0195
6538 ,0x0195
6539 ,0x0195
6540 ,0x0195
6541 ,0x0195
6542 ,0x0195
6543 ,0x0195
6544 ,0x01B4
6545 ,0x9910
6546 ,0x8610
6547 ,0x8703
6548 ,0x9503
6549 ,0x9503
6550 ,0x9503
6551 ,0x9302
6552 ,0x9202
6553 ,0x9203
6554 ,0x9103
6555 ,0x9210
6556 ,0x8610
6557 ,0x9C99
6558 ,0x1086
6559 ,0x1086
6560 ,0x0395
6561 ,0x0295
6562 ,0x0395
6563 ,0x0395
6564 ,0x0395
6565 ,0x0395
6566 ,0x0295
6567 ,0x0387
6568 ,0x1086
6569 ,0x109C
6570 ,0x9D08
6571 ,0x8C0C
6572 ,0x8902
6573 ,0x8703
6574 ,0x8701
6575 ,0x8B01
6576 ,0x8701
6577 ,0x8C01
6578 ,0x8600
6579 ,0x8D01
6580 ,0x8600
6581 ,0x8D01
6582 ,0x8601
6583 ,0x8C01
6584 ,0x8601
6585 ,0x8B01
6586 ,0x8802
6587 ,0x8802
6588 ,0x890C
6589 ,0x8C08
6590 ,0xA0B1
6591 ,0x1086
6592 ,0x1086
6593 ,0x0086
6594 ,0x008E
6595 ,0x0086
6596 ,0x008E
6597 ,0x0086
6598 ,0x008E
6599 ,0x0086
6600 ,0x008E
6601 ,0x0184
6602 ,0x018E
6603 ,0x0184
6604 ,0x018E
6605 ,0x0282
6606 ,0x028F
6607 ,0x0692
6608 ,0x02A7
6609 ,0x9D08
6610 ,0x8C0C
6611 ,0x8902
6612 ,0x8802
6613 ,0x8701
6614 ,0x8B02
6615 ,0x8601
6616 ,0x8C01
6617 ,0x8600
6618 ,0x8E02
6619 ,0x8400
6620 ,0x8E04
6621 ,0x8201
6622 ,0x8C01
6623 ,0x8101
6624 ,0x8201
6625 ,0x8C01
6626 ,0x8101
6627 ,0x8302
6628 ,0x8802
6629 ,0x8201
6630 ,0x840C
6631 ,0x8301
6632 ,0x8608
6633 ,0xA0B1
6634 ,0x1086
6635 ,0x1086
6636 ,0x0086
6637 ,0x008E
6638 ,0x0086
6639 ,0x008E
6640 ,0x0086
6641 ,0x008E
6642 ,0x0086
6643 ,0x018D
6644 ,0x0184
6645 ,0x048B
6646 ,0x0184
6647 ,0x0180
6648 ,0x0389
6649 ,0x0783
6650 ,0x0388
6651 ,0x0586
6652 ,0x028A
6653 ,0x008A
6654 ,0x009C
6655 ,0xB303
6656 ,0x8602
6657 ,0x8805
6658 ,0x8601
6659 ,0x8701
6660 ,0x8202
6661 ,0x8601
6662 ,0x8601
6663 ,0x8301
6664 ,0x8601
6665 ,0x8600
6666 ,0x8501
6667 ,0x8501
6668 ,0x8600
6669 ,0x8501
6670 ,0x8501
6671 ,0x8600
6672 ,0x8501
6673 ,0x8501
6674 ,0x8601
6675 ,0x8501
6676 ,0x8302
6677 ,0x8602
6678 ,0x8402
6679 ,0x8102
6680 ,0x8801
6681 ,0x8505
6682 ,0x9301
6683 ,0xA099
6684 ,0x0096
6685 ,0x0096
6686 ,0x0096
6687 ,0x0096
6688 ,0x0096
6689 ,0x1086
6690 ,0x1086
6691 ,0x0096
6692 ,0x0096
6693 ,0x0096
6694 ,0x0096
6695 ,0x00AC
6696 ,0x990C
6697 ,0x8A0E
6698 ,0x9502
6699 ,0x9501
6700 ,0x9601
6701 ,0x9501
6702 ,0x9501
6703 ,0x9501
6704 ,0x9401
6705 ,0x9402
6706 ,0x870E
6707 ,0x880C
6708 ,0xA099
6709 ,0x0195
6710 ,0x0494
6711 ,0x0594
6712 ,0x0594
6713 ,0x0594
6714 ,0x0592
6715 ,0x048F
6716 ,0x048F
6717 ,0x048F
6718 ,0x048F
6719 ,0x0492
6720 ,0x01AB
6721 ,0x9905
6722 ,0x920A
6723 ,0x9209
6724 ,0x9004
6725 ,0x8E05
6726 ,0x8E04
6727 ,0x9005
6728 ,0x9406
6729 ,0x9406
6730 ,0x9206
6731 ,0x8909
6732 ,0x8A06
6733 ,0xA6A9
6734 ,0x0086
6735 ,0x018B
6736 ,0x0286
6737 ,0x0388
6738 ,0x0388
6739 ,0x0384
6740 ,0x038B
6741 ,0x0381
6742 ,0x038F
6743 ,0x0591
6744 ,0x058F
6745 ,0x0381
6746 ,0x038C
6747 ,0x0285
6748 ,0x0388
6749 ,0x0387
6750 ,0x0387
6751 ,0x018B
6752 ,0x0296
6753 ,0x009C
6754 ,0x9900
6755 ,0x9602
6756 ,0x9503
6757 ,0x9503
6758 ,0x9503
6759 ,0x940A
6760 ,0x8D09
6761 ,0x8B04
6762 ,0x9004
6763 ,0x9003
6764 ,0x9202
6765 ,0x9400
6766 ,0xACA9
6767 ,0x0086
6768 ,0x008C
6769 ,0x0286
6770 ,0x008A
6771 ,0x0486
6772 ,0x0089
6773 ,0x0280
6774 ,0x0186
6775 ,0x0087
6776 ,0x0381
6777 ,0x0186
6778 ,0x0085
6779 ,0x0383
6780 ,0x0186
6781 ,0x0084
6782 ,0x0285
6783 ,0x0186
6784 ,0x0082
6785 ,0x0386
6786 ,0x0186
6787 ,0x0080
6788 ,0x0388
6789 ,0x0186
6790 ,0x038A
6791 ,0x0186
6792 ,0x028B
6793 ,0x0195
6794 ,0x019C
6795 ,0xDF15
6796 ,0x8101
6797 ,0x9101
6798 ,0x8101
6799 ,0x9101
6800 ,0x8101
6801 ,0x9101
6802 ,0x8101
6803 ,0x9101
6804 ,0x8101
6805 ,0x9101
6806 ,0x8101
6807 ,0x9101
6808 ,0x8200
6809 ,0x9100
6810 ,0xB2B0
6811 ,0x0195
6812 ,0x0395
6813 ,0x0395
6814 ,0x0395
6815 ,0x0395
6816 ,0x0494
6817 ,0x0495
6818 ,0x0395
6819 ,0x0395
6820 ,0x01B3
6821 ,0xB000
6822 ,0x9100
6823 ,0x8201
6824 ,0x9101
6825 ,0x8101
6826 ,0x9101
6827 ,0x8101
6828 ,0x9101
6829 ,0x8101
6830 ,0x9101
6831 ,0x8101
6832 ,0x9101
6833 ,0x8101
6834 ,0x9101
6835 ,0x8115
6836 ,0xE1CE
6837 ,0x0194
6838 ,0x0292
6839 ,0x0292
6840 ,0x0294
6841 ,0x0296
6842 ,0x0295
6843 ,0x0395
6844 ,0x01D6
6845 ,0xAB00
6846 ,0x9600
6847 ,0x9600
6848 ,0x9600
6849 ,0x9600
6850 ,0x9600
6851 ,0x9600
6852 ,0x9600
6853 ,0x9600
6854 ,0x9600
6855 ,0x9600
6856 ,0x9600
6857 ,0x9AE0
6858 ,0x0195
6859 ,0x0395
6860 ,0x0295
6861 ,0x0295
6862 ,0x00FF
6863 ,0x89A6
6864 ,0x0193
6865 ,0x048C
6866 ,0x0183
6867 ,0x0180
6868 ,0x028B
6869 ,0x0083
6870 ,0x0182
6871 ,0x018A
6872 ,0x0183
6873 ,0x0084
6874 ,0x008A
6875 ,0x0183
6876 ,0x0084
6877 ,0x008A
6878 ,0x0183
6879 ,0x0084
6880 ,0x008A
6881 ,0x0183
6882 ,0x0083
6883 ,0x008C
6884 ,0x0182
6885 ,0x0082
6886 ,0x018C
6887 ,0x0B8C
6888 ,0x0AB4
6889 ,0xAF12
6890 ,0x8411
6891 ,0x8C01
6892 ,0x8601
6893 ,0x8C00
6894 ,0x8801
6895 ,0x8A01
6896 ,0x8801
6897 ,0x8A01
6898 ,0x8801
6899 ,0x8A01
6900 ,0x8801
6901 ,0x8B01
6902 ,0x8602
6903 ,0x8B03
6904 ,0x8302
6905 ,0x8D08
6906 ,0x9004
6907 ,0xA0B8
6908 ,0x068F
6909 ,0x088D
6910 ,0x0284
6911 ,0x028C
6912 ,0x0186
6913 ,0x028A
6914 ,0x0188
6915 ,0x018A
6916 ,0x0188
6917 ,0x018A
6918 ,0x0188
6919 ,0x018A
6920 ,0x0188
6921 ,0x018B
6922 ,0x0186
6923 ,0x018C
6924 ,0x0285
6925 ,0x018D
6926 ,0x00A6
6927 ,0xA104
6928 ,0x9008
6929 ,0x8D02
6930 ,0x8402
6931 ,0x8C01
6932 ,0x8602
6933 ,0x8A01
6934 ,0x8801
6935 ,0x8A01
6936 ,0x8801
6937 ,0x8A01
6938 ,0x8801
6939 ,0x8B00
6940 ,0x8800
6941 ,0x8C01
6942 ,0x8601
6943 ,0x8611
6944 ,0x8412
6945 ,0xB4A2
6946 ,0x0292
6947 ,0x078E
6948 ,0x0480
6949 ,0x038C
6950 ,0x0181
6951 ,0x0182
6952 ,0x018B
6953 ,0x0182
6954 ,0x0183
6955 ,0x018A
6956 ,0x0182
6957 ,0x0183
6958 ,0x018A
6959 ,0x0182
6960 ,0x0183
6961 ,0x018A
6962 ,0x0182
6963 ,0x0183
6964 ,0x018B
6965 ,0x0181
6966 ,0x0183
6967 ,0x018B
6968 ,0x0582
6969 ,0x018D
6970 ,0x0483
6971 ,0x00B5
6972 ,0xB601
6973 ,0x9501
6974 ,0x9501
6975 ,0x9010
6976 ,0x8503
6977 ,0x8101
6978 ,0x8F01
6979 ,0x8301
6980 ,0x8F00
6981 ,0x8401
6982 ,0x8E01
6983 ,0x8401
6984 ,0x8E01
6985 ,0x8400
6986 ,0x9001
6987 ,0x9502
6988 ,0xABAA
6989 ,0x0289
6990 ,0x0481
6991 ,0x0180
6992 ,0x0487
6993 ,0x0B81
6994 ,0x0186
6995 ,0x0183
6996 ,0x0181
6997 ,0x0183
6998 ,0x0086
6999 ,0x0085
7000 ,0x0082
7001 ,0x0083
7002 ,0x0185
7003 ,0x0085
7004 ,0x0082
7005 ,0x0083
7006 ,0x0185
7007 ,0x0085
7008 ,0x0082
7009 ,0x0083
7010 ,0x0185
7011 ,0x0183
7012 ,0x0182
7013 ,0x0083
7014 ,0x0186
7015 ,0x0583
7016 ,0x0083
7017 ,0x0086
7018 ,0x0584
7019 ,0x0181
7020 ,0x0186
7021 ,0x0089
7022 ,0x0487
7023 ,0x008B
7024 ,0x019A
7025 ,0xAF12
7026 ,0x8412
7027 ,0x8C01
7028 ,0x9401
7029 ,0x9500
7030 ,0x9501
7031 ,0x9501
7032 ,0x9502
7033 ,0x950B
7034 ,0x8C0A
7035 ,0xB4CD
7036 ,0x0188
7037 ,0x018A
7038 ,0x0188
7039 ,0x018A
7040 ,0x0188
7041 ,0x0185
7042 ,0x0182
7043 ,0x0C85
7044 ,0x0182
7045 ,0x0C95
7046 ,0x0195
7047 ,0x0195
7048 ,0x01CC
7049 ,0xC401
7050 ,0x9601
7051 ,0x8501
7052 ,0x8D01
7053 ,0x8501
7054 ,0x8D01
7055 ,0x8501
7056 ,0x8D01
7057 ,0x8501
7058 ,0x8C01
7059 ,0x8101
7060 ,0x8210
7061 ,0x8102
7062 ,0x810F
7063 ,0x8201
7064 ,0xDCAF
7065 ,0x1284
7066 ,0x128F
7067 ,0x0294
7068 ,0x0194
7069 ,0x0392
7070 ,0x0180
7071 ,0x0290
7072 ,0x0182
7073 ,0x028E
7074 ,0x0184
7075 ,0x028C
7076 ,0x0186
7077 ,0x038A
7078 ,0x0089
7079 ,0x0196
7080 ,0x009C
7081 ,0xB000
7082 ,0x8E01
7083 ,0x8401
7084 ,0x8E01
7085 ,0x8401
7086 ,0x8E01
7087 ,0x8401
7088 ,0x8E01
7089 ,0x8412
7090 ,0x8412
7091 ,0x9501
7092 ,0x9501
7093 ,0x9501
7094 ,0x9600
7095 ,0xB49D
7096 ,0x0C8A
7097 ,0x0C8B
7098 ,0x0095
7099 ,0x0195
7100 ,0x0195
7101 ,0x0C8B
7102 ,0x0B8B
7103 ,0x0194
7104 ,0x0195
7105 ,0x0195
7106 ,0x0C8B
7107 ,0x0B9C
7108 ,0xB50C
7109 ,0x8A0C
7110 ,0x8C01
7111 ,0x9401
7112 ,0x9500
7113 ,0x9501
7114 ,0x9501
7115 ,0x9502
7116 ,0x950B
7117 ,0x8C0A
7118 ,0xB4A1
7119 ,0x0491
7120 ,0x078E
7121 ,0x0282
7122 ,0x038C
7123 ,0x0186
7124 ,0x018B
7125 ,0x0188
7126 ,0x018A
7127 ,0x0188
7128 ,0x018A
7129 ,0x0188
7130 ,0x018A
7131 ,0x0188
7132 ,0x018B
7133 ,0x0186
7134 ,0x018C
7135 ,0x0383
7136 ,0x028D
7137 ,0x0890
7138 ,0x04A0
7139 ,0xB511
7140 ,0x8510
7141 ,0x8701
7142 ,0x8601
7143 ,0x8C00
7144 ,0x8800
7145 ,0x8B01
7146 ,0x8801
7147 ,0x8A01
7148 ,0x8801
7149 ,0x8A01
7150 ,0x8801
7151 ,0x8B01
7152 ,0x8602
7153 ,0x8B02
7154 ,0x8402
7155 ,0x8D08
7156 ,0x9004
7157 ,0xA0A1
7158 ,0x0490
7159 ,0x088D
7160 ,0x0283
7161 ,0x038C
7162 ,0x0087
7163 ,0x028A
7164 ,0x0188
7165 ,0x018A
7166 ,0x0188
7167 ,0x018A
7168 ,0x0188
7169 ,0x018B
7170 ,0x0088
7171 ,0x008C
7172 ,0x0186
7173 ,0x018C
7174 ,0x0F86
7175 ,0x11AF
7176 ,0xCD0C
7177 ,0x8A0C
7178 ,0x8C01
7179 ,0x9401
7180 ,0x9500
7181 ,0x9501
7182 ,0x9501
7183 ,0x9501
7184 ,0x9601
7185 ,0x9500
7186 ,0xA7B8
7187 ,0x0085
7188 ,0x018C
7189 ,0x0483
7190 ,0x018C
7191 ,0x0484
7192 ,0x018A
7193 ,0x0182
7194 ,0x0183
7195 ,0x018A
7196 ,0x0182
7197 ,0x0183
7198 ,0x018A
7199 ,0x0182
7200 ,0x0183
7201 ,0x018A
7202 ,0x0183
7203 ,0x0182
7204 ,0x018B
7205 ,0x0083
7206 ,0x0182
7207 ,0x018B
7208 ,0x0182
7209 ,0x058D
7210 ,0x0083
7211 ,0x03B6
7212 ,0xB501
7213 ,0x9501
7214 ,0x9501
7215 ,0x920E
7216 ,0x880F
7217 ,0x8A01
7218 ,0x8801
7219 ,0x8A01
7220 ,0x8801
7221 ,0x8A01
7222 ,0x8801
7223 ,0x8A01
7224 ,0x8801
7225 ,0x9401
7226 ,0xB5B5
7227 ,0x0A8C
7228 ,0x0B95
7229 ,0x0295
7230 ,0x0196
7231 ,0x0096
7232 ,0x0095
7233 ,0x0095
7234 ,0x018B
7235 ,0x0C8A
7236 ,0x0CB4
7237 ,0x9D00
7238 ,0x9603
7239 ,0x9404
7240 ,0x9504
7241 ,0x9404
7242 ,0x9404
7243 ,0x9303
7244 ,0x9103
7245 ,0x9103
7246 ,0x9004
7247 ,0x9003
7248 ,0x9300
7249 ,0xA89D
7250 ,0x0593
7251 ,0x0893
7252 ,0x0593
7253 ,0x038F
7254 ,0x048F
7255 ,0x0492
7256 ,0x0395
7257 ,0x0594
7258 ,0x0593
7259 ,0x038C
7260 ,0x098B
7261 ,0x06A2
7262 ,0xB501
7263 ,0x8801
7264 ,0x8A02
7265 ,0x8602
7266 ,0x8C02
7267 ,0x8203
7268 ,0x8E02
7269 ,0x8002
7270 ,0x9104
7271 ,0x9204
7272 ,0x9102
7273 ,0x8002
7274 ,0x8E02
7275 ,0x8303
7276 ,0x8B02
7277 ,0x8602
7278 ,0x8A00
7279 ,0x8901
7280 ,0xB4AC
7281 ,0x0186
7282 ,0x028C
7283 ,0x0185
7284 ,0x0589
7285 ,0x0188
7286 ,0x0487
7287 ,0x018A
7288 ,0x0484
7289 ,0x018E
7290 ,0x0791
7291 ,0x048F
7292 ,0x0490
7293 ,0x048F
7294 ,0x0490
7295 ,0x0393
7296 ,0x01A7
7297 ,0xA900
7298 ,0x8A01
7299 ,0x8702
7300 ,0x8A01
7301 ,0x8603
7302 ,0x8A01
7303 ,0x8504
7304 ,0x8A01
7305 ,0x8402
7306 ,0x8001
7307 ,0x8A01
7308 ,0x8202
7309 ,0x8201
7310 ,0x8A01
7311 ,0x8102
7312 ,0x8301
7313 ,0x8A01
7314 ,0x8002
7315 ,0x8401
7316 ,0x8A04
7317 ,0x8501
7318 ,0x8A02
7319 ,0x8701
7320 ,0x8A01
7321 ,0x8801
7322 ,0x9501
7323 ,0x9CA2
7324 ,0x0096
7325 ,0x0195
7326 ,0x0193
7327 ,0x0581
7328 ,0x0286
7329 ,0x0781
7330 ,0x0883
7331 ,0x068A
7332 ,0x0281
7333 ,0x0191
7334 ,0x0181
7335 ,0x0192
7336 ,0x0081
7337 ,0x0192
7338 ,0x0081
7339 ,0x0192
7340 ,0x00C8
7341 ,0xFF90
7342 ,0x1581
7343 ,0x15FF
7344 ,0x90C8
7345 ,0x0192
7346 ,0x0081
7347 ,0x0192
7348 ,0x0081
7349 ,0x0192
7350 ,0x0081
7351 ,0x0191
7352 ,0x0182
7353 ,0x0685
7354 ,0x0181
7355 ,0x0383
7356 ,0x0781
7357 ,0x088A
7358 ,0x0581
7359 ,0x018F
7360 ,0x0195
7361 ,0x01BA
7362 ,0x9F00
7363 ,0x9501
7364 ,0x9501
7365 ,0x9401
7366 ,0x9501
7367 ,0x9601
7368 ,0x9502
7369 ,0x9501
7370 ,0x9501
7371 ,0x9501
7372 ,0x9401
7373 ,0x9501
7374 ,0xA6F8
7375 ,0x0189
7376 ,0x0485
7377 ,0x0381
7378 ,0x0C85
7379 ,0x0283
7380 ,0x0AFF
7381 ,0x94A1
7382 ,0x0291
7383 ,0x078E
7384 ,0x0382
7385 ,0x038C
7386 ,0x0186
7387 ,0x018B
7388 ,0x0188
7389 ,0x018A
7390 ,0x0086
7391 ,0x0786
7392 ,0x0E86
7393 ,0x0884
7394 ,0x0187
7395 ,0x0081
7396 ,0x0188
7397 ,0x018A
7398 ,0x0187
7399 ,0x028B
7400 ,0x0186
7401 ,0x01B6
7402 ,0xA900
7403 ,0x8C01
7404 ,0x8601
7405 ,0x8904
7406 ,0x8502
7407 ,0x870E
7408 ,0x8702
7409 ,0x8206
7410 ,0x8001
7411 ,0x8701
7412 ,0x8301
7413 ,0x8600
7414 ,0x8700
7415 ,0x8401
7416 ,0x8601
7417 ,0x8600
7418 ,0x8D01
7419 ,0x8601
7420 ,0x8D00
7421 ,0x8601
7422 ,0x8D00
7423 ,0x9501
7424 ,0x9501
7425 ,0x9CB4
7426 ,0x0086
7427 ,0x008E
7428 ,0x088F
7429 ,0x0182
7430 ,0x018F
7431 ,0x0184
7432 ,0x008F
7433 ,0x0184
7434 ,0x018E
7435 ,0x0184
7436 ,0x018E
7437 ,0x0184
7438 ,0x0090
7439 ,0x0182
7440 ,0x018F
7441 ,0x088E
7442 ,0x0086
7443 ,0x00B9
7444 ,0xB101
7445 ,0x8700
7446 ,0x8100
7447 ,0x8903
7448 ,0x8401
7449 ,0x8100
7450 ,0x8B03
7451 ,0x8201
7452 ,0x8100
7453 ,0x8D02
7454 ,0x8101
7455 ,0x8100
7456 ,0x8F0A
7457 ,0x8C0A
7458 ,0x8A03
7459 ,0x8001
7460 ,0x8100
7461 ,0x8B03
7462 ,0x8201
7463 ,0x8100
7464 ,0x8903
7465 ,0x8401
7466 ,0x8100
7467 ,0x8901
7468 ,0x8601
7469 ,0x8100
7470 ,0x8900
7471 ,0xACFF
7472 ,0x9009
7473 ,0x8208
7474 ,0x8109
7475 ,0x8208
7476 ,0xFF90
7477 ,0xB802
7478 ,0x8500
7479 ,0x8604
7480 ,0x8004
7481 ,0x8302
7482 ,0x8407
7483 ,0x8101
7484 ,0x8401
7485 ,0x8401
7486 ,0x8201
7487 ,0x8301
7488 ,0x8401
7489 ,0x8201
7490 ,0x8301
7491 ,0x8301
7492 ,0x8401
7493 ,0x8201
7494 ,0x8401
7495 ,0x8201
7496 ,0x8401
7497 ,0x8300
7498 ,0x8401
7499 ,0x8301
7500 ,0x8201
7501 ,0x8401
7502 ,0x8402
7503 ,0x8007
7504 ,0x8501
7505 ,0x8304
7506 ,0x8004
7507 ,0x8E01
7508 ,0xBBC8
7509 ,0x0194
7510 ,0x0295
7511 ,0x01C5
7512 ,0x0194
7513 ,0x0295
7514 ,0x01DC
7515 ,0x8902
7516 ,0x9107
7517 ,0x8E01
7518 ,0x8502
7519 ,0x8B01
7520 ,0x8202
7521 ,0x8200
7522 ,0x8B00
7523 ,0x8105
7524 ,0x8200
7525 ,0x8901
7526 ,0x8100
7527 ,0x8301
7528 ,0x8100
7529 ,0x8900
7530 ,0x8101
7531 ,0x8401
7532 ,0x8000
7533 ,0x8900
7534 ,0x8101
7535 ,0x8401
7536 ,0x8000
7537 ,0x8901
7538 ,0x8001
7539 ,0x8400
7540 ,0x8100
7541 ,0x8A00
7542 ,0x8101
7543 ,0x8201
7544 ,0x8100
7545 ,0x8A01
7546 ,0x8100
7547 ,0x8501
7548 ,0x8B01
7549 ,0x8601
7550 ,0x8D02
7551 ,0x8202
7552 ,0x9004
7553 ,0x89BC
7554 ,0x018F
7555 ,0x0381
7556 ,0x018A
7557 ,0x0181
7558 ,0x0481
7559 ,0x018A
7560 ,0x0082
7561 ,0x0181
7562 ,0x0180
7563 ,0x018A
7564 ,0x0082
7565 ,0x0082
7566 ,0x0180
7567 ,0x018A
7568 ,0x0082
7569 ,0x0082
7570 ,0x0180
7571 ,0x018A
7572 ,0x0181
7573 ,0x0081
7574 ,0x0181
7575 ,0x018A
7576 ,0x0881
7577 ,0x018B
7578 ,0x0781
7579 ,0x0195
7580 ,0x01B8
7581 ,0xBA01
7582 ,0x9403
7583 ,0x9202
7584 ,0x8001
7585 ,0x9002
7586 ,0x8201
7587 ,0x8F01
7588 ,0x8401
7589 ,0x9101
7590 ,0x9403
7591 ,0x9202
7592 ,0x8001
7593 ,0x9002
7594 ,0x8201
7595 ,0x8F01
7596 ,0x8401
7597 ,0xB6D0
7598 ,0x0195
7599 ,0x0190
7600 ,0x0C8B
7601 ,0x0A8D
7602 ,0x088F
7603 ,0x0691
7604 ,0x0493
7605 ,0x0295
7606 ,0x00BC
7607 ,0xFFFF
7608 ,0xCF89
7609 ,0x0291
7610 ,0x078E
7611 ,0x0185
7612 ,0x028B
7613 ,0x0188
7614 ,0x008B
7615 ,0x0080
7616 ,0x0781
7617 ,0x0089
7618 ,0x0180
7619 ,0x0781
7620 ,0x0089
7621 ,0x0081
7622 ,0x0082
7623 ,0x0084
7624 ,0x0089
7625 ,0x0081
7626 ,0x0082
7627 ,0x0084
7628 ,0x0089
7629 ,0x0180
7630 ,0x0180
7631 ,0x0382
7632 ,0x008A
7633 ,0x0081
7634 ,0x0281
7635 ,0x0181
7636 ,0x008A
7637 ,0x0188
7638 ,0x018B
7639 ,0x0186
7640 ,0x018D
7641 ,0x0282
7642 ,0x0290
7643 ,0x0489
7644 ,0xC900
7645 ,0x9600
7646 ,0x9600
7647 ,0x9600
7648 ,0x9600
7649 ,0x9600
7650 ,0x9600
7651 ,0x9600
7652 ,0xDCCB
7653 ,0x0193
7654 ,0x0591
7655 ,0x0181
7656 ,0x0190
7657 ,0x0183
7658 ,0x018F
7659 ,0x0183
7660 ,0x018F
7661 ,0x0183
7662 ,0x0091
7663 ,0x0592
7664 ,0x03D8
7665 ,0x9F00
7666 ,0x8700
7667 ,0x8D00
7668 ,0x8701
7669 ,0x8C00
7670 ,0x8701
7671 ,0x8C00
7672 ,0x8701
7673 ,0x8C00
7674 ,0x8701
7675 ,0x870B
7676 ,0x8101
7677 ,0x870B
7678 ,0x8101
7679 ,0x8C00
7680 ,0x8701
7681 ,0x8C00
7682 ,0x8701
7683 ,0x8C00
7684 ,0x8701
7685 ,0x8C00
7686 ,0x8701
7687 ,0x8C00
7688 ,0x8700
7689 ,0x9DCA
7690 ,0x0086
7691 ,0x008D
7692 ,0x0184
7693 ,0x028C
7694 ,0x0184
7695 ,0x038C
7696 ,0x0184
7697 ,0x0080
7698 ,0x018C
7699 ,0x0183
7700 ,0x0180
7701 ,0x018C
7702 ,0x0182
7703 ,0x0181
7704 ,0x018D
7705 ,0x0482
7706 ,0x018E
7707 ,0x0283
7708 ,0x01D3
7709 ,0xD100
7710 ,0x8E01
7711 ,0x8401
7712 ,0x8D01
7713 ,0x8601
7714 ,0x8C01
7715 ,0x8200
7716 ,0x8201
7717 ,0x8C01
7718 ,0x8200
7719 ,0x8201
7720 ,0x8C01
7721 ,0x8101
7722 ,0x8201
7723 ,0x8D05
7724 ,0x8001
7725 ,0x8F01
7726 ,0x8103
7727 ,0xD4FF
7728 ,0x9101
7729 ,0x9303
7730 ,0x9301
7731 ,0x9500
7732 ,0xF69D
7733 ,0x1185
7734 ,0x0B95
7735 ,0x0196
7736 ,0x0195
7737 ,0x0195
7738 ,0x0195
7739 ,0x0094
7740 ,0x028B
7741 ,0x0B95
7742 ,0x0295
7743 ,0x0195
7744 ,0x0195
7745 ,0x0085
7746 ,0xFFFF
7747 ,0xCF00
7748
7749 #line 2487 "./ostc28.drx.txt"
7750 #line 730 "p2_deco_main - 090915b.c"
7751
7752 };
7753
7754 #pragma romdata font_table_small = 0x0B548
7755 rom const rom unsigned int wp_small_table[] =
7756 {
7757 #line 1 "./ostc28.tbl.txt"
7758 0x0000
7759 ,0x000E
7760 ,0x001B
7761 ,0x0048
7762 ,0x007D
7763 ,0x00B4
7764 ,0x00E7
7765 ,0x00F0
7766 ,0x010D
7767 ,0x012A
7768 ,0x014B
7769 ,0x0164
7770 ,0x0170
7771 ,0x0185
7772 ,0x018E
7773 ,0x01A3
7774 ,0x01D6
7775 ,0x01E2
7776 ,0x0215
7777 ,0x0246
7778 ,0x0267
7779 ,0x029C
7780 ,0x02CB
7781 ,0x02EA
7782 ,0x0321
7783 ,0x0352
7784 ,0x0360
7785 ,0x0371
7786 ,0x039C
7787 ,0x03CD
7788 ,0x03F8
7789 ,0x041B
7790 ,0x045C
7791 ,0x047D
7792 ,0x04B8
7793 ,0x04E5
7794 ,0x050E
7795 ,0x0541
7796 ,0x0564
7797 ,0x0597
7798 ,0x05AC
7799 ,0x05CD
7800 ,0x05EA
7801 ,0x060F
7802 ,0x0624
7803 ,0x063D
7804 ,0x0656
7805 ,0x067F
7806 ,0x06A4
7807 ,0x06D5
7808 ,0x0700
7809 ,0x0739
7810 ,0x0752
7811 ,0x076B
7812 ,0x0784
7813 ,0x079D
7814 ,0x07C6
7815 ,0x07DF
7816 ,0x0818
7817 ,0x0837
7818 ,0x084C
7819 ,0x086B
7820 ,0x087C
7821 ,0x0895
7822 ,0x08A1
7823 ,0x08D4
7824 ,0x08F9
7825 ,0x0920
7826 ,0x0945
7827 ,0x097A
7828 ,0x099B
7829 ,0x09E4
7830 ,0x09F9
7831 ,0x0A14
7832 ,0x0A33
7833 ,0x0A54
7834 ,0x0A71
7835 ,0x0A8A
7836 ,0x0A9F
7837 ,0x0AC8
7838 ,0x0AED
7839 ,0x0B12
7840 ,0x0B27
7841 ,0x0B5A
7842 ,0x0B77
7843 ,0x0B8C
7844 ,0x0BA5
7845 ,0x0BBE
7846 ,0x0BE3
7847 ,0x0C04
7848 ,0x0C39
7849 ,0x0C5C
7850 ,0x0C63
7851 ,0x0C86
7852 ,0x0C9F
7853 ,0x0CAD
7854 ,0x0CD6
7855 ,0x0D05
7856 ,0x0D2A
7857 ,0x0D61
7858 ,0x0D6C
7859 ,0x0DAB
7860 ,0x0DB8
7861 ,0x0E05
7862 ,0x0E3C
7863 ,0x0E5D
7864 ,0x0E70
7865 ,0x0E73
7866 ,0x0EBA
7867 ,0x0ECB
7868 ,0x0EE4
7869 ,0x0F15
7870 ,0x0F3C
7871 ,0x0F61
7872 ,0x0F6B
7873 ,0x0F86
7874 ,0x0F89
7875
7876
7877 #line 205 "./ostc28.tbl.txt"
7878 #line 736 "p2_deco_main - 090915b.c"
7879
7880 };
7881
7882 #pragma romdata font_table_medium = 0x0B632
7883 rom const rom unsigned int wp_medium_table[] =
7884 {
7885 #line 1 "./ostc48.tbl.txt"
7886 0x0000
7887 ,0x000F
7888 ,0x0016
7889 ,0x006B
7890 ,0x0083
7891 ,0x00DC
7892 ,0x012D
7893 ,0x0166
7894 ,0x01C1
7895 ,0x0216
7896 ,0x024C
7897 ,0x02AB
7898 ,0x0302
7899 ,0x031B
7900 ,0x032A
7901 ,0x0344
7902 ,0x036F
7903 ,0x0375
7904 #line 742 "p2_deco_main - 090915b.c"
7905
7906 };
7907
7908 #pragma romdata font_data_medium = 0x0B656
7909 rom const rom unsigned int wp_medium_data[] =
7910 {
7911 #line 1 "./ostc48.drx.txt"
7912 0x9F9F
7913 ,0xBA03
7914 ,0x9A04
7915 ,0x9A05
7916 ,0x9904
7917 ,0x9B03
7918 ,0x9F9F
7919 ,0xC09F
7920 ,0x9FBF
7921 ,0x7F9F
7922 ,0x9FBF
7923 ,0xCD03
7924 ,0x960E
7925 ,0x8E12
7926 ,0x8A16
7927 ,0x8704
7928 ,0x8B07
7929 ,0x8503
7930 ,0x8C03
7931 ,0x8004
7932 ,0x8303
7933 ,0x8B04
7934 ,0x8204
7935 ,0x8202
7936 ,0x8B04
7937 ,0x8403
7938 ,0x8102
7939 ,0x8B03
7940 ,0x8702
7941 ,0x8102
7942 ,0x8A03
7943 ,0x8802
7944 ,0x8102
7945 ,0x8804
7946 ,0x8903
7947 ,0x8002
7948 ,0x8703
7949 ,0x8B02
7950 ,0x8103
7951 ,0x8503
7952 ,0x8C02
7953 ,0x8203
7954 ,0x8204
7955 ,0x8C03
7956 ,0x8303
7957 ,0x8004
7958 ,0x8C03
7959 ,0x8506
7960 ,0x8C04
7961 ,0x8716
7962 ,0x8913
7963 ,0x8E0E
7964 ,0x9503
7965 ,0xCDFF
7966 ,0x8400
7967 ,0x9E01
7968 ,0x9C02
7969 ,0x9B02
7970 ,0x9C02
7971 ,0x9B03
7972 ,0x9B02
7973 ,0x9B1D
7974 ,0x811D
7975 ,0x811D
7976 ,0xFFFF
7977 ,0xC0FC
7978 ,0x0185
7979 ,0x0094
7980 ,0x0384
7981 ,0x0291
7982 ,0x0583
7983 ,0x0390
7984 ,0x0682
7985 ,0x0390
7986 ,0x0782
7987 ,0x0290
7988 ,0x0381
7989 ,0x0281
7990 ,0x028F
7991 ,0x0482
7992 ,0x0281
7993 ,0x028E
7994 ,0x0483
7995 ,0x0281
7996 ,0x028D
7997 ,0x0484
7998 ,0x0281
7999 ,0x028D
8000 ,0x0385
8001 ,0x0281
8002 ,0x028C
8003 ,0x0386
8004 ,0x0281
8005 ,0x038A
8006 ,0x0387
8007 ,0x0282
8008 ,0x0288
8009 ,0x0488
8010 ,0x0282
8011 ,0x0386
8012 ,0x0489
8013 ,0x0283
8014 ,0x0D8A
8015 ,0x0284
8016 ,0x0A8C
8017 ,0x0285
8018 ,0x088D
8019 ,0x0287
8020 ,0x0390
8021 ,0x02E0
8022 ,0xFF9A
8023 ,0x0185
8024 ,0x0292
8025 ,0x0483
8026 ,0x0393
8027 ,0x0482
8028 ,0x0295
8029 ,0x0382
8030 ,0x0296
8031 ,0x0281
8032 ,0x0289
8033 ,0x028A
8034 ,0x0281
8035 ,0x0289
8036 ,0x028A
8037 ,0x0281
8038 ,0x0289
8039 ,0x028A
8040 ,0x0281
8041 ,0x0289
8042 ,0x028A
8043 ,0x0281
8044 ,0x0288
8045 ,0x038A
8046 ,0x0282
8047 ,0x0287
8048 ,0x0489
8049 ,0x0282
8050 ,0x0385
8051 ,0x0687
8052 ,0x0383
8053 ,0x0A81
8054 ,0x0384
8055 ,0x0484
8056 ,0x0A81
8057 ,0x0C87
8058 ,0x0684
8059 ,0x0A8A
8060 ,0x0288
8061 ,0x07FF
8062 ,0x84D3
8063 ,0x029A
8064 ,0x0499
8065 ,0x0597
8066 ,0x0796
8067 ,0x0381
8068 ,0x0294
8069 ,0x0482
8070 ,0x0293
8071 ,0x0384
8072 ,0x0291
8073 ,0x0485
8074 ,0x0290
8075 ,0x0387
8076 ,0x028E
8077 ,0x0488
8078 ,0x028D
8079 ,0x038A
8080 ,0x028B
8081 ,0x048B
8082 ,0x028A
8083 ,0x1C81
8084 ,0x1D81
8085 ,0x1D81
8086 ,0x1D94
8087 ,0x029C
8088 ,0x029C
8089 ,0x029C
8090 ,0x02C8
8091 ,0xFA00
8092 ,0x8D06
8093 ,0x8802
8094 ,0x830F
8095 ,0x8704
8096 ,0x820F
8097 ,0x8803
8098 ,0x8209
8099 ,0x8102
8100 ,0x8A03
8101 ,0x8102
8102 ,0x8702
8103 ,0x8C02
8104 ,0x8102
8105 ,0x8702
8106 ,0x8C02
8107 ,0x8102
8108 ,0x8701
8109 ,0x8D02
8110 ,0x8102
8111 ,0x8701
8112 ,0x8E02
8113 ,0x8002
8114 ,0x8701
8115 ,0x8D03
8116 ,0x8002
8117 ,0x8702
8118 ,0x8C02
8119 ,0x8102
8120 ,0x8702
8121 ,0x8C02
8122 ,0x8102
8123 ,0x8703
8124 ,0x8A03
8125 ,0x8102
8126 ,0x8803
8127 ,0x8804
8128 ,0x8102
8129 ,0x8805
8130 ,0x8405
8131 ,0x8202
8132 ,0x890E
8133 ,0x8302
8134 ,0x8A0C
8135 ,0x9408
8136 ,0xE5EC
8137 ,0x0891
8138 ,0x118B
8139 ,0x1588
8140 ,0x1785
8141 ,0x0584
8142 ,0x0286
8143 ,0x0584
8144 ,0x0385
8145 ,0x0289
8146 ,0x0383
8147 ,0x0386
8148 ,0x028A
8149 ,0x0381
8150 ,0x0386
8151 ,0x028C
8152 ,0x0281
8153 ,0x0287
8154 ,0x028C
8155 ,0x0281
8156 ,0x0287
8157 ,0x028D
8158 ,0x0280
8159 ,0x0287
8160 ,0x028C
8161 ,0x0281
8162 ,0x0287
8163 ,0x028C
8164 ,0x0281
8165 ,0x0287
8166 ,0x038B
8167 ,0x0281
8168 ,0x0288
8169 ,0x0389
8170 ,0x0283
8171 ,0x0287
8172 ,0x0584
8173 ,0x0583
8174 ,0x0387
8175 ,0x0E85
8176 ,0x008A
8177 ,0x0C95
8178 ,0x06E6
8179 ,0xFF80
8180 ,0x029C
8181 ,0x029C
8182 ,0x029C
8183 ,0x0297
8184 ,0x0281
8185 ,0x0294
8186 ,0x0581
8187 ,0x0291
8188 ,0x0881
8189 ,0x028F
8190 ,0x0982
8191 ,0x028C
8192 ,0x0985
8193 ,0x0289
8194 ,0x0988
8195 ,0x0287
8196 ,0x088B
8197 ,0x0284
8198 ,0x098D
8199 ,0x0282
8200 ,0x0890
8201 ,0x0B93
8202 ,0x0995
8203 ,0x0698
8204 ,0x049A
8205 ,0x01FC
8206 ,0xF405
8207 ,0x8A03
8208 ,0x8808
8209 ,0x8707
8210 ,0x850A
8211 ,0x8509
8212 ,0x8304
8213 ,0x8105
8214 ,0x830B
8215 ,0x8103
8216 ,0x8504
8217 ,0x8202
8218 ,0x8506
8219 ,0x8803
8220 ,0x8102
8221 ,0x8705
8222 ,0x8902
8223 ,0x8102
8224 ,0x8803
8225 ,0x8A02
8226 ,0x8102
8227 ,0x8803
8228 ,0x8A02
8229 ,0x8102
8230 ,0x8902
8231 ,0x8A02
8232 ,0x8102
8233 ,0x8803
8234 ,0x8A02
8235 ,0x8102
8236 ,0x8804
8237 ,0x8902
8238 ,0x8103
8239 ,0x8606
8240 ,0x8802
8241 ,0x8203
8242 ,0x8303
8243 ,0x8103
8244 ,0x8602
8245 ,0x830B
8246 ,0x8105
8247 ,0x8204
8248 ,0x8408
8249 ,0x840B
8250 ,0x8705
8251 ,0x8609
8252 ,0x9705
8253 ,0xE5E7
8254 ,0x0498
8255 ,0x098B
8256 ,0x0086
8257 ,0x0C89
8258 ,0x0284
8259 ,0x0E88
8260 ,0x0382
8261 ,0x0388
8262 ,0x0388
8263 ,0x0282
8264 ,0x028A
8265 ,0x0387
8266 ,0x0281
8267 ,0x028C
8268 ,0x0287
8269 ,0x0281
8270 ,0x028C
8271 ,0x0287
8272 ,0x0380
8273 ,0x028C
8274 ,0x0287
8275 ,0x0281
8276 ,0x028C
8277 ,0x0287
8278 ,0x0281
8279 ,0x028C
8280 ,0x0287
8281 ,0x0281
8282 ,0x038A
8283 ,0x0287
8284 ,0x0382
8285 ,0x0389
8286 ,0x0286
8287 ,0x0383
8288 ,0x0487
8289 ,0x0285
8290 ,0x0485
8291 ,0x0781
8292 ,0x0381
8293 ,0x0887
8294 ,0x168A
8295 ,0x128F
8296 ,0x0CE9
8297 ,0x9F9F
8298 ,0xAB03
8299 ,0x8A03
8300 ,0x8B04
8301 ,0x8904
8302 ,0x8B04
8303 ,0x8905
8304 ,0x8A04
8305 ,0x8904
8306 ,0x8C02
8307 ,0x8B03
8308 ,0x9F9F
8309 ,0xC09F
8310 ,0x9FC8
8311 ,0x0194
8312 ,0x0A94
8313 ,0x0A94
8314 ,0x0896
8315 ,0x059F
8316 ,0x9FB9
8317 ,0xFFA9
8318 ,0x009B
8319 ,0x0394
8320 ,0x0A94
8321 ,0x0995
8322 ,0x0698
8323 ,0x03FF
8324 ,0x8302
8325 ,0x940A
8326 ,0x940A
8327 ,0x9407
8328 ,0x9704
8329 ,0xFFBA
8330 ,0xC815
8331 ,0x8915
8332 ,0x8915
8333 ,0x8B02
8334 ,0x9B01
8335 ,0x9C01
8336 ,0x9D01
8337 ,0x9D02
8338 ,0x9C04
8339 ,0x9A15
8340 ,0x8A14
8341 ,0x8B13
8342 ,0x8A02
8343 ,0x9B02
8344 ,0x9C01
8345 ,0x9D01
8346 ,0x9D02
8347 ,0x9C15
8348 ,0x8915
8349 ,0x8A14
8350 ,0x8D11
8351 ,0xA0FF
8352 ,0xFFFF
8353 ,0xFFFF
8354 ,0xFF00
8355 #line 748 "p2_deco_main - 090915b.c"
8356
8357 };
8358
8359 #pragma romdata font_data_large = 0x0BA46
8360 rom const rom unsigned int wp_large_data[] =
8361 {
8362 #line 1 "./ostc90.drx.txt"
8363 0x9BAF
8364 ,0xAFAF
8365 ,0xAFAF
8366 ,0xAFD1
8367 ,0x05B2
8368 ,0x07B0
8369 ,0x08B0
8370 ,0x09AF
8371 ,0x09AF
8372 ,0x09AF
8373 ,0x09AF
8374 ,0x08B1
8375 ,0x07B2
8376 ,0x049B
8377 ,0x9F9F
8378 ,0x9F9F
8379 ,0x9FAE
8380 ,0xFFFF
8381 ,0xFFFF
8382 ,0xFFFF
8383 ,0xFFFF
8384 ,0xFFFF
8385 ,0xFFFF
8386 ,0xFFFF
8387 ,0xFFFF
8388 ,0xFFFF
8389 ,0x8FFF
8390 ,0xFF82
8391 ,0x04AC
8392 ,0x14A1
8393 ,0x1A9B
8394 ,0x2096
8395 ,0x2492
8396 ,0x288F
8397 ,0x0E8A
8398 ,0x108C
8399 ,0x0B94
8400 ,0x0C8A
8401 ,0x0996
8402 ,0x0F87
8403 ,0x0896
8404 ,0x1285
8405 ,0x0797
8406 ,0x0783
8407 ,0x0785
8408 ,0x0697
8409 ,0x0785
8410 ,0x0783
8411 ,0x0696
8412 ,0x0887
8413 ,0x0782
8414 ,0x0596
8415 ,0x078A
8416 ,0x0681
8417 ,0x0596
8418 ,0x078C
8419 ,0x0581
8420 ,0x0594
8421 ,0x088E
8422 ,0x0580
8423 ,0x0494
8424 ,0x0790
8425 ,0x0580
8426 ,0x0493
8427 ,0x0791
8428 ,0x0580
8429 ,0x0491
8430 ,0x0892
8431 ,0x0580
8432 ,0x0490
8433 ,0x0794
8434 ,0x0580
8435 ,0x058E
8436 ,0x0795
8437 ,0x0580
8438 ,0x058C
8439 ,0x0896
8440 ,0x0580
8441 ,0x068A
8442 ,0x0896
8443 ,0x0582
8444 ,0x0688
8445 ,0x0797
8446 ,0x0682
8447 ,0x0785
8448 ,0x0897
8449 ,0x0684
8450 ,0x0783
8451 ,0x0897
8452 ,0x0785
8453 ,0x0880
8454 ,0x0798
8455 ,0x0787
8456 ,0x0F97
8457 ,0x0889
8458 ,0x0D95
8459 ,0x0A8B
8460 ,0x108C
8461 ,0x0E8E
8462 ,0x2891
8463 ,0x2694
8464 ,0x2299
8465 ,0x1CA0
8466 ,0x15AA
8467 ,0x0797
8468 ,0xFFFF
8469 ,0xFFD7
8470 ,0x01B7
8471 ,0x03B4
8472 ,0x04B4
8473 ,0x03B4
8474 ,0x04B4
8475 ,0x04B3
8476 ,0x04B3
8477 ,0x05B3
8478 ,0x05B2
8479 ,0x06B2
8480 ,0x05B2
8481 ,0x06B2
8482 ,0x3681
8483 ,0x3781
8484 ,0x3781
8485 ,0x3781
8486 ,0x3781
8487 ,0x37FF
8488 ,0xFFFF
8489 ,0xFFFF
8490 ,0xFFAC
8491 ,0xFFFF
8492 ,0xFF90
8493 ,0x0389
8494 ,0x00A8
8495 ,0x0587
8496 ,0x03A5
8497 ,0x0786
8498 ,0x05A3
8499 ,0x0885
8500 ,0x07A0
8501 ,0x0A84
8502 ,0x089F
8503 ,0x0B84
8504 ,0x069F
8505 ,0x0D83
8506 ,0x069F
8507 ,0x0E82
8508 ,0x069F
8509 ,0x0881
8510 ,0x0482
8511 ,0x059E
8512 ,0x0883
8513 ,0x0482
8514 ,0x049E
8515 ,0x0884
8516 ,0x0481
8517 ,0x059D
8518 ,0x0885
8519 ,0x0481
8520 ,0x059C
8521 ,0x0787
8522 ,0x0481
8523 ,0x049C
8524 ,0x0788
8525 ,0x0481
8526 ,0x049B
8527 ,0x0789
8528 ,0x0481
8529 ,0x049A
8530 ,0x078A
8531 ,0x0481
8532 ,0x0499
8533 ,0x078B
8534 ,0x0481
8535 ,0x0498
8536 ,0x078C
8537 ,0x0481
8538 ,0x0596
8539 ,0x078D
8540 ,0x0481
8541 ,0x0595
8542 ,0x078E
8543 ,0x0481
8544 ,0x0594
8545 ,0x078F
8546 ,0x0481
8547 ,0x0692
8548 ,0x0790
8549 ,0x0482
8550 ,0x0690
8551 ,0x0791
8552 ,0x0482
8553 ,0x078E
8554 ,0x0792
8555 ,0x0483
8556 ,0x078B
8557 ,0x0893
8558 ,0x0483
8559 ,0x0986
8560 ,0x0A94
8561 ,0x0484
8562 ,0x1995
8563 ,0x0485
8564 ,0x1796
8565 ,0x0486
8566 ,0x1498
8567 ,0x0487
8568 ,0x1299
8569 ,0x0489
8570 ,0x0E9B
8571 ,0x048C
8572 ,0x089D
8573 ,0x05B3
8574 ,0x05BA
8575 ,0xFFFF
8576 ,0xFF8E
8577 ,0x00B7
8578 ,0x028A
8579 ,0x01A8
8580 ,0x0488
8581 ,0x03A5
8582 ,0x0786
8583 ,0x05A3
8584 ,0x0886
8585 ,0x05A5
8586 ,0x0784
8587 ,0x05A7
8588 ,0x0684
8589 ,0x05A8
8590 ,0x0682
8591 ,0x05AA
8592 ,0x0582
8593 ,0x05AA
8594 ,0x0581
8595 ,0x0591
8596 ,0x0495
8597 ,0x0580
8598 ,0x0591
8599 ,0x0495
8600 ,0x0580
8601 ,0x0591
8602 ,0x0495
8603 ,0x0580
8604 ,0x0492
8605 ,0x0495
8606 ,0x0580
8607 ,0x0492
8608 ,0x0495
8609 ,0x0580
8610 ,0x0492
8611 ,0x0495
8612 ,0x0580
8613 ,0x0492
8614 ,0x0594
8615 ,0x0580
8616 ,0x0590
8617 ,0x0694
8618 ,0x0580
8619 ,0x0590
8620 ,0x0694
8621 ,0x0580
8622 ,0x058F
8623 ,0x0892
8624 ,0x0582
8625 ,0x058E
8626 ,0x0892
8627 ,0x0582
8628 ,0x068C
8629 ,0x0A90
8630 ,0x0682
8631 ,0x078A
8632 ,0x0C8E
8633 ,0x0684
8634 ,0x0787
8635 ,0x0681
8636 ,0x068C
8637 ,0x0785
8638 ,0x1581
8639 ,0x0789
8640 ,0x0887
8641 ,0x1383
8642 ,0x1889
8643 ,0x1185
8644 ,0x168B
8645 ,0x0F87
8646 ,0x148D
8647 ,0x0C8A
8648 ,0x1291
8649 ,0x078E
8650 ,0x0EAC
8651 ,0x0AFF
8652 ,0xB8FF
8653 ,0xFF8B
8654 ,0x05B2
8655 ,0x06B0
8656 ,0x08AF
8657 ,0x09AD
8658 ,0x0BAC
8659 ,0x0CAA
8660 ,0x0EA9
8661 ,0x0781
8662 ,0x05A7
8663 ,0x0882
8664 ,0x05A6
8665 ,0x0784
8666 ,0x05A4
8667 ,0x0786
8668 ,0x05A3
8669 ,0x0787
8670 ,0x05A1
8671 ,0x0789
8672 ,0x059F
8673 ,0x088A
8674 ,0x059E
8675 ,0x078C
8676 ,0x059C
8677 ,0x088D
8678 ,0x059B
8679 ,0x078F
8680 ,0x0599
8681 ,0x0890
8682 ,0x0598
8683 ,0x0792
8684 ,0x0596
8685 ,0x0794
8686 ,0x0595
8687 ,0x0795
8688 ,0x0593
8689 ,0x0797
8690 ,0x0592
8691 ,0x3581
8692 ,0x3781
8693 ,0x3781
8694 ,0x3781
8695 ,0x3781
8696 ,0x3781
8697 ,0x37A4
8698 ,0x05B3
8699 ,0x05B3
8700 ,0x05B3
8701 ,0x05B3
8702 ,0x05B3
8703 ,0x05B3
8704 ,0x058F
8705 ,0xFFFF
8706 ,0xFF8C
8707 ,0x01A2
8708 ,0x0092
8709 ,0x0392
8710 ,0x1090
8711 ,0x0585
8712 ,0x1C8F
8713 ,0x0784
8714 ,0x1D8E
8715 ,0x0883
8716 ,0x1D8E
8717 ,0x0883
8718 ,0x1C91
8719 ,0x0782
8720 ,0x1B93
8721 ,0x0682
8722 ,0x058E
8723 ,0x0595
8724 ,0x0681
8725 ,0x058E
8726 ,0x0497
8727 ,0x0581
8728 ,0x058E
8729 ,0x0497
8730 ,0x0581
8731 ,0x058D
8732 ,0x0598
8733 ,0x0580
8734 ,0x058D
8735 ,0x0499
8736 ,0x0580
8737 ,0x058D
8738 ,0x0499
8739 ,0x0580
8740 ,0x058D
8741 ,0x0499
8742 ,0x0580
8743 ,0x058D
8744 ,0x0499
8745 ,0x0580
8746 ,0x058D
8747 ,0x0499
8748 ,0x0580
8749 ,0x058D
8750 ,0x0499
8751 ,0x0580
8752 ,0x058D
8753 ,0x0499
8754 ,0x0580
8755 ,0x058D
8756 ,0x0499
8757 ,0x0580
8758 ,0x058D
8759 ,0x0597
8760 ,0x0581
8761 ,0x058D
8762 ,0x0597
8763 ,0x0581
8764 ,0x058E
8765 ,0x0595
8766 ,0x0681
8767 ,0x058E
8768 ,0x0693
8769 ,0x0682
8770 ,0x058E
8771 ,0x0791
8772 ,0x0782
8773 ,0x058F
8774 ,0x088D
8775 ,0x0883
8776 ,0x0590
8777 ,0x0A87
8778 ,0x0B83
8779 ,0x0591
8780 ,0x1C84
8781 ,0x0592
8782 ,0x1A85
8783 ,0x0593
8784 ,0x1886
8785 ,0x0594
8786 ,0x15A5
8787 ,0x11AA
8788 ,0x0CC5
8789 ,0xFFFF
8790 ,0xF111
8791 ,0xA21B
8792 ,0x9A21
8793 ,0x9426
8794 ,0x9029
8795 ,0x8E2B
8796 ,0x8C0D
8797 ,0x8505
8798 ,0x850E
8799 ,0x880B
8800 ,0x8805
8801 ,0x8B09
8802 ,0x8808
8803 ,0x8906
8804 ,0x8E08
8805 ,0x8607
8806 ,0x8B05
8807 ,0x9107
8808 ,0x8407
8809 ,0x8B05
8810 ,0x9306
8811 ,0x8306
8812 ,0x8C05
8813 ,0x9506
8814 ,0x8205
8815 ,0x8D05
8816 ,0x9605
8817 ,0x8106
8818 ,0x8D04
8819 ,0x9706
8820 ,0x8005
8821 ,0x8D05
8822 ,0x9805
8823 ,0x8005
8824 ,0x8D05
8825 ,0x9805
8826 ,0x8004
8827 ,0x8E04
8828 ,0x990B
8829 ,0x8E04
8830 ,0x990B
8831 ,0x8E05
8832 ,0x980B
8833 ,0x8E05
8834 ,0x980B
8835 ,0x8E05
8836 ,0x9805
8837 ,0x8004
8838 ,0x8E06
8839 ,0x9605
8840 ,0x8104
8841 ,0x8F05
8842 ,0x9605
8843 ,0x8105
8844 ,0x8E06
8845 ,0x9405
8846 ,0x8205
8847 ,0x8F07
8848 ,0x9007
8849 ,0x8305
8850 ,0x8E09
8851 ,0x8C08
8852 ,0x8407
8853 ,0x8D0B
8854 ,0x860A
8855 ,0x8507
8856 ,0x8E1B
8857 ,0x8705
8858 ,0x9019
8859 ,0x8903
8860 ,0x9217
8861 ,0x8B00
8862 ,0x9613
8863 ,0xA70F
8864 ,0xAD07
8865 ,0xC8FF
8866 ,0xFFFF
8867 ,0x9605
8868 ,0xB305
8869 ,0xB305
8870 ,0xB305
8871 ,0xB305
8872 ,0xB305
8873 ,0xAF01
8874 ,0x8105
8875 ,0xAC04
8876 ,0x8105
8877 ,0xA907
8878 ,0x8105
8879 ,0xA60A
8880 ,0x8105
8881 ,0xA40C
8882 ,0x8105
8883 ,0xA10F
8884 ,0x8105
8885 ,0x9E12
8886 ,0x8105
8887 ,0x9B13
8888 ,0x8305
8889 ,0x9813
8890 ,0x8605
8891 ,0x9612
8892 ,0x8905
8893 ,0x9312
8894 ,0x8C05
8895 ,0x9012
8896 ,0x8F05
8897 ,0x8E11
8898 ,0x9205
8899 ,0x8B11
8900 ,0x9505
8901 ,0x8910
8902 ,0x9805
8903 ,0x8610
8904 ,0x9B05
8905 ,0x840F
8906 ,0x9E05
8907 ,0x8110
8908 ,0xA015
8909 ,0xA312
8910 ,0xA610
8911 ,0xA80D
8912 ,0xAB0B
8913 ,0xAD09
8914 ,0xAF06
8915 ,0xB204
8916 ,0xFFA7
8917 ,0xFFFF
8918 ,0xCA03
8919 ,0xB10B
8920 ,0xAB0F
8921 ,0x9007
8922 ,0x8F11
8923 ,0x8D0C
8924 ,0x8A14
8925 ,0x8A0F
8926 ,0x8816
8927 ,0x8811
8928 ,0x8618
8929 ,0x8614
8930 ,0x8407
8931 ,0x8708
8932 ,0x8515
8933 ,0x8306
8934 ,0x8B07
8935 ,0x8406
8936 ,0x8608
8937 ,0x8106
8938 ,0x8D06
8939 ,0x8306
8940 ,0x8907
8941 ,0x8004
8942 ,0x9006
8943 ,0x8205
8944 ,0x8B0C
8945 ,0x9105
8946 ,0x8105
8947 ,0x8D0A
8948 ,0x9205
8949 ,0x8104
8950 ,0x8F08
8951 ,0x9405
8952 ,0x8004
8953 ,0x9006
8954 ,0x9505
8955 ,0x8004
8956 ,0x9006
8957 ,0x950B
8958 ,0x9105
8959 ,0x950B
8960 ,0x9105
8961 ,0x950B
8962 ,0x9205
8963 ,0x940B
8964 ,0x9106
8965 ,0x9405
8966 ,0x8004
8967 ,0x9107
8968 ,0x9305
8969 ,0x8005
8970 ,0x8F08
8971 ,0x9304
8972 ,0x8105
8973 ,0x8E0A
8974 ,0x9105
8975 ,0x8106
8976 ,0x8C0C
8977 ,0x8F06
8978 ,0x8206
8979 ,0x8906
8980 ,0x8106
8981 ,0x8E05
8982 ,0x8308
8983 ,0x8508
8984 ,0x8107
8985 ,0x8C06
8986 ,0x8415
8987 ,0x8308
8988 ,0x8807
8989 ,0x8613
8990 ,0x850A
8991 ,0x820A
8992 ,0x8711
8993 ,0x8716
8994 ,0x890F
8995 ,0x8914
8996 ,0x8B0C
8997 ,0x8C12
8998 ,0x8F06
8999 ,0x9010
9000 ,0xAA0C
9001 ,0xAF06
9002 ,0xC5FF
9003 ,0xFFE9
9004 ,0x09AC
9005 ,0x0F98
9006 ,0x008D
9007 ,0x1395
9008 ,0x028A
9009 ,0x1792
9010 ,0x0488
9011 ,0x1990
9012 ,0x0686
9013 ,0x1B8E
9014 ,0x0785
9015 ,0x0988
9016 ,0x0A8F
9017 ,0x0683
9018 ,0x088D
9019 ,0x0790
9020 ,0x0582
9021 ,0x0790
9022 ,0x078F
9023 ,0x0582
9024 ,0x0693
9025 ,0x0590
9026 ,0x0580
9027 ,0x0694
9028 ,0x068F
9029 ,0x0580
9030 ,0x0596
9031 ,0x058F
9032 ,0x0580
9033 ,0x0597
9034 ,0x048F
9035 ,0x0580
9036 ,0x0498
9037 ,0x048F
9038 ,0x0580
9039 ,0x0498
9040 ,0x058E
9041 ,0x0B98
9042 ,0x058E
9043 ,0x0B98
9044 ,0x048F
9045 ,0x0580
9046 ,0x0498
9047 ,0x048E
9048 ,0x0581
9049 ,0x0597
9050 ,0x048E
9051 ,0x0581
9052 ,0x0596
9053 ,0x058D
9054 ,0x0681
9055 ,0x0695
9056 ,0x048E
9057 ,0x0583
9058 ,0x0594
9059 ,0x058D
9060 ,0x0683
9061 ,0x0693
9062 ,0x048D
9063 ,0x0685
9064 ,0x0790
9065 ,0x058B
9066 ,0x0786
9067 ,0x098D
9068 ,0x058A
9069 ,0x0888
9070 ,0x0B88
9071 ,0x0687
9072 ,0x0C89
9073 ,0x2D8C
9074 ,0x2B8F
9075 ,0x2793
9076 ,0x2496
9077 ,0x1F9D
9078 ,0x17A9
9079 ,0x07D3
9080 ,0xFF00
9081 #line 754 "p2_deco_main - 090915b.c"
9082
9083 };
9084
9085 #pragma romdata font_table_large = 0x0BFE6
9086 rom const rom unsigned int wp_large_table[] =
9087 {
9088 #line 1 "./ostc90.tbl.txt"
9089 0x0000
9090 ,0x0022
9091 ,0x0035
9092 ,0x00D2
9093 ,0x0100
9094 ,0x01A8
9095 ,0x0243
9096 ,0x02AC
9097 ,0x0354
9098 ,0x03ED
9099 ,0x0454
9100 ,0x04FF
9101 ,0x059A
9102 #line 760 "p2_deco_main - 090915b.c"
9103
9104 };
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114 #pragma code subroutines2 = 0x0C000
9115
9116
9117
9118
9119 void create_dbs_set_dbg_and_ndl20mtr(void)
9120 {
9121 int_O_DBS_bitfield = 0;
9122 int_O_DBS2_bitfield = 0;
9123 if(int_O_DBG_pre_bitfield & 0b0000000000000100 )
9124 int_O_DBG_pre_bitfield = 0b0000000000001000 ;
9125 else
9126 int_O_DBG_pre_bitfield = 0b0000000000000100 ;
9127 int_O_DBG_post_bitfield = 0;
9128 char_O_NDL_at_20mtr = 255;
9129
9130 DBG_N2_ratio = N2_ratio;
9131 DBG_He_ratio = He_ratio;
9132 DBG_char_I_deco_model = char_I_deco_model;
9133 DBG_char_I_depth_last_deco = char_I_depth_last_deco;
9134 DBG_pres_surface = pres_surface;
9135 DBG_GF_low = GF_low;
9136 DBG_GF_high = GF_high;
9137 DBG_const_ppO2 = const_ppO2;
9138 DBG_deco_ppO2_change = deco_ppO2_change;
9139 DBG_deco_ppO2 = deco_ppO2;
9140 DBG_deco_N2_ratio = deco_N2_ratio;
9141 DBG_deco_He_ratio = deco_He_ratio;
9142 DBG_deco_gas_change = deco_gas_change;
9143 DBG_float_saturation_multiplier = float_saturation_multiplier;
9144 DBG_float_desaturation_multiplier = float_desaturation_multiplier;
9145 DBG_float_deco_distance = float_deco_distance;
9146
9147 if(char_I_deco_model)
9148 int_O_DBS_bitfield |= 0b0000000000000001 ;
9149 if(const_ppO2)
9150 int_O_DBS_bitfield |= 0b0000000000000010 ;
9151 for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
9152 if(pres_tissue[int_dbg_i])
9153 int_O_DBS_bitfield |= 0b0000000000000100 ;
9154 if(deco_ppO2_change)
9155 int_O_DBS_bitfield |= 0b0000000000001000 ;
9156 if(float_saturation_multiplier < 0.99)
9157 int_O_DBS_bitfield |= 0b0000000000010000 ;
9158 if(float_saturation_multiplier > 1.3)
9159 int_O_DBS_bitfield |= 0b0000000000100000 ;
9160 if(GF_low < 0.19)
9161 int_O_DBS_bitfield |= 0b0000000001000000 ;
9162 if(GF_low > 1.01)
9163 int_O_DBS_bitfield |= 0b0000000010000000 ;
9164 if(GF_high < 0.6)
9165 int_O_DBS_bitfield |= 0b0000000100000000 ;
9166 if(GF_high > 1.01)
9167 int_O_DBS_bitfield |= 0b0000001000000000 ;
9168 if((N2_ratio + He_ratio) > 0.95)
9169 int_O_DBS_bitfield |= 0b0000010000000000 ;
9170 if((N2_ratio + He_ratio) < 0.05)
9171 int_O_DBS_bitfield |= 0b0000100000000000 ;
9172 if(float_deco_distance > 0.25)
9173 int_O_DBS_bitfield |= 0b0001000000000000 ;
9174 if(char_I_depth_last_deco > 8)
9175 int_O_DBS_bitfield |= 0b0010000000000000 ;
9176 if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) > 0.95))
9177 int_O_DBS_bitfield |= 0b0100000000000000 ;
9178 if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) < 0.05))
9179 int_O_DBS_bitfield |= 0b1000000000000000 ;
9180 if(pres_respiration > 3.0)
9181 int_O_DBS2_bitfield |= 0b0000000000000001 ;
9182 if(pres_surface - pres_respiration > 0.2)
9183 int_O_DBS2_bitfield |= 0b0000000000000010 ;
9184 if(pres_surface < 0.75)
9185 int_O_DBS2_bitfield |= 0b0000000000000100 ;
9186 if(pres_surface > 1.11)
9187 int_O_DBS2_bitfield |= 0b0000000000001000 ;
9188 if(float_desaturation_multiplier < 0.70)
9189 int_O_DBS2_bitfield |= 0b0000000000010000 ;
9190 if(float_desaturation_multiplier > 1.01)
9191 int_O_DBS2_bitfield |= 0b0000000000100000 ;
9192 if(GF_low > GF_high)
9193 int_O_DBS2_bitfield |= 0b0000000001000000 ;
9194 }
9195
9196
9197
9198
9199 void set_dbg_end_of_dive(void)
9200 {
9201 int_O_DBG_pre_bitfield &= (~0b0000000000000100 );
9202 int_O_DBG_post_bitfield &= (~0b0000000000000100 );
9203 }
9204
9205
9206
9207
9208 void check_ndl(void)
9209 {
9210 if((char_O_NDL_at_20mtr == -1) && (int_I_pres_respiration > 3000))
9211 {
9212 char_O_NDL_at_20mtr = char_O_nullzeit;
9213 if(char_O_NDL_at_20mtr == 255)
9214 char_O_NDL_at_20mtr == 254;
9215 }
9216 }
9217
9218
9219
9220
9221 void check_dbg(char is_post_check)
9222 {
9223 temp_DBS = 0;
9224 if( (DBG_N2_ratio != N2_ratio) || (DBG_He_ratio != He_ratio) )
9225 temp_DBS |= 0b0000000000000001 ;
9226 if(DBG_const_ppO2 != const_ppO2)
9227 temp_DBS |= 0b0000000000000010 ;
9228 if((DBG_float_saturation_multiplier != float_saturation_multiplier) || (DBG_float_desaturation_multiplier != float_desaturation_multiplier))
9229 temp_DBS |= 0b0000000000010000 ;
9230 if(DBG_char_I_deco_model != char_I_deco_model)
9231 temp_DBS |= 0b0000000000100000 ;
9232 if(DBG_pres_surface != pres_surface)
9233 temp_DBS |= 0b0000000001000000 ;
9234 if((!0b0000000000000100 ) && (!He_ratio))
9235 for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++)
9236 if(pres_tissue[int_dbg_i])
9237 temp_DBS |= 0b0000000010000000 ;
9238 if(DBG_deco_ppO2 != deco_ppO2)
9239 temp_DBS |= 0b0000000100000000 ;
9240 if((DBG_deco_gas_change != deco_gas_change) || (DBG_deco_N2_ratio != deco_N2_ratio) || (DBG_deco_He_ratio != deco_He_ratio))
9241 temp_DBS |= 0b0000001000000000 ;
9242 if(DBG_float_deco_distance != float_deco_distance)
9243 temp_DBS |= 0b0000010000000000 ;
9244 if(DBG_char_I_depth_last_deco != char_I_depth_last_deco)
9245 temp_DBS |= 0b0000100000000000 ;
9246 if((DBG_GF_low != GF_low) || (DBG_GF_high != GF_high))
9247 temp_DBS |= 0b0001000000000000 ;
9248 if(pres_respiration > 13.0)
9249 temp_DBS |= 0b0100000000000000 ;
9250 if(pres_surface - pres_respiration > 0.2)
9251 temp_DBS |= 0b1000000000000000 ;
9252
9253 #line 914 "p2_deco_main - 090915b.c"
9254
9255 if(is_post_check)
9256 int_O_DBG_post_bitfield |= temp_DBS;
9257 else
9258 int_O_DBG_pre_bitfield |= temp_DBS;
9259 }
9260
9261
9262
9263
9264 void check_pre_dbg(void)
9265 {
9266 check_dbg(0);
9267 }
9268
9269
9270
9271
9272 void check_post_dbg(void)
9273 {
9274 check_dbg(1);
9275 }
9276
9277
9278
9279
9280
9281
9282
9283 void calc_nextdecodepth_GF(void)
9284 {
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311 char_I_table_deco_done[0] = 0;
9312 if (char_I_deco_model == 1)
9313 {
9314 if (lock_GF_depth_list == 0)
9315 {
9316 temp2 = temp_pres_gtissue_limit_GF_low_below_surface / 0.29985;
9317 int_temp = (int) (temp2 + 0.99);
9318 if (int_temp > 31)
9319 int_temp = 31;
9320 if (int_temp < 0)
9321 int_temp = 0;
9322 temp_depth_GF_low_number = int_temp;
9323 temp_depth_GF_low_meter = 3 * temp_depth_GF_low_number;
9324 temp2 = (float)temp_depth_GF_low_meter * 0.09995;
9325 temp_pres_deco_GF_low = temp2 + float_deco_distance + pres_surface;
9326 if (temp_depth_GF_low_number == 0)
9327 GF_step = 0;
9328 else
9329 GF_step = GF_delta / (float)temp_depth_GF_low_number;
9330 if (GF_step < 0)
9331 GF_step = 0;
9332 if (GF_step > GF_delta)
9333 GF_step = GF_delta;
9334 int_O_GF_step = (int)(GF_step * 10000);
9335 int_O_limit_GF_low = (int)(temp_pres_deco_GF_low * 1000);
9336 int_O_gtissue_press_at_GF_low = (int)(temp_pres_gtissue * 1000);
9337 char_O_GF_low_pointer = temp_depth_GF_low_number;
9338 lock_GF_depth_list = 1;
9339 internal_deco_pointer = 0;
9340 }
9341 if (internal_deco_pointer == 0)
9342 {
9343 internal_deco_pointer = temp_depth_GF_low_number;
9344 GF_temp = GF_high - ((float)internal_deco_pointer * GF_step);
9345 int_temp = char_I_table_deco_done[internal_deco_pointer];
9346 output[8] = int_temp;
9347 output[9] = 33;
9348 }
9349 else
9350 {
9351 int_temp = 1;
9352 }
9353 while (int_temp == 1)
9354 {
9355 int_temp = internal_deco_pointer - 1;
9356 if (int_temp == 1)
9357 {
9358 temp2 = (float)(temp_depth_last_deco * int_temp) * 0.09995;
9359 GF_step2 = GF_step/3.0 * ((float)(6 - temp_depth_last_deco));
9360 }
9361 else
9362 if (int_temp == 0)
9363 {
9364 temp2 = 0.0;
9365 GF_step2 = GF_high - GF_temp;
9366 }
9367 else
9368 {
9369 temp2 = (float)(3 *int_temp) * 0.09995;
9370 GF_step2 = GF_step;
9371 }
9372 temp2 = temp2 + pres_surface;
9373 temp1 = ((GF_temp + GF_step2)* temp_pres_gtissue_diff) + temp_pres_gtissue;
9374 if (temp1 > temp2)
9375 {
9376 int_temp = 0;
9377 }
9378 else
9379 {
9380 internal_deco_pointer = int_temp;
9381 GF_temp = GF_temp + GF_step2;
9382 int_temp = char_I_table_deco_done[internal_deco_pointer];
9383 }
9384 }
9385 if (internal_deco_pointer > 0)
9386 {
9387 temp2 = (float)(0.29985 * internal_deco_pointer);
9388 temp_deco = temp2 + float_deco_distance + pres_surface;
9389 if (internal_deco_pointer == 1)
9390 temp_depth_limit = temp_depth_last_deco;
9391 else
9392 temp_depth_limit = 3 * internal_deco_pointer;
9393 if (output[9] == 33)
9394 {
9395 output[9] = internal_deco_pointer;
9396 output[10] = char_I_table_deco_done[internal_deco_pointer];
9397 output[12] = output[12] + 1;
9398 if (output[12] == 100)
9399 output[12] = 0;
9400 }
9401 }
9402 else
9403 {
9404 temp_deco = pres_surface;
9405 temp_depth_limit = 0;
9406 }
9407 }
9408 else
9409 {
9410
9411
9412
9413
9414 temp1 = temp_pres_gtissue_limit - pres_surface;
9415 if (temp1 >= 0)
9416 {
9417 temp1 = temp1 / 0.29985;
9418 temp_depth_limit = (int) (temp1 + 0.99);
9419 temp_depth_limit = 3 * temp_depth_limit;
9420 if (temp_depth_limit == 0)
9421 temp_deco = pres_surface;
9422 else
9423 {
9424 if (temp_depth_limit < temp_depth_last_deco)
9425 temp_depth_limit = temp_depth_last_deco;
9426 temp1 = (float)temp_depth_limit * 0.09995;
9427 temp_deco = temp1 + float_deco_distance + pres_surface;
9428 }
9429 }
9430 else
9431 {
9432 temp_deco = pres_surface;
9433 temp_depth_limit = 0;
9434 }
9435 }
9436 }
9437
9438
9439 #line 1100 "p2_deco_main - 090915b.c"
9440 #line 1116 "p2_deco_main - 090915b.c"
9441
9442
9443
9444
9445
9446 void copy_deco_table_GF(void)
9447 {
9448 if (char_I_deco_model == 1)
9449 {
9450 int_temp = 32;
9451 for (ci=0;ci<int_temp;ci++)
9452 char_O_deco_table[ci] = internal_deco_table[ci];
9453 }
9454 }
9455
9456
9457
9458
9459
9460
9461 void clear_internal_deco_table_GF(void)
9462 {
9463 if (char_I_deco_model == 1)
9464 {
9465 for (ci=0;ci<32;ci++)
9466 {
9467 internal_deco_table[ci] = 0;
9468 }
9469 }
9470 }
9471
9472
9473
9474
9475
9476
9477 void update_internal_deco_table_GF(void)
9478 {
9479 if ((char_I_deco_model == 1) && (internal_deco_table[internal_deco_pointer] < 255))
9480 internal_deco_table[internal_deco_pointer] = internal_deco_table[internal_deco_pointer] + 1;
9481 }
9482
9483
9484
9485
9486
9487
9488 void temp_tissue_safety(void)
9489 {
9490 if (char_I_deco_model == 1)
9491 {
9492 }
9493 else
9494 {
9495 if (temp_tissue < 0.0)
9496 temp_tissue = temp_tissue * float_desaturation_multiplier;
9497 else
9498 temp_tissue = temp_tissue * float_saturation_multiplier;
9499 }
9500 }
9501
9502
9503
9504
9505
9506
9507
9508
9509 #pragma code main_calc_hauptroutine = 0x10000
9510 void main_calc_hauptroutine(void)
9511 {
9512 calc_hauptroutine();
9513 int_O_desaturation_time = 65535;
9514 }
9515 #pragma code main_without_deco = 0x10020
9516 void main_calc_without_deco(void)
9517 {
9518 calc_without_deco();
9519 calc_desaturation_time();
9520 }
9521
9522 #pragma code main_clear_CNS_fraction = 0x10030
9523 void main_clear_CNS_fraction(void)
9524 {
9525 clear_CNS_fraction();
9526 }
9527
9528 #pragma code main_calc_CNS_decrease_15min = 0x10034
9529 void main_calc_CNS_decrease_15min(void)
9530 {
9531 calc_CNS_decrease_15min();
9532 }
9533
9534 #pragma code main_calc_percentage = 0x10038
9535 void main_calc_percentage (void)
9536 {
9537 calc_percentage();
9538 }
9539
9540 #pragma code main_clear_tissue = 0x10040
9541 void main_clear_tissue(void)
9542 {
9543 clear_tissue();
9544 char_I_depth_last_deco = 0;
9545 }
9546
9547 #pragma code main_calc_CNS_fraction = 0x10050
9548 void main_calc_CNS_fraction(void)
9549 {
9550 calc_CNS_fraction();
9551 }
9552
9553 #pragma code main_calc_desaturation_time = 0x10060
9554 void main_calc_desaturation_time(void)
9555 {
9556 calc_desaturation_time();
9557 }
9558
9559 #pragma code main_calc_wo_deco_step_1_min = 0x10080
9560 void main_calc_wo_deco_step_1_min(void)
9561 {
9562 calc_wo_deco_step_1_min();
9563 char_O_deco_status = 3;
9564 calc_desaturation_time();
9565 }
9566
9567 #pragma code main_debug = 0x100A0
9568 void main_debug(void)
9569 {
9570
9571 }
9572
9573 #pragma code main_DD2_write_incon42 = 0x100B0
9574 void main_DD2_write_incon42(void)
9575 {
9576 return;
9577 }
9578
9579 #pragma code main_DD2_write_incon24 = 0x100B4
9580 void main_DD2_write_incon24(void)
9581 {
9582 return;
9583 }
9584
9585 #pragma code main_wordprocessor = 0x100B8
9586 void main_wordprocessor(void)
9587 {
9588 wordprocessor();
9589 }
9590
9591 #pragma code main_gradient_array = 0x100C0
9592 void main_gradient_array(void)
9593 {
9594 calc_gradient_array_only();
9595 }
9596 #pragma code main_push_tissues = 0x100C4
9597 void main_push_tissues_to_vault(void)
9598 {
9599 push_tissues_to_vault();
9600 }
9601 #pragma code main_pull_tissues = 0x100C8
9602 void main_pull_tissues_from_vault(void)
9603 {
9604 pull_tissues_from_vault();
9605 }
9606
9607 #pragma code main_hash = 0x100E0
9608 void main_hash(void)
9609 {
9610 hash();
9611 }
9612
9613
9614
9615
9616
9617
9618
9619 #pragma romdata tables = 0x10200
9620
9621
9622 #pragma romdata tables2 = 0x10600
9623 rom const rom unsigned int md_pi[] =
9624 {
9625 0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613
9626 , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA
9627 , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512
9628 , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A
9629 , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21
9630 , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703
9631 , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6
9632 , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1
9633 , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802
9634 , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F
9635 , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26
9636 , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52
9637 , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A
9638 , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39
9639 , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A
9640 , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314
9641 };
9642
9643
9644
9645
9646
9647
9648
9649 #pragma code subroutines = 0x10700
9650
9651
9652
9653
9654
9655
9656
9657 void clear_tissue(void)
9658 {
9659
9660 flag_in_divemode = 0;
9661 int_O_DBS_bitfield = 0;
9662 int_O_DBS2_bitfield = 0;
9663 int_O_DBG_pre_bitfield = 0;
9664 int_O_DBG_post_bitfield = 0;
9665 char_O_NDL_at_20mtr = 255;
9666
9667 _asm
9668 lfsr 1, 0x300
9669 movlw 0x01
9670 movwf TBLPTRU,0
9671 _endasm
9672
9673
9674 N2_ratio = 0.7902;
9675 pres_respiration = (float)int_I_pres_respiration / 1000.0;
9676 for (ci=0;ci<16;ci++)
9677 {
9678 pres_tissue[ci] = N2_ratio * (pres_respiration - 0.0627) ;
9679 _asm
9680 movlw 0x02
9681 movwf TBLPTRH,0
9682 movlb 4
9683 movf ci,0,1
9684 addwf ci,0,1
9685 addwf ci,0,1
9686 addwf ci,0,1
9687 addlw 0x80
9688 movwf TBLPTRL,0
9689 TBLRDPOSTINC
9690 movff TABLAT,var_a+1
9691 TBLRDPOSTINC
9692 movff TABLAT,var_a
9693 TBLRDPOSTINC
9694 movff TABLAT,var_a+3
9695 TBLRD
9696 movff TABLAT,var_a+2
9697 addlw 0x80
9698 movwf TBLPTRL,0
9699 incf TBLPTRH,1,0
9700 TBLRDPOSTINC
9701 movff TABLAT,var_b+1
9702 TBLRDPOSTINC
9703 movff TABLAT,var_b
9704 TBLRDPOSTINC
9705 movff TABLAT,var_b+3
9706 TBLRD
9707 movff TABLAT,var_b+2
9708 _endasm
9709
9710 pres_tissue_limit[ci] = (pres_tissue[ci] - var_a) * var_b ;
9711
9712 if (pres_tissue_limit[ci] < 0)
9713 pres_tissue_limit[ci] = 0;
9714 }
9715
9716 for (ci=16;ci<32;ci++)
9717 {
9718 pres_tissue[ci] = 0.0;
9719 }
9720
9721 clear_decoarray();
9722 char_O_deco_status = 0;
9723 char_O_nullzeit = 0;
9724 char_O_ascenttime = 0;
9725 char_O_gradient_factor = 0;
9726 char_O_relative_gradient_GF = 0;
9727 }
9728
9729
9730
9731
9732
9733
9734
9735
9736 void calc_without_deco(void)
9737 {
9738 _asm
9739 lfsr 1, 0x300
9740 _endasm
9741 N2_ratio = 0.7902;
9742 pres_respiration = (float)int_I_pres_respiration / 1000.0;
9743 pres_surface = (float)int_I_pres_surface / 1000.0;
9744 temp_atem = N2_ratio * (pres_respiration - 0.0627);
9745 temp2_atem = 0.0;
9746 temp_surface = pres_surface;
9747 float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
9748 float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
9749
9750 calc_tissue();
9751
9752 clear_decoarray();
9753 char_O_deco_status = 0;
9754 char_O_nullzeit = 0;
9755 char_O_ascenttime = 0;
9756 calc_gradient_factor();
9757
9758 }
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770 void calc_hauptroutine(void)
9771 {
9772 calc_hauptroutine_data_input();
9773
9774 if(!flag_in_divemode)
9775 {
9776 flag_in_divemode = 1;
9777 create_dbs_set_dbg_and_ndl20mtr();
9778 }
9779 else
9780 check_pre_dbg();
9781
9782 calc_hauptroutine_update_tissues();
9783 calc_gradient_factor();
9784
9785
9786 switch (char_O_deco_status)
9787 {
9788 case 0:
9789 update_startvalues();
9790 calc_nullzeit();
9791 check_ndl();
9792 char_O_deco_status = 255;
9793 break;
9794 case 1:
9795 if (char_O_deco_status == 3)
9796 break;
9797 char_O_deco_status = 0;
9798
9799 calc_hauptroutine_calc_deco();
9800
9801 break;
9802 case 3:
9803 clear_decoarray();
9804 clear_internal_deco_table_GF();
9805 copy_deco_table_GF();
9806 internal_deco_pointer = 0;
9807 lock_GF_depth_list = 0;
9808 update_startvalues();
9809 calc_nextdecodepth_GF();
9810 char_O_deco_status = 0;
9811 break;
9812 default:
9813 update_startvalues();
9814 clear_decoarray();
9815 clear_internal_deco_table_GF();
9816 output[6] = 1;
9817 calc_hauptroutine_calc_ascend_to_deco();
9818 if (char_O_deco_status > 15)
9819 {
9820 char_O_deco_status = 2;
9821
9822 }
9823 else
9824 {
9825
9826 calc_hauptroutine_calc_deco();
9827 }
9828
9829 break;
9830 }
9831 calc_ascenttime();
9832 check_post_dbg();
9833 }
9834
9835 void calc_hauptroutine_data_input(void)
9836 {
9837 pres_respiration = (float)int_I_pres_respiration / 1000.0;
9838 pres_surface = (float)int_I_pres_surface / 1000.0;
9839
9840 N2_ratio = (float)char_I_N2_ratio / 100.0;;
9841 He_ratio = (float)char_I_He_ratio / 100.0;;
9842 deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0;
9843 deco_He_ratio = (float)char_I_deco_He_ratio / 100.0;
9844 float_deco_distance = (float)char_I_deco_distance / 100.0;
9845 if(char_I_deco_gas_change)
9846 {
9847 deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface;
9848 deco_gas_change = deco_gas_change + float_deco_distance;
9849 }
9850 else
9851 deco_gas_change = 0;
9852 const_ppO2 = (float)char_I_const_ppO2 / 100.0;
9853 deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface;
9854 deco_ppO2_change = deco_ppO2_change + float_deco_distance;
9855 deco_ppO2 = (float)char_I_deco_ppO2 / 100.0;
9856 float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0;
9857 float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
9858 GF_low = (float)char_I_GF_Low_percentage / 100.0;
9859 GF_high = (float)char_I_GF_High_percentage / 100.0;
9860 GF_delta = GF_high - GF_low;
9861
9862 temp2 = (pres_respiration - pres_surface) / 0.29985;
9863 int_temp = (int)(temp2);
9864 if (int_temp < 0)
9865 int_temp = 0;
9866 if (int_temp > 255)
9867 int_temp = 255;
9868 char_O_actual_pointer = int_temp;
9869
9870 temp_depth_last_deco = (int)char_I_depth_last_deco;
9871 }
9872
9873 void calc_hauptroutine_update_tissues(void)
9874 {
9875 int_O_calc_tissue_call_counter = int_O_calc_tissue_call_counter + 1;
9876 if (char_I_const_ppO2 == 0)
9877 pres_diluent = pres_respiration;
9878 else
9879 pres_diluent = ((pres_respiration - const_ppO2)/(N2_ratio + He_ratio));
9880 if (pres_diluent > pres_respiration)
9881 pres_diluent = pres_respiration;
9882 if (pres_diluent > 0.0627)
9883 {
9884 temp_atem = N2_ratio * (pres_diluent - 0.0627);
9885 temp2_atem = He_ratio * (pres_diluent - 0.0627);
9886 char_O_diluent = (char)(pres_diluent/pres_respiration*100.0);
9887 }
9888 else
9889 {
9890 temp_atem = 0.0;
9891 temp2_atem = 0.0;
9892 char_O_diluent = 0;
9893 }
9894 temp_surface = pres_surface;
9895 calc_tissue();
9896 int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000);
9897 int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000);
9898 if (char_I_deco_model == 1)
9899 {
9900 temp1 = temp1 * GF_high;
9901 }
9902 else
9903 {
9904 temp1 = temp_surface;
9905 }
9906 if (pres_gtissue_limit > temp1 && char_O_deco_status == 0)
9907 {
9908 char_O_nullzeit = 0;
9909 char_O_deco_status = 255;
9910 }
9911 }
9912 void calc_hauptroutine_calc_deco(void)
9913 {
9914 do
9915 {
9916 int_temp_decostatus = 0;
9917 calc_nextdecodepth_GF();
9918 if (temp_depth_limit > 0)
9919 {
9920 if (char_I_const_ppO2 == 0)
9921 {
9922 deco_diluent = temp_deco;
9923 if (temp_deco > deco_gas_change)
9924 {
9925 calc_N2_ratio = N2_ratio;
9926 calc_He_ratio = He_ratio;
9927 }
9928 else
9929 {
9930 calc_N2_ratio = deco_N2_ratio;
9931 calc_He_ratio = deco_He_ratio;
9932 }
9933 }
9934 else
9935 {
9936 calc_N2_ratio = N2_ratio;
9937 calc_He_ratio = He_ratio;
9938 if (temp_deco > deco_ppO2_change)
9939 {
9940 deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio));
9941 }
9942 else
9943 {
9944 deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio));
9945 }
9946 }
9947 if (deco_diluent > temp_deco)
9948 deco_diluent = temp_deco;
9949 if (deco_diluent > 0.0627)
9950 {
9951 temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);
9952 temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);
9953 }
9954 else
9955 {
9956 temp_atem = 0.0;
9957 temp2_atem = 0.0;
9958 }
9959 sim_tissue_1min();
9960 update_internal_deco_table_GF();
9961 temp_decotime = 1;
9962 update_decoarray();
9963 char_O_deco_status = char_O_deco_status + 1;
9964 if (char_O_deco_status < 16)
9965 int_temp_decostatus = 1;
9966 }
9967 else
9968 {
9969 char_O_deco_status = 0;
9970 }
9971 } while (int_temp_decostatus == 1);
9972 if (char_O_deco_status > 15)
9973 {
9974 char_O_deco_status = 1;
9975 }
9976 else
9977 {
9978 copy_deco_table_GF();
9979 char_O_deco_status = 0;
9980 }
9981 }
9982
9983 void calc_hauptroutine_calc_ascend_to_deco(void)
9984 {
9985 update_startvalues();
9986 char_O_deco_status = 0;
9987 temp_deco = pres_respiration;
9988 lock_GF_depth_list = 1;
9989 do
9990 {
9991 int_temp_decostatus = 0;
9992 temp_deco = temp_deco - 1.0;
9993 if ( char_I_deco_model == 1)
9994 temp_limit = temp_pres_gtissue_limit_GF_low;
9995 else
9996 temp_limit = temp_pres_gtissue_limit;
9997 if ((temp_deco > temp_limit) && (temp_deco > pres_surface))
9998 {
9999 lock_GF_depth_list = 0;
10000 output[6] = 0;
10001 if (char_I_const_ppO2 == 0)
10002 {
10003 deco_diluent = temp_deco + 0.5;
10004 if (temp_deco + 0.5 > deco_gas_change)
10005 {
10006 calc_N2_ratio = N2_ratio;
10007 calc_He_ratio = He_ratio;
10008 }
10009 else
10010 {
10011 calc_N2_ratio = deco_N2_ratio;
10012 calc_He_ratio = deco_He_ratio;
10013 }
10014 }
10015 else
10016 {
10017 calc_N2_ratio = N2_ratio;
10018 calc_He_ratio = He_ratio;
10019 if (temp_deco + 0.5 > deco_ppO2_change)
10020 deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio));
10021 else
10022 deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio));
10023 if (deco_diluent > (temp_deco +0.5))
10024 deco_diluent = temp_deco + 0.5;
10025 }
10026 if (deco_diluent > 0.0627)
10027 {
10028 temp_atem = calc_N2_ratio * (deco_diluent - 0.0627);
10029 temp2_atem = calc_He_ratio * (deco_diluent - 0.0627);
10030 }
10031 else
10032 {
10033 temp_atem = 0.0;
10034 temp2_atem = 0.0;
10035 }
10036 sim_tissue_1min();
10037 char_O_deco_status = char_O_deco_status + 1;
10038 if (char_O_deco_status < 16)
10039 int_temp_decostatus = 1;
10040 }
10041 } while (int_temp_decostatus == 1);
10042 }
10043
10044
10045
10046
10047
10048
10049 void calc_tissue(void)
10050 {
10051 _asm
10052 lfsr 1, 0x300
10053 movlw 0x01
10054 movwf TBLPTRU,0
10055 _endasm
10056
10057 char_O_gtissue_no = 255;
10058 pres_gtissue_limit = 0.0;
10059
10060 for (ci=0;ci<16;ci++)
10061 {
10062 _asm
10063 movlw 0x02
10064 movwf TBLPTRH,0
10065 movlb 4
10066 movf ci,0,1
10067 addwf ci,0,1
10068 addwf ci,0,1
10069 addwf ci,0,1
10070 movwf TBLPTRL,0
10071 TBLRDPOSTINC
10072 movff TABLAT,var_e2secs+1
10073 TBLRDPOSTINC
10074 movff TABLAT,var_e2secs
10075 TBLRDPOSTINC
10076 movff TABLAT,var_e2secs+3
10077 TBLRD
10078 movff TABLAT,var_e2secs+2
10079 addlw 0x40
10080 movwf TBLPTRL,0
10081 TBLRDPOSTINC
10082 movff TABLAT,var2_e2secs+1
10083 TBLRDPOSTINC
10084 movff TABLAT,var2_e2secs
10085 TBLRDPOSTINC
10086 movff TABLAT,var2_e2secs+3
10087 TBLRD
10088 movff TABLAT,var2_e2secs+2
10089 addlw 0x40
10090 movwf TBLPTRL,0
10091 TBLRDPOSTINC
10092 movff TABLAT,var_a+1
10093 TBLRDPOSTINC
10094 movff TABLAT,var_a
10095 TBLRDPOSTINC
10096 movff TABLAT,var_a+3
10097 TBLRD
10098 movff TABLAT,var_a+2
10099 addlw 0x40
10100 movwf TBLPTRL,0
10101 TBLRDPOSTINC
10102 movff TABLAT,var2_a+1
10103 TBLRDPOSTINC
10104 movff TABLAT,var2_a
10105 TBLRDPOSTINC
10106 movff TABLAT,var2_a+3
10107 TBLRD
10108 movff TABLAT,var2_a+2
10109 addlw 0x40
10110 movwf TBLPTRL,0
10111 incf TBLPTRH,1,0
10112 TBLRDPOSTINC
10113 movff TABLAT,var_b+1
10114 TBLRDPOSTINC
10115 movff TABLAT,var_b
10116 TBLRDPOSTINC
10117 movff TABLAT,var_b+3
10118 TBLRD
10119 movff TABLAT,var_b+2
10120 addlw 0x40
10121 movwf TBLPTRL,0
10122 TBLRDPOSTINC
10123 movff TABLAT,var2_b+1
10124 TBLRDPOSTINC
10125 movff TABLAT,var2_b
10126 TBLRDPOSTINC
10127 movff TABLAT,var2_b+3
10128 TBLRD
10129 movff TABLAT,var2_b+2
10130 _endasm
10131
10132
10133 if( (var_e2secs < 0.0000363)
10134 || (var_e2secs > 0.00577)
10135 || (var2_e2secs < 0.0000961)
10136 || (var2_e2secs > 0.150)
10137 || (var_a < 0.231)
10138 || (var_a > 1.27)
10139 || (var_b < 0.504)
10140 || (var_b > 0.966)
10141 || (var2_a < 0.510)
10142 || (var2_a > 1.75)
10143 || (var2_b < 0.423)
10144 || (var2_b > 0.927)
10145 )
10146 int_O_DBG_pre_bitfield |= 0b0010000000000000 ;
10147
10148
10149 temp_tissue = (temp_atem - pres_tissue[ci]) * var_e2secs;
10150 temp_tissue_safety();
10151 pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
10152
10153
10154 temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e2secs;
10155 temp_tissue_safety();
10156 pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
10157
10158 temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
10159
10160 var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
10161 var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
10162 pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
10163 if (pres_tissue_limit[ci] < 0)
10164 pres_tissue_limit[ci] = 0;
10165 if (pres_tissue_limit[ci] > pres_gtissue_limit)
10166 {
10167 pres_gtissue_limit = pres_tissue_limit[ci];
10168 char_O_gtissue_no = ci;
10169 }
10170 }
10171 }
10172
10173
10174
10175
10176
10177
10178
10179
10180 void calc_nullzeit(void)
10181 {
10182 char_O_nullzeit = 0;
10183 int_temp = 1;
10184 do
10185 {
10186 backup_sim_pres_tissue();
10187 sim_tissue_10min();
10188 char_O_nullzeit = char_O_nullzeit + 10;
10189 int_temp = int_temp + 1;
10190 if (char_I_deco_model == 1)
10191 temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
10192 else
10193 temp1 = temp_pres_gtissue_limit;
10194 if (temp1 > temp_surface)
10195 int_temp = 255;
10196 } while (int_temp < 17);
10197 if (int_temp == 255)
10198 {
10199 restore_sim_pres_tissue();
10200 char_O_nullzeit = char_O_nullzeit - 10;
10201 }
10202 int_temp = 1;
10203 if (char_O_nullzeit < 60)
10204 {
10205 do
10206 {
10207 sim_tissue_1min();
10208 char_O_nullzeit = char_O_nullzeit + 1;
10209 int_temp = int_temp + 1;
10210 if (char_I_deco_model == 1)
10211 temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue;
10212 else
10213 temp1 = temp_pres_gtissue_limit;
10214 if (temp1 > temp_surface)
10215 int_temp = 255;
10216 } while (int_temp < 10);
10217 if (int_temp == 255)
10218 char_O_nullzeit = char_O_nullzeit - 1;
10219 }
10220 }
10221
10222
10223
10224
10225 void backup_sim_pres_tissue(void)
10226 {
10227 for (x = 0;x<16;x++)
10228 {
10229 sim_pres_tissue_backup[x] = sim_pres_tissue[x];
10230 sim_pres_tissue_backup[x+16] = sim_pres_tissue[x+16];
10231 }
10232 }
10233
10234
10235
10236
10237 void restore_sim_pres_tissue(void)
10238 {
10239 for (x = 0;x<16;x++)
10240 {
10241 sim_pres_tissue[x] = sim_pres_tissue_backup[x];
10242 sim_pres_tissue[x+16] = sim_pres_tissue_backup[x+16];
10243 }
10244 }
10245
10246
10247
10248
10249
10250 void calc_ascenttime(void)
10251 {
10252 if (pres_respiration > pres_surface)
10253 {
10254 switch (char_O_deco_status)
10255 {
10256 case 2:
10257 char_O_ascenttime = 255;
10258 break;
10259 case 1:
10260 break;
10261 default:
10262 temp1 = pres_respiration - pres_surface + 0.6;
10263 if (temp1 < 0)
10264 temp1 = 0;
10265 if (temp1 > 255)
10266 temp1 = 255;
10267 char_O_ascenttime = (char)temp1;
10268
10269 for(ci=0;ci<7;ci++)
10270 {
10271 x = char_O_ascenttime + char_O_array_decotime[ci];
10272 if (x < char_O_ascenttime)
10273 char_O_ascenttime = 255;
10274 else
10275 char_O_ascenttime = x;
10276 }
10277 }
10278 }
10279 else
10280 char_O_ascenttime = 0;
10281 }
10282
10283
10284
10285
10286
10287
10288
10289 void update_startvalues(void)
10290 {
10291 temp_pres_gtissue_limit = pres_gtissue_limit;
10292 temp_pres_gtissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
10293 temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
10294 temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
10295 temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
10296 if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
10297 temp_pres_gtissue_limit_GF_low_below_surface = 0;
10298
10299 temp_gtissue_no = char_O_gtissue_no;
10300 for (x = 0;x<16;x++)
10301 {
10302 sim_pres_tissue[x] = pres_tissue[x];
10303 sim_pres_tissue[x+16] = pres_tissue[x+16];
10304 sim_pres_tissue_limit[x] = pres_tissue_limit[x];
10305 }
10306 }
10307
10308
10309
10310
10311
10312
10313
10314 void sim_tissue_1min(void)
10315 {
10316 temp_pres_gtissue_limit = 0.0;
10317 temp_gtissue_no = 255;
10318
10319 _asm
10320 lfsr 1, 0x300
10321 movlw 0x01
10322 movwf TBLPTRU,0
10323 _endasm
10324
10325
10326 for (ci=0;ci<16;ci++)
10327 {
10328 _asm
10329 movlw 0x02
10330 movwf TBLPTRH,0
10331 movlb 4
10332 movf ci,0,1
10333 addwf ci,0,1
10334 addwf ci,0,1
10335 addwf ci,0,1
10336 addlw 0x80
10337 movwf TBLPTRL,0
10338 TBLRDPOSTINC
10339 movff TABLAT,var_a+1
10340 TBLRDPOSTINC
10341 movff TABLAT,var_a
10342 TBLRDPOSTINC
10343 movff TABLAT,var_a+3
10344 TBLRD
10345 movff TABLAT,var_a+2
10346 addlw 0x40
10347 movwf TBLPTRL,0
10348 TBLRDPOSTINC
10349 movff TABLAT,var2_a+1
10350 TBLRDPOSTINC
10351 movff TABLAT,var2_a
10352 TBLRDPOSTINC
10353 movff TABLAT,var2_a+3
10354 TBLRD
10355 movff TABLAT,var2_a+2
10356 addlw 0x40
10357 movwf TBLPTRL,0
10358 incf TBLPTRH,1,0
10359 TBLRDPOSTINC
10360 movff TABLAT,var_b+1
10361 TBLRDPOSTINC
10362 movff TABLAT,var_b
10363 TBLRDPOSTINC
10364 movff TABLAT,var_b+3
10365 TBLRD
10366 movff TABLAT,var_b+2
10367 addlw 0x40
10368 movwf TBLPTRL,0
10369 TBLRDPOSTINC
10370 movff TABLAT,var2_b+1
10371 TBLRDPOSTINC
10372 movff TABLAT,var2_b
10373 TBLRDPOSTINC
10374 movff TABLAT,var2_b+3
10375 TBLRD
10376 movff TABLAT,var2_b+2
10377 addlw 0xC0
10378 movwf TBLPTRL,0
10379 incf TBLPTRH,1,0
10380 TBLRDPOSTINC
10381 movff TABLAT,var_e1min+1
10382 TBLRDPOSTINC
10383 movff TABLAT,var_e1min
10384 TBLRDPOSTINC
10385 movff TABLAT,var_e1min+3
10386 TBLRD
10387 movff TABLAT,var_e1min+2
10388 addlw 0x40
10389 movwf TBLPTRL,0
10390 TBLRDPOSTINC
10391 movff TABLAT,var2_e1min+1
10392 TBLRDPOSTINC
10393 movff TABLAT,var2_e1min
10394 TBLRDPOSTINC
10395 movff TABLAT,var2_e1min+3
10396 TBLRD
10397 movff TABLAT,var2_e1min+2
10398 _endasm
10399
10400 temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
10401 temp_tissue_safety();
10402 sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
10403
10404 temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
10405 temp_tissue_safety();
10406 sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
10407
10408 temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
10409 var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
10410 var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
10411 sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
10412
10413 if (sim_pres_tissue_limit[ci] < 0)
10414 sim_pres_tissue_limit[ci] = 0;
10415 if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
10416 {
10417 temp_pres_gtissue = temp_tissue;
10418 temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
10419 temp_gtissue_no = ci;
10420 }
10421 }
10422 temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
10423 temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
10424 temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
10425 if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
10426 temp_pres_gtissue_limit_GF_low_below_surface = 0;
10427 }
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438 void sim_tissue_10min(void)
10439 {
10440 temp_pres_gtissue_limit = 0.0;
10441 temp_gtissue_no = 255;
10442
10443 _asm
10444 lfsr 1, 0x300
10445 movlw 0x01
10446 movwf TBLPTRU,0
10447 _endasm
10448
10449 for (ci=0;ci<16;ci++)
10450 {
10451 _asm
10452 movlw 0x02
10453 movwf TBLPTRH,0
10454 movlb 4
10455 movf ci,0,1
10456 addwf ci,0,1
10457 addwf ci,0,1
10458 addwf ci,0,1
10459 addlw 0x80
10460 movwf TBLPTRL,0
10461 TBLRDPOSTINC
10462 movff TABLAT,var_a+1
10463 TBLRDPOSTINC
10464 movff TABLAT,var_a
10465 TBLRDPOSTINC
10466 movff TABLAT,var_a+3
10467 TBLRD
10468 movff TABLAT,var_a+2
10469 addlw 0x40
10470 movwf TBLPTRL,0
10471 TBLRDPOSTINC
10472 movff TABLAT,var2_a+1
10473 TBLRDPOSTINC
10474 movff TABLAT,var2_a
10475 TBLRDPOSTINC
10476 movff TABLAT,var2_a+3
10477 TBLRD
10478 movff TABLAT,var2_a+2
10479 addlw 0x40
10480 movwf TBLPTRL,0
10481 incf TBLPTRH,1,0
10482 TBLRDPOSTINC
10483 movff TABLAT,var_b+1
10484 TBLRDPOSTINC
10485 movff TABLAT,var_b
10486 TBLRDPOSTINC
10487 movff TABLAT,var_b+3
10488 TBLRD
10489 movff TABLAT,var_b+2
10490 addlw 0x40
10491 movwf TBLPTRL,0
10492 TBLRDPOSTINC
10493 movff TABLAT,var2_b+1
10494 TBLRDPOSTINC
10495 movff TABLAT,var2_b
10496 TBLRDPOSTINC
10497 movff TABLAT,var2_b+3
10498 TBLRD
10499 movff TABLAT,var2_b+2
10500 addlw 0xC0
10501 movwf TBLPTRL,0
10502 incf TBLPTRH,1,0
10503 incf TBLPTRH,1,0
10504 TBLRDPOSTINC
10505 movff TABLAT,var_e1min+1
10506 TBLRDPOSTINC
10507 movff TABLAT,var_e1min
10508 TBLRDPOSTINC
10509 movff TABLAT,var_e1min+3
10510 TBLRD
10511 movff TABLAT,var_e1min+2
10512 addlw 0x40
10513 movwf TBLPTRL,0
10514
10515 TBLRDPOSTINC
10516 movff TABLAT,var2_e1min+1
10517 TBLRDPOSTINC
10518 movff TABLAT,var2_e1min
10519 TBLRDPOSTINC
10520 movff TABLAT,var2_e1min+3
10521 TBLRD
10522 movff TABLAT,var2_e1min+2
10523 _endasm
10524
10525 temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min;
10526 temp_tissue_safety();
10527 sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue;
10528
10529 temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min;
10530 temp_tissue_safety();
10531 sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue;
10532
10533 temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16];
10534 var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue;
10535 var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue;
10536
10537 sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
10538 if (sim_pres_tissue_limit[ci] < 0)
10539 sim_pres_tissue_limit[ci] = 0;
10540 if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit)
10541 {
10542 temp_pres_gtissue = temp_tissue;
10543 temp_pres_gtissue_limit = sim_pres_tissue_limit[ci];
10544 temp_gtissue_no = ci;
10545 }
10546 }
10547 temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue;
10548 temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue;
10549 temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface;
10550 if (temp_pres_gtissue_limit_GF_low_below_surface < 0)
10551 temp_pres_gtissue_limit_GF_low_below_surface = 0;
10552 }
10553
10554
10555
10556
10557
10558
10559
10560 void clear_decoarray(void)
10561 {
10562 char_O_array_decodepth[0] = 0;
10563 char_O_array_decodepth[1] = 0;
10564 char_O_array_decodepth[2] = 0;
10565 char_O_array_decodepth[3] = 0;
10566 char_O_array_decodepth[4] = 0;
10567 char_O_array_decodepth[5] = 0;
10568 char_O_array_decotime[0] = 0;
10569 char_O_array_decotime[1] = 0;
10570 char_O_array_decotime[2] = 0;
10571 char_O_array_decotime[3] = 0;
10572 char_O_array_decotime[4] = 0;
10573 char_O_array_decotime[5] = 0;
10574 char_O_array_decotime[6] = 0;
10575 }
10576
10577
10578
10579
10580
10581
10582
10583 void update_decoarray()
10584 {
10585 x = 0;
10586 do
10587 {
10588 if (char_O_array_decodepth[x] == temp_depth_limit)
10589 {
10590 int_temp = char_O_array_decotime[x] + temp_decotime;
10591 if (int_temp < 0)
10592 int_temp = 0;
10593 if (int_temp > 240)
10594 int_temp = 240;
10595 char_O_array_decotime[x] = int_temp;
10596 x = 10;
10597 }
10598 else
10599 {
10600 if (char_O_array_decodepth[x] == 0)
10601 {
10602 if (temp_depth_limit > 255)
10603 char_O_array_decodepth[x] = 255;
10604 else
10605 char_O_array_decodepth[x] = (char)temp_depth_limit;
10606 int_temp = char_O_array_decotime[x] + temp_decotime;
10607 if (int_temp > 240)
10608 char_O_array_decotime[x] = 240;
10609 else
10610 char_O_array_decotime[x] = (char)int_temp;
10611 x = 10;
10612 }
10613 else
10614 x++;
10615 }
10616 } while (x<6);
10617 if (x == 6)
10618 {
10619 int_temp = char_O_array_decotime[6] + temp_decotime;
10620 if (int_temp > 220)
10621 char_O_array_decotime[6] = 220;
10622 else
10623 char_O_array_decotime[6] = (char)int_temp;
10624 }
10625 }
10626
10627
10628
10629
10630
10631
10632
10633
10634 void calc_gradient_factor(void)
10635 {
10636
10637
10638
10639
10640 temp_tissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16];
10641 temp1 = temp_tissue - pres_respiration;
10642 temp2 = temp_tissue - pres_tissue_limit[char_O_gtissue_no];
10643 temp2 = temp1/temp2;
10644 temp2 = temp2 * 100;
10645 if (temp2 < 0)
10646 temp2 = 0;
10647 if (temp2 > 255)
10648 temp2 = 255;
10649 if (temp1 < 0)
10650 char_O_gradient_factor = 0;
10651 else
10652 char_O_gradient_factor = (char)temp2;
10653
10654 temp3 = temp2;
10655
10656 if (char_I_deco_model == 1)
10657 {
10658 temp1 = (float)temp_depth_GF_low_meter * 0.09995;
10659 temp2 = pres_respiration - pres_surface;
10660 if (temp2 <= 0)
10661 temp1 = GF_high;
10662 else
10663 if (temp2 >= temp1)
10664 temp1 = GF_low;
10665 else
10666 temp1 = GF_low + (temp1 - temp2)/temp1*GF_delta;
10667 if (temp_depth_GF_low_meter == 0)
10668 temp1 = GF_high;
10669 temp2 = temp3 / temp1;
10670 if (temp2 < 0)
10671 temp2 = 0;
10672 if (temp2 > 255)
10673 temp2 = 255;
10674 char_O_relative_gradient_GF = (char)temp2;
10675 }
10676 else
10677 {
10678 char_O_relative_gradient_GF = char_O_gradient_factor;
10679 }
10680 }
10681
10682
10683
10684
10685
10686
10687
10688 void calc_gradient_array_only()
10689 {
10690 pres_respiration = (float)int_I_pres_respiration / 1000.0;
10691 for (ci=0;ci<16;ci++)
10692 {
10693 temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
10694 temp1 = temp_tissue - pres_respiration;
10695 temp2 = temp_tissue - pres_tissue_limit[ci];
10696 temp2 = temp1/temp2;
10697 temp2 = temp2 * 200;
10698 if (temp2 < 0)
10699 temp2 = 0;
10700 if (temp2 > 255)
10701 temp2 = 255;
10702 if (temp1 < 0)
10703 char_O_array_gradient_weighted[ci] = 0;
10704 else
10705 char_O_array_gradient_weighted[ci] = (char)temp2;
10706 }
10707 }
10708
10709
10710
10711
10712
10713
10714
10715
10716 void calc_desaturation_time(void)
10717 {
10718 _asm
10719 lfsr 1, 0x300
10720 movlw 0x01
10721 movwf TBLPTRU,0
10722 _endasm
10723 N2_ratio = 0.7902;
10724 pres_surface = (float)int_I_pres_surface / 1000.0;
10725 temp_atem = N2_ratio * (pres_surface - 0.0627);
10726 int_O_desaturation_time = 0;
10727 float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0;
10728
10729 for (ci=0;ci<16;ci++)
10730 {
10731 _asm
10732 movlw 0x04
10733 movwf TBLPTRH,0
10734 movlb 4
10735 movf ci,0,1
10736 addwf ci,0,1
10737 addwf ci,0,1
10738 addwf ci,0,1
10739 addlw 0x80
10740 movwf TBLPTRL,0
10741 TBLRDPOSTINC
10742 movff TABLAT,var_halftimes+1
10743 TBLRDPOSTINC
10744 movff TABLAT,var_halftimes
10745 TBLRDPOSTINC
10746 movff TABLAT,var_halftimes+3
10747 TBLRD
10748 movff TABLAT,var_halftimes+2
10749 addlw 0x40
10750 movwf TBLPTRL,0
10751 TBLRDPOSTINC
10752 movff TABLAT,var2_halftimes+1
10753 TBLRDPOSTINC
10754 movff TABLAT,var2_halftimes
10755 TBLRDPOSTINC
10756 movff TABLAT,var2_halftimes+3
10757 TBLRD
10758 movff TABLAT,var2_halftimes+2
10759 _endasm
10760
10761
10762
10763
10764
10765
10766 temp1 = 1.05 * temp_atem;
10767 temp1 = temp1 - pres_tissue[ci];
10768 temp2 = temp_atem - pres_tissue[ci];
10769 if (temp2 >= 0.0)
10770 {
10771 temp1 = 0;
10772 temp2 = 0;
10773 }
10774 else
10775 temp1 = temp1 / temp2;
10776 if (temp1 > 0.0)
10777 {
10778 temp1 = log(1.0 - temp1);
10779 temp1 = temp1 / -0.6931;
10780
10781
10782 temp2 = var_halftimes * temp1 / float_desaturation_multiplier;
10783 }
10784 else
10785 {
10786 temp1 = 0;
10787 temp2 = 0;
10788 }
10789
10790
10791 temp3 = 0.1 - pres_tissue[ci+16];
10792 if (temp3 >= 0.0)
10793 {
10794 temp3 = 0;
10795 temp4 = 0;
10796 }
10797 else
10798 temp3 = -1.0 * temp3 / pres_tissue[ci+16];
10799 if (temp3 > 0.0)
10800 {
10801 temp3 = log(1.0 - temp3);
10802 temp3 = temp3 / -0.6931;
10803
10804
10805 temp4 = var2_halftimes * temp3 / float_desaturation_multiplier;
10806 }
10807 else
10808 {
10809 temp3 = 0;
10810 temp4 = 0;
10811 }
10812
10813
10814 if (temp4 > temp2)
10815 int_temp = (int)temp4;
10816 else
10817 int_temp = (int)temp2;
10818 if(int_temp > int_O_desaturation_time)
10819 int_O_desaturation_time = int_temp;
10820
10821
10822 temp2 = temp1 * 20.0;
10823 temp2 = temp2 + 80.0;
10824 if (temp2 < 0.0)
10825 temp2 = 0.0;
10826 if (temp2 > 255.0)
10827 temp2 = 255.0;
10828 char_O_tissue_saturation[ci] = (char)temp2;
10829
10830 temp4 = temp3 * 20.0;
10831 temp4 = temp4 + 80.0;
10832 if (temp4 < 0.0)
10833 temp4 = 0.0;
10834 if (temp4 > 255.0)
10835 temp4 = 255.0;
10836 char_O_tissue_saturation[ci+16] = (char)temp4;
10837 }
10838 }
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848 void calc_wo_deco_step_1_min(void)
10849 {
10850 if(flag_in_divemode)
10851 {
10852 flag_in_divemode = 0;
10853 set_dbg_end_of_dive();
10854 }
10855 _asm
10856 lfsr 1, 0x300
10857 _endasm
10858 N2_ratio = 0.7902;
10859 pres_respiration = (float)int_I_pres_respiration / 1000.0;
10860 pres_surface = (float)int_I_pres_surface / 1000.0;
10861 temp_atem = N2_ratio * (pres_respiration - 0.0627);
10862 temp2_atem = 0.0;
10863 temp_surface = pres_surface;
10864 float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0;
10865 float_saturation_multiplier = char_I_saturation_multiplier / 100.0;
10866
10867 calc_tissue_step_1_min();
10868 clear_decoarray();
10869 char_O_deco_status = 0;
10870 char_O_nullzeit = 0;
10871 char_O_ascenttime = 0;
10872 calc_gradient_factor();
10873
10874 }
10875
10876
10877
10878
10879
10880
10881
10882 void calc_tissue_step_1_min(void)
10883 {
10884 _asm
10885 lfsr 1, 0x300
10886 movlw 0x01
10887 movwf TBLPTRU,0
10888 _endasm
10889
10890 char_O_gtissue_no = 255;
10891 pres_gtissue_limit = 0.0;
10892
10893 for (ci=0;ci<16;ci++)
10894 {
10895 _asm
10896 movlw 0x02
10897 movwf TBLPTRH,0
10898 movlb 4
10899 movf ci,0,1
10900 addwf ci,0,1
10901 addwf ci,0,1
10902 addwf ci,0,1
10903 addlw 0x80
10904 movwf TBLPTRL,0
10905 TBLRDPOSTINC
10906 movff TABLAT,var_a+1
10907 TBLRDPOSTINC
10908 movff TABLAT,var_a
10909 TBLRDPOSTINC
10910 movff TABLAT,var_a+3
10911 TBLRD
10912 movff TABLAT,var_a+2
10913 addlw 0x40
10914 movwf TBLPTRL,0
10915 TBLRDPOSTINC
10916 movff TABLAT,var2_a+1
10917 TBLRDPOSTINC
10918 movff TABLAT,var2_a
10919 TBLRDPOSTINC
10920 movff TABLAT,var2_a+3
10921 TBLRD
10922 movff TABLAT,var2_a+2
10923 addlw 0x40
10924 movwf TBLPTRL,0
10925 incf TBLPTRH,1,0
10926 TBLRDPOSTINC
10927 movff TABLAT,var_b+1
10928 TBLRDPOSTINC
10929 movff TABLAT,var_b
10930 TBLRDPOSTINC
10931 movff TABLAT,var_b+3
10932 TBLRD
10933 movff TABLAT,var_b+2
10934 addlw 0x40
10935 movwf TBLPTRL,0
10936 TBLRDPOSTINC
10937 movff TABLAT,var2_b+1
10938 TBLRDPOSTINC
10939 movff TABLAT,var2_b
10940 TBLRDPOSTINC
10941 movff TABLAT,var2_b+3
10942 TBLRD
10943 movff TABLAT,var2_b+2
10944 addlw 0xC0
10945 movwf TBLPTRL,0
10946 incf TBLPTRH,1,0
10947 TBLRDPOSTINC
10948 movff TABLAT,var_e1min+1
10949 TBLRDPOSTINC
10950 movff TABLAT,var_e1min
10951 TBLRDPOSTINC
10952 movff TABLAT,var_e1min+3
10953 TBLRD
10954 movff TABLAT,var_e1min+2
10955 addlw 0x40
10956 movwf TBLPTRL,0
10957 TBLRDPOSTINC
10958 movff TABLAT,var2_e1min+1
10959 TBLRDPOSTINC
10960 movff TABLAT,var2_e1min
10961 TBLRDPOSTINC
10962 movff TABLAT,var2_e1min+3
10963 TBLRD
10964 movff TABLAT,var2_e1min+2
10965 _endasm
10966
10967
10968 temp_tissue = (temp_atem - pres_tissue[ci]) * var_e1min;
10969 temp_tissue_safety();
10970 pres_tissue[ci] = pres_tissue[ci] + temp_tissue;
10971
10972
10973 temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e1min;
10974 temp_tissue_safety();
10975 pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue;
10976
10977 temp_tissue = pres_tissue[ci] + pres_tissue[ci+16];
10978 var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue;
10979 var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue;
10980 pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b;
10981 if (pres_tissue_limit[ci] < 0)
10982 pres_tissue_limit[ci] = 0;
10983 if (pres_tissue_limit[ci] > pres_gtissue_limit)
10984 {
10985 pres_gtissue_limit = pres_tissue_limit[ci];
10986 char_O_gtissue_no = ci;
10987 }
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997 temp1 = temp_tissue - pres_respiration;
10998 temp2 = temp_tissue - pres_tissue_limit[ci];
10999 temp2 = temp1/temp2;
11000 temp2 = temp2 * 200;
11001 if (temp2 < 0)
11002 temp2 = 0;
11003 if (temp2 > 255)
11004 temp2 = 255;
11005 if (temp1 < 0)
11006 char_O_array_gradient_weighted[ci] = 0;
11007 else
11008 char_O_array_gradient_weighted[ci] = (char)temp2;
11009
11010 }
11011 }
11012
11013 #line 2689 "p2_deco_main - 090915b.c"
11014 #line 2700 "p2_deco_main - 090915b.c"
11015
11016
11017
11018
11019 void hash(void)
11020 {
11021
11022 for (md_i=0;md_i<16;md_i++)
11023 {
11024 md_state[md_i] = 0;
11025 md_cksum[md_i] = 0;
11026 }
11027
11028 _asm
11029 movlw 0x01
11030 movwf TBLPTRU,0
11031 movlw 0x06
11032 movwf TBLPTRH,0
11033 movlw 0x00
11034 movwf TBLPTRL,0
11035 _endasm
11036 for (md_i=0;md_i<127;md_i++)
11037 {
11038 _asm
11039 TBLRDPOSTINC
11040 movff TABLAT,md_temp
11041 _endasm
11042 md_pi_subst[md_i] = md_temp;
11043 }
11044 _asm
11045 TBLRDPOSTINC
11046 movff TABLAT,md_temp
11047 _endasm
11048 md_pi_subst[127] = md_temp;
11049 for (md_i=0;md_i<127;md_i++)
11050 {
11051 _asm
11052 TBLRDPOSTINC
11053 movff TABLAT,md_temp
11054 _endasm
11055 md_pi_subst[md_i+128] = md_temp;
11056 }
11057 _asm
11058 TBLRD
11059 movff TABLAT,md_temp
11060 _endasm
11061 md_pi_subst[255] = md_temp;
11062
11063 _asm
11064 movlw 0x00
11065 movwf TBLPTRU,0
11066 movlw 0x00
11067 movwf TBLPTRH,0
11068 movlw 0x00
11069 movwf TBLPTRL,0
11070 _endasm
11071
11072 for (md_pointer=0x0000;md_pointer<0x17f3;md_pointer++)
11073 {
11074 md_t = 0;
11075 for (md_i=0;md_i<16;md_i++)
11076 {
11077 if(md_pointer == 9)
11078 md_temp = md_cksum[md_i];
11079 else
11080 {
11081 _asm
11082 TBLRDPOSTINC
11083 movff TABLAT,md_temp
11084 _endasm
11085 }
11086 md_buffer[md_i] = md_temp;
11087 md_state[md_i+16] = md_buffer[md_i];
11088 md_state[md_i+32] = (unsigned char)(md_buffer[md_i] ^ md_state[md_i]);
11089 }
11090
11091 for (md_i=0;md_i<18;md_i++)
11092 {
11093 for (md_j=0;md_j<48;md_j++)
11094 {
11095 md_state[md_j] = (unsigned char)(md_state[md_j] ^ md_pi_subst[md_t]);
11096 md_t = md_state[md_j];
11097 }
11098 md_t = (unsigned char)(md_t+1);
11099 }
11100 md_t = md_cksum[15];
11101
11102 for (md_i=0;md_i<16;md_i++)
11103 {
11104 md_cksum[md_i] = (unsigned char)(md_cksum[md_i] ^ md_pi_subst[(md_buffer[md_i] ^ md_t)]);
11105 md_t = md_cksum[md_i];
11106 }
11107 }
11108 }
11109
11110
11111
11112
11113
11114
11115 void clear_CNS_fraction(void)
11116 {
11117 CNS_fraction = 0.0;
11118 char_O_CNS_fraction = 0;
11119 }
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133 void calc_CNS_fraction(void)
11134 {
11135 actual_ppO2 = (float)char_I_actual_ppO2 / 100.0;
11136
11137 if (char_I_actual_ppO2 < 50)
11138 CNS_fraction = CNS_fraction;
11139 else if (char_I_actual_ppO2 < 60)
11140 CNS_fraction = 1/(-54000.0 * actual_ppO2 + 54000.0) + CNS_fraction;
11141 else if (char_I_actual_ppO2 < 70)
11142 CNS_fraction = 1/(-45000.0 * actual_ppO2 + 48600.0) + CNS_fraction;
11143 else if (char_I_actual_ppO2 < 80)
11144 CNS_fraction = 1/(-36000.0 * actual_ppO2 + 42300.0) + CNS_fraction;
11145 else if (char_I_actual_ppO2 < 90)
11146 CNS_fraction = 1/(-27000.0 * actual_ppO2 + 35100.0) + CNS_fraction;
11147 else if (char_I_actual_ppO2 < 110)
11148 CNS_fraction = 1/(-18000.0 * actual_ppO2 + 27000.0) + CNS_fraction;
11149 else if (char_I_actual_ppO2 < 150)
11150 CNS_fraction = 1/(-9000.0 * actual_ppO2 + 17100.0) + CNS_fraction;
11151 else if (char_I_actual_ppO2 < 160)
11152 CNS_fraction = 1/(-22500.0 * actual_ppO2 + 37350.0) + CNS_fraction;
11153 else if (char_I_actual_ppO2 < 165)
11154 CNS_fraction = 0.000755 + CNS_fraction;
11155 else if (char_I_actual_ppO2 < 170)
11156 CNS_fraction = 0.00102 + CNS_fraction;
11157 else if (char_I_actual_ppO2 < 175)
11158 CNS_fraction = 0.00136 + CNS_fraction;
11159 else if (char_I_actual_ppO2 < 180)
11160 CNS_fraction = 0.00180 + CNS_fraction;
11161 else if (char_I_actual_ppO2 < 185)
11162 CNS_fraction = 0.00237 + CNS_fraction;
11163 else if (char_I_actual_ppO2 < 190)
11164 CNS_fraction = 0.00310 + CNS_fraction;
11165 else if (char_I_actual_ppO2 < 195)
11166 CNS_fraction = 0.00401 + CNS_fraction;
11167 else if (char_I_actual_ppO2 < 200)
11168 CNS_fraction = 0.00517 + CNS_fraction;
11169 else if (char_I_actual_ppO2 < 230)
11170 CNS_fraction = 0.0209 + CNS_fraction;
11171 else
11172 CNS_fraction = 0.0482 + CNS_fraction;
11173
11174 if (CNS_fraction > 2.5)
11175 CNS_fraction = 2.5;
11176 if (CNS_fraction < 0.0)
11177 CNS_fraction = 0.0;
11178 char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
11179 }
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191 void calc_CNS_decrease_15min(void)
11192 {
11193 CNS_fraction = 0.890899 * CNS_fraction;
11194 char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0);
11195 }
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206 void calc_percentage(void)
11207 {
11208 temp1 = (float)int_I_temp;
11209 temp2 = (float)char_I_temp / 100.0;
11210 temp3 = temp1 * temp2;
11211 int_I_temp = (int)temp3;
11212 }
11213 void push_tissues_to_vault(void)
11214 {
11215 for (ci=0;ci<32;ci++)
11216 pres_tissue_vault[ci] = pres_tissue[ci];
11217 }
11218 void pull_tissues_from_vault(void)
11219 {
11220 for (ci=0;ci<32;ci++)
11221 pres_tissue[ci] = pres_tissue_vault[ci];
11222 }
11223
11224 void wp_write_command(void)
11225 {
11226 _asm
11227 bcf PORTE,0,0
11228 movff wp_command,PORTD
11229 bcf PORTA,2,0
11230 bsf PORTA,2,0
11231 _endasm
11232 }
11233
11234 void wp_write_data(void)
11235 {
11236 wp_data_8bit_one = wp_data_16bit >> 8;
11237 wp_data_8bit_two = wp_data_16bit;
11238 _asm
11239 bsf PORTE,0,0
11240 movff wp_data_8bit_one,PORTD
11241 bcf PORTA,2,0
11242 bsf PORTA,2,0
11243 movff wp_data_8bit_two,PORTD
11244 bcf PORTA,2,0
11245 bsf PORTA,2,0
11246 _endasm
11247 }
11248
11249 void wp_write_black(void)
11250 {
11251 _asm
11252 movff wp_black,PORTD
11253 bcf PORTA,2,0
11254 bsf PORTA,2,0
11255 bcf PORTA,2,0
11256 bsf PORTA,2,0
11257 _endasm
11258 }
11259
11260 void wp_write_color(void)
11261 {
11262 _asm
11263 movff wp_color1,PORTD
11264 bcf PORTA,2,0
11265 bsf PORTA,2,0
11266 movff wp_color2,PORTD
11267 bcf PORTA,2,0
11268 bsf PORTA,2,0
11269 _endasm
11270 }
11271
11272 void wp_set_window(void)
11273 {
11274
11275 wp_command = 0x35;
11276 wp_write_command();
11277 wp_data_16bit = ((unsigned int )wp_leftx2) << 1;
11278 wp_write_data();
11279
11280 wp_command = 0x36;
11281 wp_write_command();
11282 wp_data_16bit = 319;
11283 wp_write_data();
11284
11285 wp_command = 0x37;
11286 wp_write_command();
11287
11288 wp_data_16bit = wp_top;
11289 if(wp_font == 2)
11290 wp_data_16bit += 58 ;
11291 else if(wp_font == 1)
11292 wp_data_16bit += 32 ;
11293 else
11294 wp_data_16bit += 24 ;
11295 wp_data_16bit--;
11296 if(wp_data_16bit > 239)
11297 wp_data_16bit = 239;
11298
11299 wp_data_16bit |= ((unsigned int )wp_top) << 8;
11300
11301 wp_write_data();
11302
11303
11304 wp_command = 0x20;
11305 wp_write_command();
11306 wp_data_16bit = wp_top;
11307 wp_write_data();
11308
11309 wp_command = 0x21;
11310 wp_write_command();
11311 wp_data_16bit = ((unsigned int )wp_leftx2) << 1;
11312 wp_write_data();
11313 }
11314
11315 void wp_set_char_font_small(void)
11316 {
11317 if (wp_char == ' ')
11318 wp_char = '¶';
11319
11320 if((wp_char < '!') || (wp_char > '¶'))
11321 wp_char = '¤';
11322
11323 if (wp_char > 0x7E)
11324 wp_char -= 34;
11325
11326 wp_start = wp_small_table[wp_char - '!'];
11327 wp_end = wp_small_table[1 + wp_char - '!'];
11328 }
11329
11330 void wp_set_char_font_medium(void)
11331 {
11332
11333 if (wp_char == 0x27)
11334 wp_char = 0x3B;
11335 if (wp_char == '"')
11336 wp_char = 0x3C;
11337 if (wp_char == 'm')
11338 wp_char = 0x3D;
11339 if (wp_char == ' ')
11340 wp_char = 0x3E;
11341
11342 if((wp_char < '.') || (wp_char > 0x3E))
11343 wp_char = 0x3E;
11344 wp_start = wp_medium_table[wp_char - '.'];
11345 wp_end = wp_medium_table[1 + wp_char - '.'];
11346 }
11347
11348 void wp_set_char_font_large(void)
11349 {
11350
11351 if (wp_char == ' ')
11352 wp_char = 0x2F;
11353
11354 if((wp_char < '.') || (wp_char > '9'))
11355 wp_char = 0x2F;
11356 wp_start = wp_large_table[wp_char - '.'];
11357 wp_end = wp_large_table[1 + wp_char - '.'];
11358 }
11359
11360 void wordprocessor(void)
11361 {
11362 wp_set_window();
11363
11364
11365 wp_command = 0x22;
11366 wp_write_command();
11367 _asm
11368 bsf PORTE,0,0
11369 _endasm
11370
11371 wp_txtptr = 0;
11372 wp_char = wp_stringstore[wp_txtptr];
11373
11374 while(wp_char)
11375 {
11376 if(wp_font == 2)
11377 wp_set_char_font_large();
11378 else if(wp_font == 1)
11379 wp_set_char_font_medium();
11380 else
11381 wp_set_char_font_small();
11382
11383 wp_black = 0;
11384
11385 for(wp_i = wp_start; wp_i<wp_end;wp_i++)
11386 {
11387 if(wp_font == 2)
11388 wp_data_16bit = wp_large_data[wp_i / 2];
11389 else if(wp_font == 1)
11390 wp_data_16bit = wp_medium_data[wp_i / 2];
11391 else
11392 wp_data_16bit = wp_small_data[wp_i / 2];
11393 if(wp_i & 1)
11394 wp_temp_U8 = wp_data_16bit & 0xFF;
11395 else
11396 wp_temp_U8 = wp_data_16bit >> 8;
11397 if((wp_temp_U8 & 128))
11398 {
11399 wp_temp_U8 -= 127;
11400 if(wp_invert)
11401 {
11402 while(wp_temp_U8 > 0)
11403 {
11404 wp_temp_U8--;
11405 wp_write_color();
11406 }
11407 }
11408 else
11409 {
11410 _asm
11411 movff wp_black,PORTD
11412 _endasm
11413 while(wp_temp_U8 > 0)
11414 {
11415 wp_temp_U8--;
11416 _asm
11417 bcf PORTA,2,0
11418 bsf PORTA,2,0
11419 bcf PORTA,2,0
11420 bsf PORTA,2,0
11421 _endasm
11422 }
11423 }
11424 }
11425 else
11426 {
11427 wp_temp_U8++;
11428 if(wp_invert)
11429 {
11430 _asm
11431 movff wp_black,PORTD
11432 _endasm
11433 while(wp_temp_U8 > 0)
11434 {
11435 wp_temp_U8--;
11436 _asm
11437 bcf PORTA,2,0
11438 bsf PORTA,2,0
11439 bcf PORTA,2,0
11440 bsf PORTA,2,0
11441 _endasm
11442 }
11443 }
11444 else
11445 {
11446 while(wp_temp_U8 > 0)
11447 {
11448 wp_temp_U8--;
11449 wp_write_color();
11450 }
11451 }
11452 }
11453 }
11454 wp_txtptr++;
11455 wp_char = wp_stringstore[wp_txtptr];
11456 }
11457 wp_command = 0x00;
11458 wp_write_command();
11459 }