Mercurial > public > mk2
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code_part1/OSTC_code_c_part2/p2_deco_main - 090915b.i Tue Jan 12 15:05:59 2010 +0100 @@ -0,0 +1,11459 @@ +#line 1 "p2_deco_main - 090915b.c" +#line 1 "p2_deco_main - 090915b.c" + +#line 17 "p2_deco_main - 090915b.c" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#line 1 "C:/MCC18/h/p18f4685.h" + +#line 5 "C:/MCC18/h/p18f4685.h" + + + +#line 9 "C:/MCC18/h/p18f4685.h" + +extern volatile far unsigned char RXF6SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF6SIDHbits; +extern volatile far unsigned char RXF6SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF6SIDLbits; +extern volatile far unsigned char RXF6EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF6EIDHbits; +extern volatile far unsigned char RXF6EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF6EIDLbits; +extern volatile far unsigned char RXF7SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF7SIDHbits; +extern volatile far unsigned char RXF7SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF7SIDLbits; +extern volatile far unsigned char RXF7EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF7EIDHbits; +extern volatile far unsigned char RXF7EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF7EIDLbits; +extern volatile far unsigned char RXF8SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF8SIDHbits; +extern volatile far unsigned char RXF8SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF8SIDLbits; +extern volatile far unsigned char RXF8EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF8EIDHbits; +extern volatile far unsigned char RXF8EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF8EIDLbits; +extern volatile far unsigned char RXF9SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF9SIDHbits; +extern volatile far unsigned char RXF9SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF9SIDLbits; +extern volatile far unsigned char RXF9EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF9EIDHbits; +extern volatile far unsigned char RXF9EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF9EIDLbits; +extern volatile far unsigned char RXF10SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF10SIDHbits; +extern volatile far unsigned char RXF10SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF10SIDLbits; +extern volatile far unsigned char RXF10EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF10EIDHbits; +extern volatile far unsigned char RXF10EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF10EIDLbits; +extern volatile far unsigned char RXF11SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF11SIDHbits; +extern volatile far unsigned char RXF11SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF11SIDLbits; +extern volatile far unsigned char RXF11EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF11EIDHbits; +extern volatile far unsigned char RXF11EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF11EIDLbits; +extern volatile far unsigned char RXF12SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF12SIDHbits; +extern volatile far unsigned char RXF12SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF12SIDLbits; +extern volatile far unsigned char RXF12EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF12EIDHbits; +extern volatile far unsigned char RXF12EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF12EIDLbits; +extern volatile far unsigned char RXF13SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF13SIDHbits; +extern volatile far unsigned char RXF13SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF13SIDLbits; +extern volatile far unsigned char RXF13EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF13EIDHbits; +extern volatile far unsigned char RXF13EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF13EIDLbits; +extern volatile far unsigned char RXF14SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF14SIDHbits; +extern volatile far unsigned char RXF14SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF14SIDLbits; +extern volatile far unsigned char RXF14EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF14EIDHbits; +extern volatile far unsigned char RXF14EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF14EIDLbits; +extern volatile far unsigned char RXF15SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF15SIDHbits; +extern volatile far unsigned char RXF15SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF15SIDLbits; +extern volatile far unsigned char RXF15EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF15EIDHbits; +extern volatile far unsigned char RXF15EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF15EIDLbits; +extern volatile far unsigned char RXFCON0; +extern volatile far struct { + unsigned RXF0EN:1; + unsigned RXF1EN:1; + unsigned RXF2EN:1; + unsigned RXF3EN:1; + unsigned RXF4EN:1; + unsigned RXF5EN:1; + unsigned RXF6EN:1; + unsigned RXF7EN:1; +} RXFCON0bits; +extern volatile far unsigned char RXFCON1; +extern volatile far struct { + unsigned RXF8EN:1; + unsigned RXF9EN:1; + unsigned RXF10EN:1; + unsigned RXF11EN:1; + unsigned RXF12EN:1; + unsigned RXF13EN:1; + unsigned RXF14EN:1; + unsigned RXF15EN:1; +} RXFCON1bits; +extern volatile far unsigned char SDFLC; +extern volatile far union { + struct { + unsigned DFLC0:1; + unsigned DFLC1:1; + unsigned DFLC2:1; + unsigned DFLC3:1; + unsigned DFLC4:1; + }; + struct { + unsigned FLC0:1; + unsigned FLC1:1; + unsigned FLC2:1; + unsigned FLC3:1; + unsigned FLC4:1; + }; +} SDFLCbits; +extern volatile far unsigned char RXFBCON0; +extern volatile far struct { + unsigned F0BP_0:1; + unsigned F0BP_1:1; + unsigned F0BP_2:1; + unsigned F0BP_3:1; + unsigned F1BP_0:1; + unsigned F1BP_1:1; + unsigned F1BP_2:1; + unsigned F1BP_3:1; +} RXFBCON0bits; +extern volatile far unsigned char RXFBCON1; +extern volatile far struct { + unsigned F2BP_0:1; + unsigned F2BP_1:1; + unsigned F2BP_2:1; + unsigned F2BP_3:1; + unsigned F3BP_0:1; + unsigned F3BP_1:1; + unsigned F3BP_2:1; + unsigned F3BP_3:1; +} RXFBCON1bits; +extern volatile far unsigned char RXFBCON2; +extern volatile far struct { + unsigned F4BP_0:1; + unsigned F4BP_1:1; + unsigned F4BP_2:1; + unsigned F4BP_3:1; + unsigned F5BP_0:1; + unsigned F5BP_1:1; + unsigned F5BP_2:1; + unsigned F5BP_3:1; +} RXFBCON2bits; +extern volatile far unsigned char RXFBCON3; +extern volatile far struct { + unsigned F6BP_0:1; + unsigned F6BP_1:1; + unsigned F6BP_2:1; + unsigned F6BP_3:1; + unsigned F7BP_0:1; + unsigned F7BP_1:1; + unsigned F7BP_2:1; + unsigned F7BP_3:1; +} RXFBCON3bits; +extern volatile far unsigned char RXFBCON4; +extern volatile far struct { + unsigned F8BP_0:1; + unsigned F8BP_1:1; + unsigned F8BP_2:1; + unsigned F8BP_3:1; + unsigned F9BP_0:1; + unsigned F9BP_1:1; + unsigned F9BP_2:1; + unsigned F9BP_3:1; +} RXFBCON4bits; +extern volatile far unsigned char RXFBCON5; +extern volatile far struct { + unsigned F10BP_0:1; + unsigned F10BP_1:1; + unsigned F10BP_2:1; + unsigned F10BP_3:1; + unsigned F11BP_0:1; + unsigned F11BP_1:1; + unsigned F11BP_2:1; + unsigned F11BP_3:1; +} RXFBCON5bits; +extern volatile far unsigned char RXFBCON6; +extern volatile far struct { + unsigned F12BP_0:1; + unsigned F12BP_1:1; + unsigned F12BP_2:1; + unsigned F12BP_3:1; + unsigned F13BP_0:1; + unsigned F13BP_1:1; + unsigned F13BP_2:1; + unsigned F13BP_3:1; +} RXFBCON6bits; +extern volatile far unsigned char RXFBCON7; +extern volatile far struct { + unsigned F14BP_0:1; + unsigned F14BP_1:1; + unsigned F14BP_2:1; + unsigned F14BP_3:1; + unsigned F15BP_0:1; + unsigned F15BP_1:1; + unsigned F15BP_2:1; + unsigned F15BP_3:1; +} RXFBCON7bits; +extern volatile far unsigned char MSEL0; +extern volatile far struct { + unsigned FIL0_0:1; + unsigned FIL0_1:1; + unsigned FIL1_0:1; + unsigned FIL1_1:1; + unsigned FIL2_0:1; + unsigned FIL2_1:1; + unsigned FIL3_0:1; + unsigned FIL3_1:1; +} MSEL0bits; +extern volatile far unsigned char MSEL1; +extern volatile far struct { + unsigned FIL4_0:1; + unsigned FIL4_1:1; + unsigned FIL5_0:1; + unsigned FIL5_1:1; + unsigned FIL6_0:1; + unsigned FIL6_1:1; + unsigned FIL7_0:1; + unsigned FIL7_1:1; +} MSEL1bits; +extern volatile far unsigned char MSEL2; +extern volatile far struct { + unsigned FIL8_0:1; + unsigned FIL8_1:1; + unsigned FIL9_0:1; + unsigned FIL9_1:1; + unsigned FIL10_0:1; + unsigned FIL10_1:1; + unsigned FIL11_0:1; + unsigned FIL11_1:1; +} MSEL2bits; +extern volatile far unsigned char MSEL3; +extern volatile far struct { + unsigned FIL12_0:1; + unsigned FIL12_1:1; + unsigned FIL13_0:1; + unsigned FIL13_1:1; + unsigned FIL14_0:1; + unsigned FIL14_1:1; + unsigned FIL15_0:1; + unsigned FIL15_1:1; +} MSEL3bits; +extern volatile far unsigned char BSEL0; +extern volatile far struct { + unsigned :2; + unsigned B0TXEN:1; + unsigned B1TXEN:1; + unsigned B2TXEN:1; + unsigned B3TXEN:1; + unsigned B4TXEN:1; + unsigned B5TXEN:1; +} BSEL0bits; +extern volatile far unsigned char BIE0; +extern volatile far struct { + unsigned RXB0IE:1; + unsigned RXB1IE:1; + unsigned B0IE:1; + unsigned B1IE:1; + unsigned B2IE:1; + unsigned B3IE:1; + unsigned B4IE:1; + unsigned B5IE:1; +} BIE0bits; +extern volatile far unsigned char TXBIE; +extern volatile far struct { + unsigned :2; + unsigned TXB0IE:1; + unsigned TXB1IE:1; + unsigned TXB2IE:1; +} TXBIEbits; +extern volatile far unsigned char B0CON; +extern volatile far union { + struct { + unsigned FILHIT0:1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned RTREN:1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIF:1; + }; + struct { + unsigned :5; + unsigned RXRTRRO:1; + }; +} B0CONbits; +extern volatile far unsigned char B0SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} B0SIDHbits; +extern volatile far unsigned char B0SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDE:1; + }; +} B0SIDLbits; +extern volatile far unsigned char B0EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} B0EIDHbits; +extern volatile far unsigned char B0EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} B0EIDLbits; +extern volatile far unsigned char B0DLC; +extern volatile far union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :6; + unsigned TXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; +} B0DLCbits; +extern volatile far unsigned char B0D0; +extern volatile far struct { + unsigned B0D00:1; + unsigned B0D01:1; + unsigned B0D02:1; + unsigned B0D03:1; + unsigned B0D04:1; + unsigned B0D05:1; + unsigned B0D06:1; + unsigned B0D07:1; +} B0D0bits; +extern volatile far unsigned char B0D1; +extern volatile far struct { + unsigned B0D10:1; + unsigned B0D11:1; + unsigned B0D12:1; + unsigned B0D13:1; + unsigned B0D14:1; + unsigned B0D15:1; + unsigned B0D16:1; + unsigned B0D17:1; +} B0D1bits; +extern volatile far unsigned char B0D2; +extern volatile far struct { + unsigned B0D20:1; + unsigned B0D21:1; + unsigned B0D22:1; + unsigned B0D23:1; + unsigned B0D24:1; + unsigned B0D25:1; + unsigned B0D26:1; + unsigned B0D27:1; +} B0D2bits; +extern volatile far unsigned char B0D3; +extern volatile far struct { + unsigned B0D30:1; + unsigned B0D31:1; + unsigned B0D32:1; + unsigned B0D33:1; + unsigned B0D34:1; + unsigned B0D35:1; + unsigned B0D36:1; + unsigned B0D37:1; +} B0D3bits; +extern volatile far unsigned char B0D4; +extern volatile far struct { + unsigned B0D40:1; + unsigned B0D41:1; + unsigned B0D42:1; + unsigned B0D43:1; + unsigned B0D44:1; + unsigned B0D45:1; + unsigned B0D46:1; + unsigned B0D47:1; +} B0D4bits; +extern volatile far unsigned char B0D5; +extern volatile far struct { + unsigned B0D50:1; + unsigned B0D51:1; + unsigned B0D52:1; + unsigned B0D53:1; + unsigned B0D54:1; + unsigned B0D55:1; + unsigned B0D56:1; + unsigned B0D57:1; +} B0D5bits; +extern volatile far unsigned char B0D6; +extern volatile far struct { + unsigned B0D60:1; + unsigned B0D61:1; + unsigned B0D62:1; + unsigned B0D63:1; + unsigned B0D64:1; + unsigned B0D65:1; + unsigned B0D66:1; + unsigned B0D67:1; +} B0D6bits; +extern volatile far unsigned char B0D7; +extern volatile far struct { + unsigned B0D70:1; + unsigned B0D71:1; + unsigned B0D72:1; + unsigned B0D73:1; + unsigned B0D74:1; + unsigned B0D75:1; + unsigned B0D76:1; + unsigned B0D77:1; +} B0D7bits; +extern volatile far unsigned char CANSTAT_RO9; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO9bits; +extern volatile far unsigned char CANCON_RO9; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO9bits; +extern volatile far unsigned char B1CON; +extern volatile far union { + struct { + unsigned FILHIT0:1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned RTREN:1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIF:1; + }; + struct { + unsigned :5; + unsigned RXRTRRO:1; + }; +} B1CONbits; +extern volatile far unsigned char B1SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} B1SIDHbits; +extern volatile far unsigned char B1SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDE:1; + }; +} B1SIDLbits; +extern volatile far unsigned char B1EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} B1EIDHbits; +extern volatile far unsigned char B1EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} B1EIDLbits; +extern volatile far unsigned char B1DLC; +extern volatile far union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; + struct { + unsigned :6; + unsigned TXRTR:1; + }; +} B1DLCbits; +extern volatile far unsigned char B1D0; +extern volatile far struct { + unsigned B1D00:1; + unsigned B1D01:1; + unsigned B1D02:1; + unsigned B1D03:1; + unsigned B1D04:1; + unsigned B1D05:1; + unsigned B1D06:1; + unsigned B1D07:1; +} B1D0bits; +extern volatile far unsigned char B1D1; +extern volatile far struct { + unsigned B1D10:1; + unsigned B1D11:1; + unsigned B1D12:1; + unsigned B1D13:1; + unsigned B1D14:1; + unsigned B1D15:1; + unsigned B1D16:1; + unsigned B1D17:1; +} B1D1bits; +extern volatile far unsigned char B1D2; +extern volatile far struct { + unsigned B1D20:1; + unsigned B1D21:1; + unsigned B1D22:1; + unsigned B1D23:1; + unsigned B1D24:1; + unsigned B1D25:1; + unsigned B1D26:1; + unsigned B1D27:1; +} B1D2bits; +extern volatile far unsigned char B1D3; +extern volatile far struct { + unsigned B1D30:1; + unsigned B1D31:1; + unsigned B1D32:1; + unsigned B1D33:1; + unsigned B1D34:1; + unsigned B1D35:1; + unsigned B1D36:1; + unsigned B1D37:1; +} B1D3bits; +extern volatile far unsigned char B1D4; +extern volatile far struct { + unsigned B1D40:1; + unsigned B1D41:1; + unsigned B1D42:1; + unsigned B1D43:1; + unsigned B1D44:1; + unsigned B1D45:1; + unsigned B1D46:1; + unsigned B1D47:1; +} B1D4bits; +extern volatile far unsigned char B1D5; +extern volatile far struct { + unsigned B1D50:1; + unsigned B1D51:1; + unsigned B1D52:1; + unsigned B1D53:1; + unsigned B1D54:1; + unsigned B1D55:1; + unsigned B1D56:1; + unsigned B1D57:1; +} B1D5bits; +extern volatile far unsigned char B1D6; +extern volatile far struct { + unsigned B1D60:1; + unsigned B1D61:1; + unsigned B1D62:1; + unsigned B1D63:1; + unsigned B1D64:1; + unsigned B1D65:1; + unsigned B1D66:1; + unsigned B1D67:1; +} B1D6bits; +extern volatile far unsigned char B1D7; +extern volatile far struct { + unsigned B1D70:1; + unsigned B1D71:1; + unsigned B1D72:1; + unsigned B1D73:1; + unsigned B1D74:1; + unsigned B1D75:1; + unsigned B1D76:1; + unsigned B1D77:1; +} B1D7bits; +extern volatile far unsigned char CANSTAT_RO8; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO8bits; +extern volatile far unsigned char CANCON_RO8; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO8bits; +extern volatile far unsigned char B2CON; +extern volatile far union { + struct { + unsigned FILHIT0:1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned RTREN:1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIF:1; + }; + struct { + unsigned :5; + unsigned RXRTRRO:1; + }; +} B2CONbits; +extern volatile far unsigned char B2SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} B2SIDHbits; +extern volatile far unsigned char B2SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDE:1; + }; +} B2SIDLbits; +extern volatile far unsigned char B2EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} B2EIDHbits; +extern volatile far unsigned char B2EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} B2EIDLbits; +extern volatile far unsigned char B2DLC; +extern volatile far union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :6; + unsigned TXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; +} B2DLCbits; +extern volatile far unsigned char B2D0; +extern volatile far struct { + unsigned B2D00:1; + unsigned B2D01:1; + unsigned B2D02:1; + unsigned B2D03:1; + unsigned B2D04:1; + unsigned B2D05:1; + unsigned B2D06:1; + unsigned B2D07:1; +} B2D0bits; +extern volatile far unsigned char B2D1; +extern volatile far struct { + unsigned B2D10:1; + unsigned B2D11:1; + unsigned B2D12:1; + unsigned B2D13:1; + unsigned B2D14:1; + unsigned B2D15:1; + unsigned B2D16:1; + unsigned B2D17:1; +} B2D1bits; +extern volatile far unsigned char B2D2; +extern volatile far struct { + unsigned B2D20:1; + unsigned B2D21:1; + unsigned B2D22:1; + unsigned B2D23:1; + unsigned B2D24:1; + unsigned B2D25:1; + unsigned B2D26:1; + unsigned B2D27:1; +} B2D2bits; +extern volatile far unsigned char B2D3; +extern volatile far struct { + unsigned B2D30:1; + unsigned B2D31:1; + unsigned B2D32:1; + unsigned B2D33:1; + unsigned B2D34:1; + unsigned B2D35:1; + unsigned B2D36:1; + unsigned B2D37:1; +} B2D3bits; +extern volatile far unsigned char B2D4; +extern volatile far struct { + unsigned B2D40:1; + unsigned B2D41:1; + unsigned B2D42:1; + unsigned B2D43:1; + unsigned B2D44:1; + unsigned B2D45:1; + unsigned B2D46:1; + unsigned B2D47:1; +} B2D4bits; +extern volatile far unsigned char B2D5; +extern volatile far struct { + unsigned B2D50:1; + unsigned B2D51:1; + unsigned B2D52:1; + unsigned B2D53:1; + unsigned B2D54:1; + unsigned B2D55:1; + unsigned B2D56:1; + unsigned B2D57:1; +} B2D5bits; +extern volatile far unsigned char B2D6; +extern volatile far struct { + unsigned B2D60:1; + unsigned B2D61:1; + unsigned B2D62:1; + unsigned B2D63:1; + unsigned B2D64:1; + unsigned B2D65:1; + unsigned B2D66:1; + unsigned B2D67:1; +} B2D6bits; +extern volatile far unsigned char B2D7; +extern volatile far struct { + unsigned B2D70:1; + unsigned B2D71:1; + unsigned B2D72:1; + unsigned B2D73:1; + unsigned B2D74:1; + unsigned B2D75:1; + unsigned B2D76:1; + unsigned B2D77:1; +} B2D7bits; +extern volatile far unsigned char CANSTAT_RO7; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO7bits; +extern volatile far unsigned char CANCON_RO7; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO7bits; +extern volatile far unsigned char B3CON; +extern volatile far union { + struct { + unsigned FILHIT0:1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned RTREN:1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIF:1; + }; + struct { + unsigned :5; + unsigned RXRTRRO:1; + }; +} B3CONbits; +extern volatile far unsigned char B3SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} B3SIDHbits; +extern volatile far unsigned char B3SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDE:1; + }; +} B3SIDLbits; +extern volatile far unsigned char B3EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} B3EIDHbits; +extern volatile far unsigned char B3EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} B3EIDLbits; +extern volatile far unsigned char B3DLC; +extern volatile far union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :6; + unsigned TXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; +} B3DLCbits; +extern volatile far unsigned char B3D0; +extern volatile far struct { + unsigned B3D00:1; + unsigned B3D01:1; + unsigned B3D02:1; + unsigned B3D03:1; + unsigned B3D04:1; + unsigned B3D05:1; + unsigned B3D06:1; + unsigned B3D07:1; +} B3D0bits; +extern volatile far unsigned char B3D1; +extern volatile far struct { + unsigned B3D10:1; + unsigned B3D11:1; + unsigned B3D12:1; + unsigned B3D13:1; + unsigned B3D14:1; + unsigned B3D15:1; + unsigned B3D16:1; + unsigned B3D17:1; +} B3D1bits; +extern volatile far unsigned char B3D2; +extern volatile far struct { + unsigned B3D20:1; + unsigned B3D21:1; + unsigned B3D22:1; + unsigned B3D23:1; + unsigned B3D24:1; + unsigned B3D25:1; + unsigned B3D26:1; + unsigned B3D27:1; +} B3D2bits; +extern volatile far unsigned char B3D3; +extern volatile far struct { + unsigned B3D30:1; + unsigned B3D31:1; + unsigned B3D32:1; + unsigned B3D33:1; + unsigned B3D34:1; + unsigned B3D35:1; + unsigned B3D36:1; + unsigned B3D37:1; +} B3D3bits; +extern volatile far unsigned char B3D4; +extern volatile far struct { + unsigned B3D40:1; + unsigned B3D41:1; + unsigned B3D42:1; + unsigned B3D43:1; + unsigned B3D44:1; + unsigned B3D45:1; + unsigned B3D46:1; + unsigned B3D47:1; +} B3D4bits; +extern volatile far unsigned char B3D5; +extern volatile far struct { + unsigned B3D50:1; + unsigned B3D51:1; + unsigned B3D52:1; + unsigned B3D53:1; + unsigned B3D54:1; + unsigned B3D55:1; + unsigned B3D56:1; + unsigned B3D57:1; +} B3D5bits; +extern volatile far unsigned char B3D6; +extern volatile far struct { + unsigned B3D60:1; + unsigned B3D61:1; + unsigned B3D62:1; + unsigned B3D63:1; + unsigned B3D64:1; + unsigned B3D65:1; + unsigned B3D66:1; + unsigned B3D67:1; +} B3D6bits; +extern volatile far unsigned char B3D7; +extern volatile far struct { + unsigned B3D70:1; + unsigned B3D71:1; + unsigned B3D72:1; + unsigned B3D73:1; + unsigned B3D74:1; + unsigned B3D75:1; + unsigned B3D76:1; + unsigned B3D77:1; +} B3D7bits; +extern volatile far unsigned char CANSTAT_RO6; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO6bits; +extern volatile far unsigned char CANCON_RO6; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO6bits; +extern volatile far unsigned char B4CON; +extern volatile far union { + struct { + unsigned FILHIT0:1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned RTREN:1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIF:1; + }; + struct { + unsigned :5; + unsigned RXRTRRO:1; + }; +} B4CONbits; +extern volatile far unsigned char B4SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} B4SIDHbits; +extern volatile far unsigned char B4SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDE:1; + }; +} B4SIDLbits; +extern volatile far unsigned char B4EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} B4EIDHbits; +extern volatile far unsigned char B4EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} B4EIDLbits; +extern volatile far unsigned char B4DLC; +extern volatile far union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :6; + unsigned TXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; +} B4DLCbits; +extern volatile far unsigned char B4D0; +extern volatile far struct { + unsigned B4D00:1; + unsigned B4D01:1; + unsigned B4D02:1; + unsigned B4D03:1; + unsigned B4D04:1; + unsigned B4D05:1; + unsigned B4D06:1; + unsigned B4D07:1; +} B4D0bits; +extern volatile far unsigned char B4D1; +extern volatile far struct { + unsigned B4D10:1; + unsigned B4D11:1; + unsigned B4D12:1; + unsigned B4D13:1; + unsigned B4D14:1; + unsigned B4D15:1; + unsigned B4D16:1; + unsigned B4D17:1; +} B4D1bits; +extern volatile far unsigned char B4D2; +extern volatile far struct { + unsigned B4D20:1; + unsigned B4D21:1; + unsigned B4D22:1; + unsigned B4D23:1; + unsigned B4D24:1; + unsigned B4D25:1; + unsigned B4D26:1; + unsigned B4D27:1; +} B4D2bits; +extern volatile far unsigned char B4D3; +extern volatile far struct { + unsigned B4D30:1; + unsigned B4D31:1; + unsigned B4D32:1; + unsigned B4D33:1; + unsigned B4D34:1; + unsigned B4D35:1; + unsigned B4D36:1; + unsigned B4D37:1; +} B4D3bits; +extern volatile far unsigned char B4D4; +extern volatile far struct { + unsigned B4D40:1; + unsigned B4D41:1; + unsigned B4D42:1; + unsigned B4D43:1; + unsigned B4D44:1; + unsigned B4D45:1; + unsigned B4D46:1; + unsigned B4D47:1; +} B4D4bits; +extern volatile far unsigned char B4D5; +extern volatile far struct { + unsigned B4D50:1; + unsigned B4D51:1; + unsigned B4D52:1; + unsigned B4D53:1; + unsigned B4D54:1; + unsigned B4D55:1; + unsigned B4D56:1; + unsigned B4D57:1; +} B4D5bits; +extern volatile far unsigned char B4D6; +extern volatile far struct { + unsigned B4D60:1; + unsigned B4D61:1; + unsigned B4D62:1; + unsigned B4D63:1; + unsigned B4D64:1; + unsigned B4D65:1; + unsigned B4D66:1; + unsigned B4D67:1; +} B4D6bits; +extern volatile far unsigned char B4D7; +extern volatile far union { + struct { + unsigned B4D70:1; + unsigned B4D71:1; + unsigned B4D72:1; + unsigned B4D73:1; + unsigned B4D74:1; + unsigned B4D75:1; + unsigned B4D76:1; + unsigned B46D77:1; + }; + struct { + unsigned :7; + unsigned B4D77:1; + }; +} B4D7bits; +extern volatile far unsigned char CANSTAT_RO5; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO5bits; +extern volatile far unsigned char CANCON_RO5; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO5bits; +extern volatile far unsigned char B5CON; +extern volatile far union { + struct { + unsigned FILHIT0:1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned RTREN:1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIF:1; + }; + struct { + unsigned :5; + unsigned RXRTRRO:1; + }; +} B5CONbits; +extern volatile far unsigned char B5SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} B5SIDHbits; +extern volatile far unsigned char B5SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} B5SIDLbits; +extern volatile far unsigned char B5EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} B5EIDHbits; +extern volatile far unsigned char B5EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} B5EIDLbits; +extern volatile far unsigned char B5DLC; +extern volatile far union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; +} B5DLCbits; +extern volatile far unsigned char B5D0; +extern volatile far union { + struct { + unsigned B5D00:1; + unsigned B5D01:1; + unsigned B5D02:1; + unsigned B5D03:1; + unsigned B5D04:1; + unsigned B5D05:1; + unsigned B5D06:1; + unsigned B57D07:1; + }; + struct { + unsigned :7; + unsigned B5D07:1; + }; +} B5D0bits; +extern volatile far unsigned char B5D1; +extern volatile far struct { + unsigned B5D10:1; + unsigned B5D11:1; + unsigned B5D12:1; + unsigned B5D13:1; + unsigned B5D14:1; + unsigned B5D15:1; + unsigned B5D16:1; + unsigned B5D17:1; +} B5D1bits; +extern volatile far unsigned char B5D2; +extern volatile far union { + struct { + unsigned B5D20:1; + unsigned B5D21:1; + unsigned B5D22:1; + unsigned B57D23:1; + unsigned B5D24:1; + unsigned B5D25:1; + unsigned B5D26:1; + unsigned B5D27:1; + }; + struct { + unsigned :3; + unsigned B5D23:1; + }; +} B5D2bits; +extern volatile far unsigned char B5D3; +extern volatile far struct { + unsigned B5D30:1; + unsigned B5D31:1; + unsigned B5D32:1; + unsigned B5D33:1; + unsigned B5D34:1; + unsigned B5D35:1; + unsigned B5D36:1; + unsigned B5D37:1; +} B5D3bits; +extern volatile far unsigned char B5D4; +extern volatile far struct { + unsigned B5D40:1; + unsigned B5D41:1; + unsigned B5D42:1; + unsigned B5D43:1; + unsigned B5D44:1; + unsigned B5D45:1; + unsigned B5D46:1; + unsigned B5D47:1; +} B5D4bits; +extern volatile far unsigned char B5D5; +extern volatile far struct { + unsigned B5D50:1; + unsigned B5D51:1; + unsigned B5D52:1; + unsigned B5D53:1; + unsigned B5D54:1; + unsigned B5D55:1; + unsigned B5D56:1; + unsigned B5D57:1; +} B5D5bits; +extern volatile far unsigned char B5D6; +extern volatile far struct { + unsigned B5D60:1; + unsigned B5D61:1; + unsigned B5D62:1; + unsigned B5D63:1; + unsigned B5D64:1; + unsigned B5D65:1; + unsigned B5D66:1; + unsigned B5D67:1; +} B5D6bits; +extern volatile far unsigned char B5D7; +extern volatile far struct { + unsigned B5D70:1; + unsigned B5D71:1; + unsigned B5D72:1; + unsigned B5D73:1; + unsigned B5D74:1; + unsigned B5D75:1; + unsigned B5D76:1; + unsigned B5D77:1; +} B5D7bits; +extern volatile far unsigned char CANSTAT_RO4; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO4bits; +extern volatile far unsigned char CANCON_RO4; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO4bits; +extern volatile far unsigned char RXF0SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF0SIDHbits; +extern volatile far unsigned char RXF0SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF0SIDLbits; +extern volatile far unsigned char RXF0EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF0EIDHbits; +extern volatile far unsigned char RXF0EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF0EIDLbits; +extern volatile far unsigned char RXF1SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF1SIDHbits; +extern volatile far unsigned char RXF1SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF1SIDLbits; +extern volatile far unsigned char RXF1EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF1EIDHbits; +extern volatile far unsigned char RXF1EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF1EIDLbits; +extern volatile far unsigned char RXF2SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF2SIDHbits; +extern volatile far unsigned char RXF2SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF2SIDLbits; +extern volatile far unsigned char RXF2EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF2EIDHbits; +extern volatile far unsigned char RXF2EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF2EIDLbits; +extern volatile far unsigned char RXF3SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF3SIDHbits; +extern volatile far unsigned char RXF3SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF3SIDLbits; +extern volatile far unsigned char RXF3EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF3EIDHbits; +extern volatile far unsigned char RXF3EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF3EIDLbits; +extern volatile far unsigned char RXF4SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF4SIDHbits; +extern volatile far unsigned char RXF4SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF4SIDLbits; +extern volatile far unsigned char RXF4EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF4EIDHbits; +extern volatile far unsigned char RXF4EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF4EIDLbits; +extern volatile far unsigned char RXF5SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXF5SIDHbits; +extern volatile far unsigned char RXF5SIDL; +extern volatile far union { + struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; + }; + struct { + unsigned :3; + unsigned EXIDEN:1; + }; +} RXF5SIDLbits; +extern volatile far unsigned char RXF5EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXF5EIDHbits; +extern volatile far unsigned char RXF5EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXF5EIDLbits; +extern volatile far unsigned char RXM0SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXM0SIDHbits; +extern volatile far unsigned char RXM0SIDL; +extern volatile far struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDEN:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; +} RXM0SIDLbits; +extern volatile far unsigned char RXM0EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXM0EIDHbits; +extern volatile far unsigned char RXM0EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXM0EIDLbits; +extern volatile far unsigned char RXM1SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXM1SIDHbits; +extern volatile far unsigned char RXM1SIDL; +extern volatile far struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDEN:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; +} RXM1SIDLbits; +extern volatile far unsigned char RXM1EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXM1EIDHbits; +extern volatile far unsigned char RXM1EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXM1EIDLbits; +extern volatile far unsigned char TXB2CON; +extern volatile far union { + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned :1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIFBXB2CON:1; + }; + struct { + unsigned :7; + unsigned TXBIF:1; + }; +} TXB2CONbits; +extern volatile far unsigned char TXB2SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} TXB2SIDHbits; +extern volatile far unsigned char TXB2SIDL; +extern volatile far struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; +} TXB2SIDLbits; +extern volatile far unsigned char TXB2EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} TXB2EIDHbits; +extern volatile far unsigned char TXB2EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} TXB2EIDLbits; +extern volatile far unsigned char TXB2DLC; +extern volatile far struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned :2; + unsigned TXRTR:1; +} TXB2DLCbits; +extern volatile far unsigned char TXB2D0; +extern volatile far struct { + unsigned TXB2D00:1; + unsigned TXB2D01:1; + unsigned TXB2D02:1; + unsigned TXB2D03:1; + unsigned TXB2D04:1; + unsigned TXB2D05:1; + unsigned TXB2D06:1; + unsigned TXB2D07:1; +} TXB2D0bits; +extern volatile far unsigned char TXB2D1; +extern volatile far struct { + unsigned TXB2D10:1; + unsigned TXB2D11:1; + unsigned TXB2D12:1; + unsigned TXB2D13:1; + unsigned TXB2D14:1; + unsigned TXB2D15:1; + unsigned TXB2D16:1; + unsigned TXB2D17:1; +} TXB2D1bits; +extern volatile far unsigned char TXB2D2; +extern volatile far struct { + unsigned TXB2D20:1; + unsigned TXB2D21:1; + unsigned TXB2D22:1; + unsigned TXB2D23:1; + unsigned TXB2D24:1; + unsigned TXB2D25:1; + unsigned TXB2D26:1; + unsigned TXB2D27:1; +} TXB2D2bits; +extern volatile far unsigned char TXB2D3; +extern volatile far struct { + unsigned TXB2D30:1; + unsigned TXB2D31:1; + unsigned TXB2D32:1; + unsigned TXB2D33:1; + unsigned TXB2D34:1; + unsigned TXB2D35:1; + unsigned TXB2D36:1; + unsigned TXB2D37:1; +} TXB2D3bits; +extern volatile far unsigned char TXB2D4; +extern volatile far struct { + unsigned TXB2D40:1; + unsigned TXB2D41:1; + unsigned TXB2D42:1; + unsigned TXB2D43:1; + unsigned TXB2D44:1; + unsigned TXB2D45:1; + unsigned TXB2D46:1; + unsigned TXB2D47:1; +} TXB2D4bits; +extern volatile far unsigned char TXB2D5; +extern volatile far struct { + unsigned TXB2D50:1; + unsigned TXB2D51:1; + unsigned TXB2D52:1; + unsigned TXB2D53:1; + unsigned TXB2D54:1; + unsigned TXB2D55:1; + unsigned TXB2D56:1; + unsigned TXB2D57:1; +} TXB2D5bits; +extern volatile far unsigned char TXB2D6; +extern volatile far struct { + unsigned TXB2D60:1; + unsigned TXB2D61:1; + unsigned TXB2D62:1; + unsigned TXB2D63:1; + unsigned TXB2D64:1; + unsigned TXB2D65:1; + unsigned TXB2D66:1; + unsigned TXB2D67:1; +} TXB2D6bits; +extern volatile far unsigned char TXB2D7; +extern volatile far struct { + unsigned TXB2D70:1; + unsigned TXB2D71:1; + unsigned TXB2D72:1; + unsigned TXB2D73:1; + unsigned TXB2D74:1; + unsigned TXB2D75:1; + unsigned TXB2D76:1; + unsigned TXB2D77:1; +} TXB2D7bits; +extern volatile far unsigned char CANSTAT_RO3; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO3bits; +extern volatile far unsigned char CANCON_RO3; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO3bits; +extern volatile far unsigned char TXB1CON; +extern volatile far union { + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned :1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + unsigned TXBIFTXB1CON:1; + }; + struct { + unsigned :7; + unsigned TXBIF:1; + }; +} TXB1CONbits; +extern volatile far unsigned char TXB1SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} TXB1SIDHbits; +extern volatile far unsigned char TXB1SIDL; +extern volatile far struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; +} TXB1SIDLbits; +extern volatile far unsigned char TXB1EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} TXB1EIDHbits; +extern volatile far unsigned char TXB1EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} TXB1EIDLbits; +extern volatile far unsigned char TXB1DLC; +extern volatile far struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned :2; + unsigned TXRTR:1; +} TXB1DLCbits; +extern volatile far unsigned char TXB1D0; +extern volatile far struct { + unsigned TXB1D00:1; + unsigned TXB1D01:1; + unsigned TXB1D02:1; + unsigned TXB1D03:1; + unsigned TXB1D04:1; + unsigned TXB1D05:1; + unsigned TXB1D06:1; + unsigned TXB1D07:1; +} TXB1D0bits; +extern volatile far unsigned char TXB1D1; +extern volatile far struct { + unsigned TXB1D10:1; + unsigned TXB1D11:1; + unsigned TXB1D12:1; + unsigned TXB1D13:1; + unsigned TXB1D14:1; + unsigned TXB1D15:1; + unsigned TXB1D16:1; + unsigned TXB1D17:1; +} TXB1D1bits; +extern volatile far unsigned char TXB1D2; +extern volatile far struct { + unsigned TXB1D20:1; + unsigned TXB1D21:1; + unsigned TXB1D22:1; + unsigned TXB1D23:1; + unsigned TXB1D24:1; + unsigned TXB1D25:1; + unsigned TXB1D26:1; + unsigned TXB1D27:1; +} TXB1D2bits; +extern volatile far unsigned char TXB1D3; +extern volatile far struct { + unsigned TXB1D30:1; + unsigned TXB1D31:1; + unsigned TXB1D32:1; + unsigned TXB1D33:1; + unsigned TXB1D34:1; + unsigned TXB1D35:1; + unsigned TXB1D36:1; + unsigned TXB1D37:1; +} TXB1D3bits; +extern volatile far unsigned char TXB1D4; +extern volatile far struct { + unsigned TXB1D40:1; + unsigned TXB1D41:1; + unsigned TXB1D42:1; + unsigned TXB1D43:1; + unsigned TXB1D44:1; + unsigned TXB1D45:1; + unsigned TXB1D46:1; + unsigned TXB1D47:1; +} TXB1D4bits; +extern volatile far unsigned char TXB1D5; +extern volatile far struct { + unsigned TXB1D50:1; + unsigned TXB1D51:1; + unsigned TXB1D52:1; + unsigned TXB1D53:1; + unsigned TXB1D54:1; + unsigned TXB1D55:1; + unsigned TXB1D56:1; + unsigned TXB1D57:1; +} TXB1D5bits; +extern volatile far unsigned char TXB1D6; +extern volatile far struct { + unsigned TXB1D60:1; + unsigned TXB1D61:1; + unsigned TXB1D62:1; + unsigned TXB1D63:1; + unsigned TXB1D64:1; + unsigned TXB1D65:1; + unsigned TXB1D66:1; + unsigned TXB1D67:1; +} TXB1D6bits; +extern volatile far unsigned char TXB1D7; +extern volatile far struct { + unsigned TXB1D70:1; + unsigned TXB1D71:1; + unsigned TXB1D72:1; + unsigned TXB1D73:1; + unsigned TXB1D74:1; + unsigned TXB1D75:1; + unsigned TXB1D76:1; + unsigned TXB1D77:1; +} TXB1D7bits; +extern volatile far unsigned char CANSTAT_RO2; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO2bits; +extern volatile far unsigned char CANCON_RO2; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO2bits; +extern volatile far unsigned char TXB0CON; +extern volatile far union { + struct { + unsigned TXPRI0:1; + unsigned TXPRI1:1; + unsigned :1; + unsigned TXREQ:1; + unsigned TXERR:1; + unsigned TXLARB:1; + unsigned TXABT:1; + }; + struct { + unsigned :7; + unsigned TXBIF:1; + }; +} TXB0CONbits; +extern volatile far unsigned char TXB0SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} TXB0SIDHbits; +extern volatile far unsigned char TXB0SIDL; +extern volatile far struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXIDE:1; + unsigned :1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; +} TXB0SIDLbits; +extern volatile far unsigned char TXB0EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} TXB0EIDHbits; +extern volatile far unsigned char TXB0EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} TXB0EIDLbits; +extern volatile far unsigned char TXB0DLC; +extern volatile far struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned :2; + unsigned TXRTR:1; +} TXB0DLCbits; +extern volatile far unsigned char TXB0D0; +extern volatile far struct { + unsigned TXB0D00:1; + unsigned TXB0D01:1; + unsigned TXB0D02:1; + unsigned TXB0D03:1; + unsigned TXB0D04:1; + unsigned TXB0D05:1; + unsigned TXB0D06:1; + unsigned TXB0D07:1; +} TXB0D0bits; +extern volatile far unsigned char TXB0D1; +extern volatile far struct { + unsigned TXB0D10:1; + unsigned TXB0D11:1; + unsigned TXB0D12:1; + unsigned TXB0D13:1; + unsigned TXB0D14:1; + unsigned TXB0D15:1; + unsigned TXB0D16:1; + unsigned TXB0D17:1; +} TXB0D1bits; +extern volatile far unsigned char TXB0D2; +extern volatile far struct { + unsigned TXB0D20:1; + unsigned TXB0D21:1; + unsigned TXB0D22:1; + unsigned TXB0D23:1; + unsigned TXB0D24:1; + unsigned TXB0D25:1; + unsigned TXB0D26:1; + unsigned TXB0D27:1; +} TXB0D2bits; +extern volatile far unsigned char TXB0D3; +extern volatile far struct { + unsigned TXB0D30:1; + unsigned TXB0D31:1; + unsigned TXB0D32:1; + unsigned TXB0D33:1; + unsigned TXB0D34:1; + unsigned TXB0D35:1; + unsigned TXB0D36:1; + unsigned TXB0D37:1; +} TXB0D3bits; +extern volatile far unsigned char TXB0D4; +extern volatile far struct { + unsigned TXB0D40:1; + unsigned TXB0D41:1; + unsigned TXB0D42:1; + unsigned TXB0D43:1; + unsigned TXB0D44:1; + unsigned TXB0D45:1; + unsigned TXB0D46:1; + unsigned TXB0D47:1; +} TXB0D4bits; +extern volatile far unsigned char TXB0D5; +extern volatile far struct { + unsigned TXB0D50:1; + unsigned TXB0D51:1; + unsigned TXB0D52:1; + unsigned TXB0D53:1; + unsigned TXB0D54:1; + unsigned TXB0D55:1; + unsigned TXB0D56:1; + unsigned TXB0D57:1; +} TXB0D5bits; +extern volatile far unsigned char TXB0D6; +extern volatile far struct { + unsigned TXB0D60:1; + unsigned TXB0D61:1; + unsigned TXB0D62:1; + unsigned TXB0D63:1; + unsigned TXB0D64:1; + unsigned TXB0D65:1; + unsigned TXB0D66:1; + unsigned TXB0D67:1; +} TXB0D6bits; +extern volatile far unsigned char TXB0D7; +extern volatile far struct { + unsigned TXB0D70:1; + unsigned TXB0D71:1; + unsigned TXB0D72:1; + unsigned TXB0D73:1; + unsigned TXB0D74:1; + unsigned TXB0D75:1; + unsigned TXB0D76:1; + unsigned TXB0D77:1; +} TXB0D7bits; +extern volatile far unsigned char CANSTAT_RO1; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO1bits; +extern volatile far unsigned char CANCON_RO1; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO1bits; +extern volatile far unsigned char RXB1CON; +extern volatile far union { + struct { + unsigned FILHIT0:1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned RXRTRRO:1; + unsigned :1; + unsigned RXM0:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned :3; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + }; +} RXB1CONbits; +extern volatile far unsigned char RXB1SIDH; +extern volatile far struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXB1SIDHbits; +extern volatile far unsigned char RXB1SIDL; +extern volatile far struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; +} RXB1SIDLbits; +extern volatile far unsigned char RXB1EIDH; +extern volatile far struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXB1EIDHbits; +extern volatile far unsigned char RXB1EIDL; +extern volatile far struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXB1EIDLbits; +extern volatile far unsigned char RXB1DLC; +extern volatile far union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; +} RXB1DLCbits; +extern volatile far unsigned char RXB1D0; +extern volatile far struct { + unsigned RXB1D00:1; + unsigned RXB1D01:1; + unsigned RXB1D02:1; + unsigned RXB1D03:1; + unsigned RXB1D04:1; + unsigned RXB1D05:1; + unsigned RXB1D06:1; + unsigned RXB1D07:1; +} RXB1D0bits; +extern volatile far unsigned char RXB1D1; +extern volatile far struct { + unsigned RXB1D10:1; + unsigned RXB1D11:1; + unsigned RXB1D12:1; + unsigned RXB1D13:1; + unsigned RXB1D14:1; + unsigned RXB1D15:1; + unsigned RXB1D16:1; + unsigned RXB1D17:1; +} RXB1D1bits; +extern volatile far unsigned char RXB1D2; +extern volatile far struct { + unsigned RXB1D20:1; + unsigned RXB1D21:1; + unsigned RXB1D22:1; + unsigned RXB1D23:1; + unsigned RXB1D24:1; + unsigned RXB1D25:1; + unsigned RXB1D26:1; + unsigned RXB1D27:1; +} RXB1D2bits; +extern volatile far unsigned char RXB1D3; +extern volatile far struct { + unsigned RXB1D30:1; + unsigned RXB1D31:1; + unsigned RXB1D32:1; + unsigned RXB1D33:1; + unsigned RXB1D34:1; + unsigned RXB1D35:1; + unsigned RXB1D36:1; + unsigned RXB1D37:1; +} RXB1D3bits; +extern volatile far unsigned char RXB1D4; +extern volatile far struct { + unsigned RXB1D40:1; + unsigned RXB1D41:1; + unsigned RXB1D42:1; + unsigned RXB1D43:1; + unsigned RXB1D44:1; + unsigned RXB1D45:1; + unsigned RXB1D46:1; + unsigned RXB1D47:1; +} RXB1D4bits; +extern volatile far unsigned char RXB1D5; +extern volatile far struct { + unsigned RXB1D50:1; + unsigned RXB1D51:1; + unsigned RXB1D52:1; + unsigned RXB1D53:1; + unsigned RXB1D54:1; + unsigned RXB1D55:1; + unsigned RXB1D56:1; + unsigned RXB1D57:1; +} RXB1D5bits; +extern volatile far unsigned char RXB1D6; +extern volatile far struct { + unsigned RXB1D60:1; + unsigned RXB1D61:1; + unsigned RXB1D62:1; + unsigned RXB1D63:1; + unsigned RXB1D64:1; + unsigned RXB1D65:1; + unsigned RXB1D66:1; + unsigned RXB1D67:1; +} RXB1D6bits; +extern volatile far unsigned char RXB1D7; +extern volatile far struct { + unsigned RXB1D70:1; + unsigned RXB1D71:1; + unsigned RXB1D72:1; + unsigned RXB1D73:1; + unsigned RXB1D74:1; + unsigned RXB1D75:1; + unsigned RXB1D76:1; + unsigned RXB1D77:1; +} RXB1D7bits; +extern volatile far unsigned char CANSTAT_RO0; +extern volatile far struct { + unsigned ICODE0:1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned ICODE4:1; + unsigned OPMODE:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANSTAT_RO0bits; +extern volatile far unsigned char CANCON_RO0; +extern volatile far struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; +} CANCON_RO0bits; +extern volatile near unsigned char RXB0CON; +extern volatile near union { + struct { + unsigned FILHIT0:1; + unsigned JTOFF:1; + unsigned RXB0DBEN:1; + unsigned RXRTRRO:1; + unsigned :1; + unsigned RXM0:1; + unsigned RXM1:1; + unsigned RXFUL:1; + }; + struct { + unsigned :1; + unsigned FILHIT1:1; + unsigned FILHIT2:1; + unsigned FILHIT3:1; + unsigned FILHIT4:1; + unsigned RTRRO:1; + }; + struct { + unsigned :2; + unsigned RXBODBEN:1; + }; +} RXB0CONbits; +extern volatile near unsigned char RXB0SIDH; +extern volatile near struct { + unsigned SID3:1; + unsigned SID4:1; + unsigned SID5:1; + unsigned SID6:1; + unsigned SID7:1; + unsigned SID8:1; + unsigned SID9:1; + unsigned SID10:1; +} RXB0SIDHbits; +extern volatile near unsigned char RXB0SIDL; +extern volatile near struct { + unsigned EID16:1; + unsigned EID17:1; + unsigned :1; + unsigned EXID:1; + unsigned SRR:1; + unsigned SID0:1; + unsigned SID1:1; + unsigned SID2:1; +} RXB0SIDLbits; +extern volatile near unsigned char RXB0EIDH; +extern volatile near struct { + unsigned EID8:1; + unsigned EID9:1; + unsigned EID10:1; + unsigned EID11:1; + unsigned EID12:1; + unsigned EID13:1; + unsigned EID14:1; + unsigned EID15:1; +} RXB0EIDHbits; +extern volatile near unsigned char RXB0EIDL; +extern volatile near struct { + unsigned EID0:1; + unsigned EID1:1; + unsigned EID2:1; + unsigned EID3:1; + unsigned EID4:1; + unsigned EID5:1; + unsigned EID6:1; + unsigned EID7:1; +} RXB0EIDLbits; +extern volatile near unsigned char RXB0DLC; +extern volatile near union { + struct { + unsigned DLC0:1; + unsigned DLC1:1; + unsigned DLC2:1; + unsigned DLC3:1; + unsigned RESRB0:1; + unsigned RESRB1:1; + unsigned RXRTR:1; + }; + struct { + unsigned :4; + unsigned RB0:1; + unsigned RB1:1; + }; +} RXB0DLCbits; +extern volatile near unsigned char RXB0D0; +extern volatile near struct { + unsigned RXB0D00:1; + unsigned RXB0D01:1; + unsigned RXB0D02:1; + unsigned RXB0D03:1; + unsigned RXB0D04:1; + unsigned RXB0D05:1; + unsigned RXB0D06:1; + unsigned RXB0D07:1; +} RXB0D0bits; +extern volatile near unsigned char RXB0D1; +extern volatile near struct { + unsigned RXB0D10:1; + unsigned RXB0D11:1; + unsigned RXB0D12:1; + unsigned RXB0D13:1; + unsigned RXB0D14:1; + unsigned RXB0D15:1; + unsigned RXB0D16:1; + unsigned RXB0D17:1; +} RXB0D1bits; +extern volatile near unsigned char RXB0D2; +extern volatile near struct { + unsigned RXB0D20:1; + unsigned RXB0D21:1; + unsigned RXB0D22:1; + unsigned RXB0D23:1; + unsigned RXB0D24:1; + unsigned RXB0D25:1; + unsigned RXB0D26:1; + unsigned RXB0D27:1; +} RXB0D2bits; +extern volatile near unsigned char RXB0D3; +extern volatile near struct { + unsigned RXB0D30:1; + unsigned RXB0D31:1; + unsigned RXB0D32:1; + unsigned RXB0D33:1; + unsigned RXB0D34:1; + unsigned RXB0D35:1; + unsigned RXB0D36:1; + unsigned RXB0D37:1; +} RXB0D3bits; +extern volatile near unsigned char RXB0D4; +extern volatile near struct { + unsigned RXB0D40:1; + unsigned RXB0D41:1; + unsigned RXB0D42:1; + unsigned RXB0D43:1; + unsigned RXB0D44:1; + unsigned RXB0D45:1; + unsigned RXB0D46:1; + unsigned RXB0D47:1; +} RXB0D4bits; +extern volatile near unsigned char RXB0D5; +extern volatile near struct { + unsigned RXB0D50:1; + unsigned RXB0D51:1; + unsigned RXB0D52:1; + unsigned RXB0D53:1; + unsigned RXB0D54:1; + unsigned RXB0D55:1; + unsigned RXB0D56:1; + unsigned RXB0D57:1; +} RXB0D5bits; +extern volatile near unsigned char RXB0D6; +extern volatile near struct { + unsigned RXB0D60:1; + unsigned RXB0D61:1; + unsigned RXB0D62:1; + unsigned RXB0D63:1; + unsigned RXB0D64:1; + unsigned RXB0D65:1; + unsigned RXB0D66:1; + unsigned RXB0D67:1; +} RXB0D6bits; +extern volatile near unsigned char RXB0D7; +extern volatile near struct { + unsigned RXB0D70:1; + unsigned RXB0D71:1; + unsigned RXB0D72:1; + unsigned RXB0D73:1; + unsigned RXB0D74:1; + unsigned RXB0D75:1; + unsigned RXB0D76:1; + unsigned RXB0D77:1; +} RXB0D7bits; +extern volatile near unsigned char CANSTAT; +extern volatile near union { + struct { + unsigned :1; + unsigned ICODE1:1; + unsigned ICODE2:1; + unsigned ICODE3:1; + unsigned :1; + unsigned OPMODE0:1; + unsigned OPMODE1:1; + unsigned OPMODE2:1; + }; + struct { + unsigned EICODE0:1; + unsigned EICODE1:1; + unsigned EICODE2:1; + unsigned EICODE3:1; + unsigned EICODE4:1; + }; +} CANSTATbits; +extern volatile near unsigned char CANCON; +extern volatile near union { + struct { + unsigned :1; + unsigned WIN0:1; + unsigned WIN1:1; + unsigned WIN2:1; + unsigned ABAT:1; + unsigned REQOP0:1; + unsigned REQOP1:1; + unsigned REQOP2:1; + }; + struct { + unsigned FP0:1; + unsigned FP1:1; + unsigned FP2:1; + unsigned FP3:1; + }; +} CANCONbits; +extern volatile near unsigned char BRGCON1; +extern volatile near struct { + unsigned BRP0:1; + unsigned BRP1:1; + unsigned BRP2:1; + unsigned BRP3:1; + unsigned BRP4:1; + unsigned BRP5:1; + unsigned SJW0:1; + unsigned SJW1:1; +} BRGCON1bits; +extern volatile near unsigned char BRGCON2; +extern volatile near union { + struct { + unsigned PRSEG0:1; + unsigned PRSEG1:1; + unsigned PRSEG2:1; + unsigned SEG1PH0:1; + unsigned SEG1PH1:1; + unsigned SEG1PH2:1; + unsigned SAM:1; + unsigned SEG2PHTS:1; + }; + struct { + unsigned :7; + unsigned SEG2PHT:1; + }; +} BRGCON2bits; +extern volatile near unsigned char BRGCON3; +extern volatile near struct { + unsigned SEG2PH0:1; + unsigned SEG2PH1:1; + unsigned SEG2PH2:1; + unsigned :3; + unsigned WAKFIL:1; + unsigned WAKDIS:1; +} BRGCON3bits; +extern volatile near unsigned char CIOCON; +extern volatile near struct { + unsigned :4; + unsigned CANCAP:1; + unsigned ENDRHI:1; +} CIOCONbits; +extern volatile near unsigned char COMSTAT; +extern volatile near union { + struct { + unsigned EWARN:1; + unsigned RXWARN:1; + unsigned TXWARN:1; + unsigned RXBP:1; + unsigned TXBP:1; + unsigned TXBO:1; + unsigned RXB1OVFL:1; + unsigned RXB0OVFL:1; + }; + struct { + unsigned :6; + unsigned RXBnOVFL:1; + }; + struct { + unsigned :7; + unsigned FIFOEMPTY:1; + }; +} COMSTATbits; +extern volatile near unsigned char RXERRCNT; +extern volatile near struct { + unsigned REC0:1; + unsigned REC1:1; + unsigned REC2:1; + unsigned REC3:1; + unsigned REC4:1; + unsigned REC5:1; + unsigned REC6:1; + unsigned REC7:1; +} RXERRCNTbits; +extern volatile near unsigned char TXERRCNT; +extern volatile near struct { + unsigned TEC0:1; + unsigned TEC1:1; + unsigned TEC2:1; + unsigned TEC3:1; + unsigned TEC4:1; + unsigned TEC5:1; + unsigned TEC6:1; + unsigned TEC7:1; +} TXERRCNTbits; +extern volatile near unsigned char ECANCON; +extern volatile near union { + struct { + unsigned EWIN0:1; + unsigned EWIN1:1; + unsigned EWIN2:1; + unsigned EWIN3:1; + unsigned EWIN4:1; + unsigned FIFOWM:1; + unsigned MDSEL0:1; + unsigned MDSEL1:1; + }; + struct { + unsigned :5; + unsigned F:1; + }; +} ECANCONbits; +extern volatile near unsigned char PORTA; +extern volatile near union { + struct { + unsigned RA0:1; + unsigned RA1:1; + unsigned RA2:1; + unsigned RA3:1; + unsigned RA4:1; + unsigned RA5:1; + unsigned RA6:1; + unsigned RA7:1; + }; + struct { + unsigned AN0:1; + unsigned AN1:1; + unsigned AN2:1; + unsigned AN3:1; + unsigned T0CKI:1; + unsigned AN4:1; + unsigned OSC2:1; + unsigned OSC1:1; + }; + struct { + unsigned CVREF:1; + unsigned :1; + unsigned VREFM:1; + unsigned VREFP:1; + unsigned :1; + unsigned LVDIN:1; + unsigned CLKO:1; + unsigned CLKI:1; + }; + struct { + unsigned :5; + unsigned SS:1; + }; + struct { + unsigned :5; + unsigned NOT_SS:1; + }; + struct { + unsigned :5; + unsigned HLVDIN:1; + }; +} PORTAbits; +extern volatile near unsigned char PORTB; +extern volatile near union { + struct { + unsigned RB0:1; + unsigned RB1:1; + unsigned RB2:1; + unsigned RB3:1; + unsigned RB4:1; + unsigned RB5:1; + unsigned RB6:1; + unsigned RB7:1; + }; + struct { + unsigned INT0:1; + unsigned INT1:1; + unsigned INT2:1; + unsigned CANRX:1; + unsigned KBI0:1; + unsigned KBI1:1; + unsigned KBI2:1; + unsigned KBI3:1; + }; + struct { + unsigned AN10:1; + }; + struct { + unsigned FLT0:1; + unsigned AN8:1; + unsigned CANTX:1; + unsigned :1; + unsigned AN9:1; + unsigned PGM:1; + unsigned PGC:1; + unsigned PGD:1; + }; +} PORTBbits; +extern volatile near unsigned char PORTC; +extern volatile near union { + struct { + unsigned RC0:1; + unsigned RC1:1; + unsigned RC2:1; + unsigned RC3:1; + unsigned RC4:1; + unsigned RC5:1; + unsigned RC6:1; + unsigned RC7:1; + }; + struct { + unsigned T1OSO:1; + unsigned T1OSI:1; + unsigned CCP1:1; + unsigned SCK:1; + unsigned SDI:1; + unsigned SDO:1; + unsigned TX:1; + unsigned RX:1; + }; + struct { + unsigned T13CKI:1; + unsigned :2; + unsigned SCL:1; + unsigned SDA:1; + unsigned :1; + unsigned CK:1; + unsigned DT:1; + }; +} PORTCbits; +extern volatile near unsigned char PORTD; +extern volatile near union { + struct { + unsigned RD0:1; + unsigned RD1:1; + unsigned RD2:1; + unsigned RD3:1; + unsigned RD4:1; + unsigned RD5:1; + unsigned RD6:1; + unsigned RD7:1; + }; + struct { + unsigned PSP0:1; + unsigned PSP1:1; + unsigned PSP2:1; + unsigned PSP3:1; + unsigned PSP4:1; + unsigned PSP5:1; + unsigned PSP6:1; + unsigned PSP7:1; + }; + struct { + unsigned C1INB:1; + unsigned C1INA:1; + unsigned C2INB:1; + unsigned C2INA:1; + unsigned P1A:1; + unsigned P1B:1; + unsigned P1C:1; + unsigned P1D:1; + }; + struct { + unsigned :4; + unsigned ECCP1:1; + }; +} PORTDbits; +extern volatile near unsigned char PORTE; +extern volatile near union { + struct { + unsigned RE0:1; + unsigned RE1:1; + unsigned RE2:1; + unsigned RE3:1; + }; + struct { + unsigned AN5:1; + unsigned AN6:1; + unsigned AN7:1; + }; + struct { + unsigned NOT_RD:1; + unsigned NOT_WR:1; + unsigned NOT_CS:1; + }; + struct { + unsigned RD:1; + unsigned WR:1; + unsigned CS:1; + }; +} PORTEbits; +extern volatile near unsigned char LATA; +extern volatile near struct { + unsigned LATA0:1; + unsigned LATA1:1; + unsigned LATA2:1; + unsigned LATA3:1; + unsigned LATA4:1; + unsigned LATA5:1; + unsigned LATA6:1; + unsigned LATA7:1; +} LATAbits; +extern volatile near unsigned char LATB; +extern volatile near struct { + unsigned LATB0:1; + unsigned LATB1:1; + unsigned LATB2:1; + unsigned LATB3:1; + unsigned LATB4:1; + unsigned LATB5:1; + unsigned LATB6:1; + unsigned LATB7:1; +} LATBbits; +extern volatile near unsigned char LATC; +extern volatile near struct { + unsigned LATC0:1; + unsigned LATC1:1; + unsigned LATC2:1; + unsigned LATC3:1; + unsigned LATC4:1; + unsigned LATC5:1; + unsigned LATC6:1; + unsigned LATC7:1; +} LATCbits; +extern volatile near unsigned char LATD; +extern volatile near struct { + unsigned LATD0:1; + unsigned LATD1:1; + unsigned LATD2:1; + unsigned LATD3:1; + unsigned LATD4:1; + unsigned LATD5:1; + unsigned LATD6:1; + unsigned LATD7:1; +} LATDbits; +extern volatile near unsigned char LATE; +extern volatile near struct { + unsigned LATE0:1; + unsigned LATE1:1; + unsigned LATE2:1; +} LATEbits; +extern volatile near unsigned char DDRA; +extern volatile near struct { + unsigned RA0:1; + unsigned RA1:1; + unsigned RA2:1; + unsigned RA3:1; + unsigned RA4:1; + unsigned RA5:1; + unsigned RA6:1; +} DDRAbits; +extern volatile near unsigned char TRISA; +extern volatile near struct { + unsigned TRISA0:1; + unsigned TRISA1:1; + unsigned TRISA2:1; + unsigned TRISA3:1; + unsigned TRISA4:1; + unsigned TRISA5:1; + unsigned TRISA6:1; + unsigned TRISA7:1; +} TRISAbits; +extern volatile near unsigned char DDRB; +extern volatile near struct { + unsigned RB0:1; + unsigned RB1:1; + unsigned RB2:1; + unsigned RB3:1; + unsigned RB4:1; + unsigned RB5:1; + unsigned RB6:1; + unsigned RB7:1; +} DDRBbits; +extern volatile near unsigned char TRISB; +extern volatile near struct { + unsigned TRISB0:1; + unsigned TRISB1:1; + unsigned TRISB2:1; + unsigned TRISB3:1; + unsigned TRISB4:1; + unsigned TRISB5:1; + unsigned TRISB6:1; + unsigned TRISB7:1; +} TRISBbits; +extern volatile near unsigned char DDRC; +extern volatile near struct { + unsigned RC0:1; + unsigned RC1:1; + unsigned RC2:1; + unsigned RC3:1; + unsigned RC4:1; + unsigned RC5:1; + unsigned RC6:1; + unsigned RC7:1; +} DDRCbits; +extern volatile near unsigned char TRISC; +extern volatile near struct { + unsigned TRISC0:1; + unsigned TRISC1:1; + unsigned TRISC2:1; + unsigned TRISC3:1; + unsigned TRISC4:1; + unsigned TRISC5:1; + unsigned TRISC6:1; + unsigned TRISC7:1; +} TRISCbits; +extern volatile near unsigned char DDRD; +extern volatile near struct { + unsigned RD0:1; + unsigned RD1:1; + unsigned RD2:1; + unsigned RD3:1; + unsigned RD4:1; + unsigned RD5:1; + unsigned RD6:1; + unsigned RD7:1; +} DDRDbits; +extern volatile near unsigned char TRISD; +extern volatile near struct { + unsigned TRISD0:1; + unsigned TRISD1:1; + unsigned TRISD2:1; + unsigned TRISD3:1; + unsigned TRISD4:1; + unsigned TRISD5:1; + unsigned TRISD6:1; + unsigned TRISD7:1; +} TRISDbits; +extern volatile near unsigned char DDRE; +extern volatile near struct { + unsigned RE0:1; + unsigned RE1:1; + unsigned RE2:1; + unsigned :1; + unsigned PSPMODE:1; + unsigned IBOV:1; + unsigned OBF:1; + unsigned IBF:1; +} DDREbits; +extern volatile near unsigned char TRISE; +extern volatile near struct { + unsigned TRISE0:1; + unsigned TRISE1:1; + unsigned TRISE2:1; + unsigned :1; + unsigned PSPMODE:1; + unsigned IBOV:1; + unsigned OBF:1; + unsigned IBF:1; +} TRISEbits; +extern volatile near unsigned char OSCTUNE; +extern volatile near union { + struct { + unsigned TUN0:1; + unsigned TUN1:1; + unsigned TUN2:1; + unsigned TUN3:1; + unsigned TUN4:1; + unsigned :1; + unsigned PLLEN:1; + unsigned INTSCR:1; + }; + struct { + unsigned :7; + unsigned INTSRC:1; + }; +} OSCTUNEbits; +extern volatile near unsigned char PIE1; +extern volatile near struct { + unsigned TMR1IE:1; + unsigned TMR2IE:1; + unsigned CCP1IE:1; + unsigned SSPIE:1; + unsigned TXIE:1; + unsigned RCIE:1; + unsigned ADIE:1; + unsigned PSPIE:1; +} PIE1bits; +extern volatile near unsigned char PIR1; +extern volatile near struct { + unsigned TMR1IF:1; + unsigned TMR2IF:1; + unsigned CCP1IF:1; + unsigned SSPIF:1; + unsigned TXIF:1; + unsigned RCIF:1; + unsigned ADIF:1; + unsigned PSPIF:1; +} PIR1bits; +extern volatile near unsigned char IPR1; +extern volatile near union { + struct { + unsigned TMR1IP:1; + unsigned TMR2IP:1; + unsigned CCP1IP:1; + unsigned SSPIP:1; + unsigned TXBIP:1; + unsigned RCIP:1; + unsigned ADIP:1; + unsigned PSPIP:1; + }; + struct { + unsigned :4; + unsigned TXIP:1; + }; +} IPR1bits; +extern volatile near unsigned char PIE2; +extern volatile near union { + struct { + unsigned ECCP1IE:1; + unsigned TMR3IE:1; + unsigned LVDIE:1; + unsigned BCLIE:1; + unsigned EEIE:1; + unsigned :1; + unsigned CMIE:1; + unsigned OSCFIE:1; + }; + struct { + unsigned :2; + unsigned HLVDIE:1; + }; +} PIE2bits; +extern volatile near unsigned char PIR2; +extern volatile near union { + struct { + unsigned ECCP1IF:1; + unsigned TMR3IF:1; + unsigned LVDIF:1; + unsigned BCLIF:1; + unsigned EEIF:1; + unsigned :1; + unsigned CMIF:1; + unsigned OSCFIF:1; + }; + struct { + unsigned :2; + unsigned HLVDIF:1; + }; +} PIR2bits; +extern volatile near unsigned char IPR2; +extern volatile near union { + struct { + unsigned ECCP1IP:1; + unsigned TMR3IP:1; + unsigned LVDIP:1; + unsigned BCLIP:1; + unsigned EEIP:1; + unsigned :1; + unsigned CMIP:1; + unsigned OSCFIP:1; + }; + struct { + unsigned :2; + unsigned HLVDIP:1; + }; +} IPR2bits; +extern volatile near unsigned char PIE3; +extern volatile near union { + struct { + unsigned RXB0IE:1; + unsigned RXB1IE:1; + unsigned TXB0IE:1; + unsigned TXB1IE:1; + unsigned TXB2IE:1; + unsigned ERRIE:1; + unsigned WAKIE:1; + unsigned IRXIE:1; + }; + struct { + unsigned FIFOWMIE:1; + unsigned RXBnIE:1; + unsigned :2; + unsigned TXBnIE:1; + }; + struct { + unsigned FIFOMWIE:1; + }; +} PIE3bits; +extern volatile near unsigned char PIR3; +extern volatile near union { + struct { + unsigned RXB0IF:1; + unsigned RXB1IF:1; + unsigned TXB0IF:1; + unsigned TXB1IF:1; + unsigned TXB2IF:1; + unsigned ERRIF:1; + unsigned WAKIF:1; + unsigned IRXIF:1; + }; + struct { + unsigned FIFOWMIF:1; + unsigned RXBnIF:1; + unsigned :2; + unsigned TXBnIF:1; + }; +} PIR3bits; +extern volatile near unsigned char IPR3; +extern volatile near union { + struct { + unsigned RXB0IP:1; + unsigned RXB1IP:1; + unsigned TXB0IP:1; + unsigned TXB1IP:1; + unsigned TXB2IP:1; + unsigned ERRIP:1; + unsigned WAKIP:1; + unsigned IRXIP:1; + }; + struct { + unsigned FIFOWMIP:1; + unsigned RXBnIP:1; + unsigned :2; + unsigned TXBnIP:1; + }; +} IPR3bits; +extern volatile near unsigned char EECON1; +extern volatile near struct { + unsigned RD:1; + unsigned WR:1; + unsigned WREN:1; + unsigned WRERR:1; + unsigned FREE:1; + unsigned :1; + unsigned CFGS:1; + unsigned EEPGD:1; +} EECON1bits; +extern volatile near unsigned char EECON2; +extern volatile near unsigned char EEDATA; +extern volatile near unsigned char EEADR; +extern volatile near unsigned char EEADRH; +extern volatile near unsigned char RCSTA; +extern volatile near union { + struct { + unsigned RX9D:1; + unsigned OERR:1; + unsigned FERR:1; + unsigned ADEN:1; + unsigned CREN:1; + unsigned SREN:1; + unsigned RX9:1; + unsigned SPEN:1; + }; + struct { + unsigned :3; + unsigned ADDEN:1; + }; +} RCSTAbits; +extern volatile near unsigned char TXSTA; +extern volatile near struct { + unsigned TX9D:1; + unsigned TRMT:1; + unsigned BRGH:1; + unsigned SENDB:1; + unsigned SYNC:1; + unsigned TXEN:1; + unsigned TX9:1; + unsigned CSRC:1; +} TXSTAbits; +extern volatile near unsigned char TXREG; +extern volatile near unsigned char RCREG; +extern volatile near unsigned char SPBRG; +extern volatile near unsigned char SPBRGH; +extern volatile near unsigned char T3CON; +extern volatile near union { + struct { + unsigned TMR3ON:1; + unsigned TMR3CS:1; + unsigned T3SYNC:1; + unsigned T3CCP1:1; + unsigned T3CKPS0:1; + unsigned T3CKPS1:1; + unsigned T3CCP2:1; + unsigned RD16:1; + }; + struct { + unsigned :2; + unsigned T3NSYNC:1; + }; + struct { + unsigned :6; + unsigned T3ECCP1:1; + }; + struct { + unsigned :2; + unsigned NOT_T3SYNC:1; + }; +} T3CONbits; +extern volatile near unsigned char TMR3L; +extern volatile near unsigned char TMR3H; +extern volatile near unsigned char CMCON; +extern volatile near struct { + unsigned CM0:1; + unsigned CM1:1; + unsigned CM2:1; + unsigned CIS:1; + unsigned C1INV:1; + unsigned C2INV:1; + unsigned C1OUT:1; + unsigned C2OUT:1; +} CMCONbits; +extern volatile near unsigned char CVRCON; +extern volatile near union { + struct { + unsigned CVR0:1; + unsigned CVR1:1; + unsigned CVR2:1; + unsigned CVR3:1; + unsigned CVREF:1; + unsigned CVRR:1; + unsigned CVROE:1; + unsigned CVREN:1; + }; + struct { + unsigned :4; + unsigned CVRSS:1; + }; +} CVRCONbits; +extern volatile near unsigned char ECCP1AS; +extern volatile near struct { + unsigned PSSBD0:1; + unsigned PSSBD1:1; + unsigned PSSAC0:1; + unsigned PSSAC1:1; + unsigned ECCPAS0:1; + unsigned ECCPAS1:1; + unsigned ECCPAS2:1; + unsigned ECCPASE:1; +} ECCP1ASbits; +extern volatile near unsigned char ECCP1DEL; +extern volatile near struct { + unsigned PDC0:1; + unsigned PDC1:1; + unsigned PDC2:1; + unsigned PDC3:1; + unsigned PDC4:1; + unsigned PDC5:1; + unsigned PDC6:1; + unsigned PRSEN:1; +} ECCP1DELbits; +extern volatile near unsigned char BAUDCON; +extern volatile near struct { + unsigned ABDEN:1; + unsigned WUE:1; + unsigned :1; + unsigned BRG16:1; + unsigned SCKP:1; + unsigned :1; + unsigned RCIDL:1; + unsigned ABDOVF:1; +} BAUDCONbits; +extern volatile near unsigned char ECCP1CON; +extern volatile near struct { + unsigned ECCP1M0:1; + unsigned ECCP1M1:1; + unsigned ECCP1M2:1; + unsigned ECCP1M3:1; + unsigned EDC1B0:1; + unsigned EDC1B1:1; + unsigned EPWM1M0:1; + unsigned EPWM1M1:1; +} ECCP1CONbits; +extern volatile near unsigned ECCPR1; +extern volatile near unsigned char ECCPR1L; +extern volatile near unsigned char ECCPR1H; +extern volatile near unsigned char CCP1CON; +extern volatile near struct { + unsigned CCP1M0:1; + unsigned CCP1M1:1; + unsigned CCP1M2:1; + unsigned CCP1M3:1; + unsigned DC1B0:1; + unsigned DC1B1:1; +} CCP1CONbits; +extern volatile near unsigned CCPR1; +extern volatile near unsigned char CCPR1L; +extern volatile near unsigned char CCPR1H; +extern volatile near unsigned char ADCON2; +extern volatile near struct { + unsigned ADCS0:1; + unsigned ADCS1:1; + unsigned ADCS2:1; + unsigned ACQT0:1; + unsigned ACQT1:1; + unsigned ACQT2:1; + unsigned :1; + unsigned ADFM:1; +} ADCON2bits; +extern volatile near unsigned char ADCON1; +extern volatile near struct { + unsigned PCFG0:1; + unsigned PCFG1:1; + unsigned PCFG2:1; + unsigned PCFG3:1; + unsigned VCFG0:1; + unsigned VCFG1:1; +} ADCON1bits; +extern volatile near unsigned char ADCON0; +extern volatile near union { + struct { + unsigned ADON:1; + unsigned GO_DONE:1; + unsigned CHS0:1; + unsigned CHS1:1; + unsigned CHS2:1; + unsigned CHS3:1; + }; + struct { + unsigned :1; + unsigned DONE:1; + }; + struct { + unsigned :1; + unsigned GO:1; + }; + struct { + unsigned :1; + unsigned NOT_DONE:1; + }; +} ADCON0bits; +extern volatile near unsigned ADRES; +extern volatile near unsigned char ADRESL; +extern volatile near unsigned char ADRESH; +extern volatile near unsigned char SSPCON2; +extern volatile near struct { + unsigned SEN:1; + unsigned RSEN:1; + unsigned PEN:1; + unsigned RCEN:1; + unsigned ACKEN:1; + unsigned ACKDT:1; + unsigned ACKSTAT:1; + unsigned GCEN:1; +} SSPCON2bits; +extern volatile near unsigned char SSPCON1; +extern volatile near struct { + unsigned SSPM0:1; + unsigned SSPM1:1; + unsigned SSPM2:1; + unsigned SSPM3:1; + unsigned CKP:1; + unsigned SSPEN:1; + unsigned SSPOV:1; + unsigned WCOL:1; +} SSPCON1bits; +extern volatile near unsigned char SSPSTAT; +extern volatile near union { + struct { + unsigned BF:1; + unsigned UA:1; + unsigned R_W:1; + unsigned S:1; + unsigned P:1; + unsigned D_A:1; + unsigned CKE:1; + unsigned SMP:1; + }; + struct { + unsigned :2; + unsigned I2C_READ:1; + unsigned I2C_START:1; + unsigned I2C_STOP:1; + unsigned I2C_DAT:1; + }; + struct { + unsigned :2; + unsigned NOT_W:1; + unsigned :2; + unsigned NOT_A:1; + }; + struct { + unsigned :2; + unsigned NOT_WRITE:1; + unsigned :2; + unsigned NOT_ADDRESS:1; + }; + struct { + unsigned :2; + unsigned READ_WRITE:1; + unsigned :2; + unsigned DATA_ADDRESS:1; + }; + struct { + unsigned :2; + unsigned R:1; + unsigned :2; + unsigned D:1; + }; +} SSPSTATbits; +extern volatile near unsigned char SSPADD; +extern volatile near unsigned char SSPBUF; +extern volatile near unsigned char T2CON; +extern volatile near struct { + unsigned T2CKPS0:1; + unsigned T2CKPS1:1; + unsigned TMR2ON:1; + unsigned T2OUTPS0:1; + unsigned T2OUTPS1:1; + unsigned T2OUTPS2:1; + unsigned T2OUTPS3:1; +} T2CONbits; +extern volatile near unsigned char PR2; +extern volatile near unsigned char TMR2; +extern volatile near unsigned char T1CON; +extern volatile near union { + struct { + unsigned TMR1ON:1; + unsigned TMR1CS:1; + unsigned T1SYNC:1; + unsigned T1OSCEN:1; + unsigned T1CKPS0:1; + unsigned T1CKPS1:1; + unsigned T1RUN:1; + unsigned RD16:1; + }; + struct { + unsigned :2; + unsigned T1INSYNC:1; + }; + struct { + unsigned :2; + unsigned NOT_T1SYNC:1; + }; +} T1CONbits; +extern volatile near unsigned char TMR1L; +extern volatile near unsigned char TMR1H; +extern volatile near unsigned char RCON; +extern volatile near union { + struct { + unsigned NOT_BOR:1; + unsigned NOT_POR:1; + unsigned NOT_PD:1; + unsigned NOT_TO:1; + unsigned NOT_RI:1; + unsigned :1; + unsigned SBOREN:1; + unsigned IPEN:1; + }; + struct { + unsigned BOR:1; + unsigned POR:1; + unsigned PD:1; + unsigned TO:1; + unsigned RI:1; + }; +} RCONbits; +extern volatile near unsigned char WDTCON; +extern volatile near union { + struct { + unsigned SWDTEN:1; + }; + struct { + unsigned SWDTE:1; + }; +} WDTCONbits; +extern volatile near unsigned char HLVDCON; +extern volatile near union { + struct { + unsigned LVDL0:1; + unsigned LVDL1:1; + unsigned LVDL2:1; + unsigned LVDL3:1; + unsigned LVDEN:1; + unsigned IRVST:1; + }; + struct { + unsigned LVV0:1; + unsigned LVV1:1; + unsigned LVV2:1; + unsigned LVV3:1; + unsigned :1; + unsigned BGST:1; + }; + struct { + unsigned HLVDL0:1; + unsigned HLVDL1:1; + unsigned HLVDL2:1; + unsigned HLVDL3:1; + unsigned HLVDEN:1; + unsigned :2; + unsigned VDIRMAG:1; + }; + struct { + unsigned :5; + unsigned IVRST:1; + }; +} HLVDCONbits; +extern volatile near unsigned char LVDCON; +extern volatile near union { + struct { + unsigned LVDL0:1; + unsigned LVDL1:1; + unsigned LVDL2:1; + unsigned LVDL3:1; + unsigned LVDEN:1; + unsigned IRVST:1; + }; + struct { + unsigned LVV0:1; + unsigned LVV1:1; + unsigned LVV2:1; + unsigned LVV3:1; + unsigned :1; + unsigned BGST:1; + }; + struct { + unsigned HLVDL0:1; + unsigned HLVDL1:1; + unsigned HLVDL2:1; + unsigned HLVDL3:1; + unsigned HLVDEN:1; + unsigned :2; + unsigned VDIRMAG:1; + }; + struct { + unsigned :5; + unsigned IVRST:1; + }; +} LVDCONbits; +extern volatile near unsigned char OSCCON; +extern volatile near struct { + unsigned SCS0:1; + unsigned SCS1:1; + unsigned IOFS:1; + unsigned OSTS:1; + unsigned IRCF0:1; + unsigned IRCF1:1; + unsigned IRCF2:1; + unsigned IDLEN:1; +} OSCCONbits; +extern volatile near unsigned char T0CON; +extern volatile near union { + struct { + unsigned T0PS0:1; + unsigned T0PS1:1; + unsigned T0PS2:1; + unsigned PSA:1; + unsigned T0SE:1; + unsigned T0CS:1; + unsigned T08BIT:1; + unsigned TMR0ON:1; + }; + struct { + unsigned :3; + unsigned T0PS3:1; + }; +} T0CONbits; +extern volatile near unsigned char TMR0L; +extern volatile near unsigned char TMR0H; +extern near unsigned char STATUS; +extern near struct { + unsigned C:1; + unsigned DC:1; + unsigned Z:1; + unsigned OV:1; + unsigned N:1; +} STATUSbits; +extern near unsigned FSR2; +extern near unsigned char FSR2L; +extern near unsigned char FSR2H; +extern volatile near unsigned char PLUSW2; +extern volatile near unsigned char PREINC2; +extern volatile near unsigned char POSTDEC2; +extern volatile near unsigned char POSTINC2; +extern near unsigned char INDF2; +extern near unsigned char BSR; +extern near unsigned FSR1; +extern near unsigned char FSR1L; +extern near unsigned char FSR1H; +extern volatile near unsigned char PLUSW1; +extern volatile near unsigned char PREINC1; +extern volatile near unsigned char POSTDEC1; +extern volatile near unsigned char POSTINC1; +extern near unsigned char INDF1; +extern near unsigned char WREG; +extern near unsigned FSR0; +extern near unsigned char FSR0L; +extern near unsigned char FSR0H; +extern volatile near unsigned char PLUSW0; +extern volatile near unsigned char PREINC0; +extern volatile near unsigned char POSTDEC0; +extern volatile near unsigned char POSTINC0; +extern near unsigned char INDF0; +extern volatile near unsigned char INTCON3; +extern volatile near union { + struct { + unsigned INT1IF:1; + unsigned INT2IF:1; + unsigned :1; + unsigned INT1IE:1; + unsigned INT2IE:1; + unsigned :1; + unsigned INT1IP:1; + unsigned INT2IP:1; + }; + struct { + unsigned INT1F:1; + unsigned INT2F:1; + unsigned :1; + unsigned INT1E:1; + unsigned INT2E:1; + unsigned :1; + unsigned INT1P:1; + unsigned INT2P:1; + }; +} INTCON3bits; +extern volatile near unsigned char INTCON2; +extern volatile near union { + struct { + unsigned RBIP:1; + unsigned :1; + unsigned TMR0IP:1; + unsigned :1; + unsigned INTEDG2:1; + unsigned INTEDG1:1; + unsigned INTEDG0:1; + unsigned NOT_RBPU:1; + }; + struct { + unsigned :2; + unsigned T0IP:1; + unsigned :4; + unsigned RBPU:1; + }; +} INTCON2bits; +extern volatile near unsigned char INTCON; +extern volatile near union { + struct { + unsigned RBIF:1; + unsigned INT0IF:1; + unsigned TMR0IF:1; + unsigned RBIE:1; + unsigned INT0IE:1; + unsigned TMR0IE:1; + unsigned PEIE:1; + unsigned GIE:1; + }; + struct { + unsigned :1; + unsigned INT0F:1; + unsigned T0IF:1; + unsigned :1; + unsigned INT0E:1; + unsigned T0IE:1; + unsigned GIEL:1; + unsigned GIEH:1; + }; +} INTCONbits; +extern near unsigned PROD; +extern near unsigned char PRODL; +extern near unsigned char PRODH; +extern volatile near unsigned char TABLAT; +extern volatile near unsigned short long TBLPTR; +extern volatile near unsigned char TBLPTRL; +extern volatile near unsigned char TBLPTRH; +extern volatile near unsigned char TBLPTRU; +extern volatile near unsigned short long PC; +extern volatile near unsigned char PCL; +extern volatile near unsigned char PCLATH; +extern volatile near unsigned char PCLATU; +extern volatile near unsigned char STKPTR; +extern volatile near union { + struct { + unsigned STKPTR0:1; + unsigned STKPTR1:1; + unsigned STKPTR2:1; + unsigned STKPTR3:1; + unsigned STKPTR4:1; + unsigned :1; + unsigned STKUNF:1; + unsigned STKOVF:1; + }; + struct { + unsigned SP0:1; + unsigned SP1:1; + unsigned SP2:1; + unsigned SP3:1; + unsigned SP4:1; + unsigned :2; + unsigned STKFUL:1; + }; +} STKPTRbits; +extern near unsigned short long TOS; +extern near unsigned char TOSL; +extern near unsigned char TOSH; +extern near unsigned char TOSU; + +#pragma varlocate 13 RXF6SIDH +#pragma varlocate 13 RXF6SIDHbits +#pragma varlocate 13 RXF6SIDL +#pragma varlocate 13 RXF6SIDLbits +#pragma varlocate 13 RXF6EIDH +#pragma varlocate 13 RXF6EIDHbits +#pragma varlocate 13 RXF6EIDL +#pragma varlocate 13 RXF6EIDLbits +#pragma varlocate 13 RXF7SIDH +#pragma varlocate 13 RXF7SIDHbits +#pragma varlocate 13 RXF7SIDL +#pragma varlocate 13 RXF7SIDLbits +#pragma varlocate 13 RXF7EIDH +#pragma varlocate 13 RXF7EIDHbits +#pragma varlocate 13 RXF7EIDL +#pragma varlocate 13 RXF7EIDLbits +#pragma varlocate 13 RXF8SIDH +#pragma varlocate 13 RXF8SIDHbits +#pragma varlocate 13 RXF8SIDL +#pragma varlocate 13 RXF8SIDLbits +#pragma varlocate 13 RXF8EIDH +#pragma varlocate 13 RXF8EIDHbits +#pragma varlocate 13 RXF8EIDL +#pragma varlocate 13 RXF8EIDLbits +#pragma varlocate 13 RXF9SIDH +#pragma varlocate 13 RXF9SIDHbits +#pragma varlocate 13 RXF9SIDL +#pragma varlocate 13 RXF9SIDLbits +#pragma varlocate 13 RXF9EIDH +#pragma varlocate 13 RXF9EIDHbits +#pragma varlocate 13 RXF9EIDL +#pragma varlocate 13 RXF9EIDLbits +#pragma varlocate 13 RXF10SIDH +#pragma varlocate 13 RXF10SIDHbits +#pragma varlocate 13 RXF10SIDL +#pragma varlocate 13 RXF10SIDLbits +#pragma varlocate 13 RXF10EIDH +#pragma varlocate 13 RXF10EIDHbits +#pragma varlocate 13 RXF10EIDL +#pragma varlocate 13 RXF10EIDLbits +#pragma varlocate 13 RXF11SIDH +#pragma varlocate 13 RXF11SIDHbits +#pragma varlocate 13 RXF11SIDL +#pragma varlocate 13 RXF11SIDLbits +#pragma varlocate 13 RXF11EIDH +#pragma varlocate 13 RXF11EIDHbits +#pragma varlocate 13 RXF11EIDL +#pragma varlocate 13 RXF11EIDLbits +#pragma varlocate 13 RXF12SIDH +#pragma varlocate 13 RXF12SIDHbits +#pragma varlocate 13 RXF12SIDL +#pragma varlocate 13 RXF12SIDLbits +#pragma varlocate 13 RXF12EIDH +#pragma varlocate 13 RXF12EIDHbits +#pragma varlocate 13 RXF12EIDL +#pragma varlocate 13 RXF12EIDLbits +#pragma varlocate 13 RXF13SIDH +#pragma varlocate 13 RXF13SIDHbits +#pragma varlocate 13 RXF13SIDL +#pragma varlocate 13 RXF13SIDLbits +#pragma varlocate 13 RXF13EIDH +#pragma varlocate 13 RXF13EIDHbits +#pragma varlocate 13 RXF13EIDL +#pragma varlocate 13 RXF13EIDLbits +#pragma varlocate 13 RXF14SIDH +#pragma varlocate 13 RXF14SIDHbits +#pragma varlocate 13 RXF14SIDL +#pragma varlocate 13 RXF14SIDLbits +#pragma varlocate 13 RXF14EIDH +#pragma varlocate 13 RXF14EIDHbits +#pragma varlocate 13 RXF14EIDL +#pragma varlocate 13 RXF14EIDLbits +#pragma varlocate 13 RXF15SIDH +#pragma varlocate 13 RXF15SIDHbits +#pragma varlocate 13 RXF15SIDL +#pragma varlocate 13 RXF15SIDLbits +#pragma varlocate 13 RXF15EIDH +#pragma varlocate 13 RXF15EIDHbits +#pragma varlocate 13 RXF15EIDL +#pragma varlocate 13 RXF15EIDLbits +#pragma varlocate 13 RXFCON0 +#pragma varlocate 13 RXFCON0bits +#pragma varlocate 13 RXFCON1 +#pragma varlocate 13 RXFCON1bits +#pragma varlocate 13 SDFLC +#pragma varlocate 13 SDFLCbits +#pragma varlocate 13 RXFBCON0 +#pragma varlocate 13 RXFBCON0bits +#pragma varlocate 13 RXFBCON1 +#pragma varlocate 13 RXFBCON1bits +#pragma varlocate 13 RXFBCON2 +#pragma varlocate 13 RXFBCON2bits +#pragma varlocate 13 RXFBCON3 +#pragma varlocate 13 RXFBCON3bits +#pragma varlocate 13 RXFBCON4 +#pragma varlocate 13 RXFBCON4bits +#pragma varlocate 13 RXFBCON5 +#pragma varlocate 13 RXFBCON5bits +#pragma varlocate 13 RXFBCON6 +#pragma varlocate 13 RXFBCON6bits +#pragma varlocate 13 RXFBCON7 +#pragma varlocate 13 RXFBCON7bits +#pragma varlocate 13 MSEL0 +#pragma varlocate 13 MSEL0bits +#pragma varlocate 13 MSEL1 +#pragma varlocate 13 MSEL1bits +#pragma varlocate 13 MSEL2 +#pragma varlocate 13 MSEL2bits +#pragma varlocate 13 MSEL3 +#pragma varlocate 13 MSEL3bits +#pragma varlocate 13 BSEL0 +#pragma varlocate 13 BSEL0bits +#pragma varlocate 13 BIE0 +#pragma varlocate 13 BIE0bits +#pragma varlocate 13 TXBIE +#pragma varlocate 13 TXBIEbits +#pragma varlocate 14 B0CON +#pragma varlocate 14 B0CONbits +#pragma varlocate 14 B0SIDH +#pragma varlocate 14 B0SIDHbits +#pragma varlocate 14 B0SIDL +#pragma varlocate 14 B0SIDLbits +#pragma varlocate 14 B0EIDH +#pragma varlocate 14 B0EIDHbits +#pragma varlocate 14 B0EIDL +#pragma varlocate 14 B0EIDLbits +#pragma varlocate 14 B0DLC +#pragma varlocate 14 B0DLCbits +#pragma varlocate 14 B0D0 +#pragma varlocate 14 B0D0bits +#pragma varlocate 14 B0D1 +#pragma varlocate 14 B0D1bits +#pragma varlocate 14 B0D2 +#pragma varlocate 14 B0D2bits +#pragma varlocate 14 B0D3 +#pragma varlocate 14 B0D3bits +#pragma varlocate 14 B0D4 +#pragma varlocate 14 B0D4bits +#pragma varlocate 14 B0D5 +#pragma varlocate 14 B0D5bits +#pragma varlocate 14 B0D6 +#pragma varlocate 14 B0D6bits +#pragma varlocate 14 B0D7 +#pragma varlocate 14 B0D7bits +#pragma varlocate 14 CANSTAT_RO9 +#pragma varlocate 14 CANSTAT_RO9bits +#pragma varlocate 14 CANCON_RO9 +#pragma varlocate 14 CANCON_RO9bits +#pragma varlocate 14 B1CON +#pragma varlocate 14 B1CONbits +#pragma varlocate 14 B1SIDH +#pragma varlocate 14 B1SIDHbits +#pragma varlocate 14 B1SIDL +#pragma varlocate 14 B1SIDLbits +#pragma varlocate 14 B1EIDH +#pragma varlocate 14 B1EIDHbits +#pragma varlocate 14 B1EIDL +#pragma varlocate 14 B1EIDLbits +#pragma varlocate 14 B1DLC +#pragma varlocate 14 B1DLCbits +#pragma varlocate 14 B1D0 +#pragma varlocate 14 B1D0bits +#pragma varlocate 14 B1D1 +#pragma varlocate 14 B1D1bits +#pragma varlocate 14 B1D2 +#pragma varlocate 14 B1D2bits +#pragma varlocate 14 B1D3 +#pragma varlocate 14 B1D3bits +#pragma varlocate 14 B1D4 +#pragma varlocate 14 B1D4bits +#pragma varlocate 14 B1D5 +#pragma varlocate 14 B1D5bits +#pragma varlocate 14 B1D6 +#pragma varlocate 14 B1D6bits +#pragma varlocate 14 B1D7 +#pragma varlocate 14 B1D7bits +#pragma varlocate 14 CANSTAT_RO8 +#pragma varlocate 14 CANSTAT_RO8bits +#pragma varlocate 14 CANCON_RO8 +#pragma varlocate 14 CANCON_RO8bits +#pragma varlocate 14 B2CON +#pragma varlocate 14 B2CONbits +#pragma varlocate 14 B2SIDH +#pragma varlocate 14 B2SIDHbits +#pragma varlocate 14 B2SIDL +#pragma varlocate 14 B2SIDLbits +#pragma varlocate 14 B2EIDH +#pragma varlocate 14 B2EIDHbits +#pragma varlocate 14 B2EIDL +#pragma varlocate 14 B2EIDLbits +#pragma varlocate 14 B2DLC +#pragma varlocate 14 B2DLCbits +#pragma varlocate 14 B2D0 +#pragma varlocate 14 B2D0bits +#pragma varlocate 14 B2D1 +#pragma varlocate 14 B2D1bits +#pragma varlocate 14 B2D2 +#pragma varlocate 14 B2D2bits +#pragma varlocate 14 B2D3 +#pragma varlocate 14 B2D3bits +#pragma varlocate 14 B2D4 +#pragma varlocate 14 B2D4bits +#pragma varlocate 14 B2D5 +#pragma varlocate 14 B2D5bits +#pragma varlocate 14 B2D6 +#pragma varlocate 14 B2D6bits +#pragma varlocate 14 B2D7 +#pragma varlocate 14 B2D7bits +#pragma varlocate 14 CANSTAT_RO7 +#pragma varlocate 14 CANSTAT_RO7bits +#pragma varlocate 14 CANCON_RO7 +#pragma varlocate 14 CANCON_RO7bits +#pragma varlocate 14 B3CON +#pragma varlocate 14 B3CONbits +#pragma varlocate 14 B3SIDH +#pragma varlocate 14 B3SIDHbits +#pragma varlocate 14 B3SIDL +#pragma varlocate 14 B3SIDLbits +#pragma varlocate 14 B3EIDH +#pragma varlocate 14 B3EIDHbits +#pragma varlocate 14 B3EIDL +#pragma varlocate 14 B3EIDLbits +#pragma varlocate 14 B3DLC +#pragma varlocate 14 B3DLCbits +#pragma varlocate 14 B3D0 +#pragma varlocate 14 B3D0bits +#pragma varlocate 14 B3D1 +#pragma varlocate 14 B3D1bits +#pragma varlocate 14 B3D2 +#pragma varlocate 14 B3D2bits +#pragma varlocate 14 B3D3 +#pragma varlocate 14 B3D3bits +#pragma varlocate 14 B3D4 +#pragma varlocate 14 B3D4bits +#pragma varlocate 14 B3D5 +#pragma varlocate 14 B3D5bits +#pragma varlocate 14 B3D6 +#pragma varlocate 14 B3D6bits +#pragma varlocate 14 B3D7 +#pragma varlocate 14 B3D7bits +#pragma varlocate 14 CANSTAT_RO6 +#pragma varlocate 14 CANSTAT_RO6bits +#pragma varlocate 14 CANCON_RO6 +#pragma varlocate 14 CANCON_RO6bits +#pragma varlocate 14 B4CON +#pragma varlocate 14 B4CONbits +#pragma varlocate 14 B4SIDH +#pragma varlocate 14 B4SIDHbits +#pragma varlocate 14 B4SIDL +#pragma varlocate 14 B4SIDLbits +#pragma varlocate 14 B4EIDH +#pragma varlocate 14 B4EIDHbits +#pragma varlocate 14 B4EIDL +#pragma varlocate 14 B4EIDLbits +#pragma varlocate 14 B4DLC +#pragma varlocate 14 B4DLCbits +#pragma varlocate 14 B4D0 +#pragma varlocate 14 B4D0bits +#pragma varlocate 14 B4D1 +#pragma varlocate 14 B4D1bits +#pragma varlocate 14 B4D2 +#pragma varlocate 14 B4D2bits +#pragma varlocate 14 B4D3 +#pragma varlocate 14 B4D3bits +#pragma varlocate 14 B4D4 +#pragma varlocate 14 B4D4bits +#pragma varlocate 14 B4D5 +#pragma varlocate 14 B4D5bits +#pragma varlocate 14 B4D6 +#pragma varlocate 14 B4D6bits +#pragma varlocate 14 B4D7 +#pragma varlocate 14 B4D7bits +#pragma varlocate 14 CANSTAT_RO5 +#pragma varlocate 14 CANSTAT_RO5bits +#pragma varlocate 14 CANCON_RO5 +#pragma varlocate 14 CANCON_RO5bits +#pragma varlocate 14 B5CON +#pragma varlocate 14 B5CONbits +#pragma varlocate 14 B5SIDH +#pragma varlocate 14 B5SIDHbits +#pragma varlocate 14 B5SIDL +#pragma varlocate 14 B5SIDLbits +#pragma varlocate 14 B5EIDH +#pragma varlocate 14 B5EIDHbits +#pragma varlocate 14 B5EIDL +#pragma varlocate 14 B5EIDLbits +#pragma varlocate 14 B5DLC +#pragma varlocate 14 B5DLCbits +#pragma varlocate 14 B5D0 +#pragma varlocate 14 B5D0bits +#pragma varlocate 14 B5D1 +#pragma varlocate 14 B5D1bits +#pragma varlocate 14 B5D2 +#pragma varlocate 14 B5D2bits +#pragma varlocate 14 B5D3 +#pragma varlocate 14 B5D3bits +#pragma varlocate 14 B5D4 +#pragma varlocate 14 B5D4bits +#pragma varlocate 14 B5D5 +#pragma varlocate 14 B5D5bits +#pragma varlocate 14 B5D6 +#pragma varlocate 14 B5D6bits +#pragma varlocate 14 B5D7 +#pragma varlocate 14 B5D7bits +#pragma varlocate 14 CANSTAT_RO4 +#pragma varlocate 14 CANSTAT_RO4bits +#pragma varlocate 14 CANCON_RO4 +#pragma varlocate 14 CANCON_RO4bits +#pragma varlocate 15 RXF0SIDH +#pragma varlocate 15 RXF0SIDHbits +#pragma varlocate 15 RXF0SIDL +#pragma varlocate 15 RXF0SIDLbits +#pragma varlocate 15 RXF0EIDH +#pragma varlocate 15 RXF0EIDHbits +#pragma varlocate 15 RXF0EIDL +#pragma varlocate 15 RXF0EIDLbits +#pragma varlocate 15 RXF1SIDH +#pragma varlocate 15 RXF1SIDHbits +#pragma varlocate 15 RXF1SIDL +#pragma varlocate 15 RXF1SIDLbits +#pragma varlocate 15 RXF1EIDH +#pragma varlocate 15 RXF1EIDHbits +#pragma varlocate 15 RXF1EIDL +#pragma varlocate 15 RXF1EIDLbits +#pragma varlocate 15 RXF2SIDH +#pragma varlocate 15 RXF2SIDHbits +#pragma varlocate 15 RXF2SIDL +#pragma varlocate 15 RXF2SIDLbits +#pragma varlocate 15 RXF2EIDH +#pragma varlocate 15 RXF2EIDHbits +#pragma varlocate 15 RXF2EIDL +#pragma varlocate 15 RXF2EIDLbits +#pragma varlocate 15 RXF3SIDH +#pragma varlocate 15 RXF3SIDHbits +#pragma varlocate 15 RXF3SIDL +#pragma varlocate 15 RXF3SIDLbits +#pragma varlocate 15 RXF3EIDH +#pragma varlocate 15 RXF3EIDHbits +#pragma varlocate 15 RXF3EIDL +#pragma varlocate 15 RXF3EIDLbits +#pragma varlocate 15 RXF4SIDH +#pragma varlocate 15 RXF4SIDHbits +#pragma varlocate 15 RXF4SIDL +#pragma varlocate 15 RXF4SIDLbits +#pragma varlocate 15 RXF4EIDH +#pragma varlocate 15 RXF4EIDHbits +#pragma varlocate 15 RXF4EIDL +#pragma varlocate 15 RXF4EIDLbits +#pragma varlocate 15 RXF5SIDH +#pragma varlocate 15 RXF5SIDHbits +#pragma varlocate 15 RXF5SIDL +#pragma varlocate 15 RXF5SIDLbits +#pragma varlocate 15 RXF5EIDH +#pragma varlocate 15 RXF5EIDHbits +#pragma varlocate 15 RXF5EIDL +#pragma varlocate 15 RXF5EIDLbits +#pragma varlocate 15 RXM0SIDH +#pragma varlocate 15 RXM0SIDHbits +#pragma varlocate 15 RXM0SIDL +#pragma varlocate 15 RXM0SIDLbits +#pragma varlocate 15 RXM0EIDH +#pragma varlocate 15 RXM0EIDHbits +#pragma varlocate 15 RXM0EIDL +#pragma varlocate 15 RXM0EIDLbits +#pragma varlocate 15 RXM1SIDH +#pragma varlocate 15 RXM1SIDHbits +#pragma varlocate 15 RXM1SIDL +#pragma varlocate 15 RXM1SIDLbits +#pragma varlocate 15 RXM1EIDH +#pragma varlocate 15 RXM1EIDHbits +#pragma varlocate 15 RXM1EIDL +#pragma varlocate 15 RXM1EIDLbits +#pragma varlocate 15 TXB2CON +#pragma varlocate 15 TXB2CONbits +#pragma varlocate 15 TXB2SIDH +#pragma varlocate 15 TXB2SIDHbits +#pragma varlocate 15 TXB2SIDL +#pragma varlocate 15 TXB2SIDLbits +#pragma varlocate 15 TXB2EIDH +#pragma varlocate 15 TXB2EIDHbits +#pragma varlocate 15 TXB2EIDL +#pragma varlocate 15 TXB2EIDLbits +#pragma varlocate 15 TXB2DLC +#pragma varlocate 15 TXB2DLCbits +#pragma varlocate 15 TXB2D0 +#pragma varlocate 15 TXB2D0bits +#pragma varlocate 15 TXB2D1 +#pragma varlocate 15 TXB2D1bits +#pragma varlocate 15 TXB2D2 +#pragma varlocate 15 TXB2D2bits +#pragma varlocate 15 TXB2D3 +#pragma varlocate 15 TXB2D3bits +#pragma varlocate 15 TXB2D4 +#pragma varlocate 15 TXB2D4bits +#pragma varlocate 15 TXB2D5 +#pragma varlocate 15 TXB2D5bits +#pragma varlocate 15 TXB2D6 +#pragma varlocate 15 TXB2D6bits +#pragma varlocate 15 TXB2D7 +#pragma varlocate 15 TXB2D7bits +#pragma varlocate 15 CANSTAT_RO3 +#pragma varlocate 15 CANSTAT_RO3bits +#pragma varlocate 15 CANCON_RO3 +#pragma varlocate 15 CANCON_RO3bits +#pragma varlocate 15 TXB1CON +#pragma varlocate 15 TXB1CONbits +#pragma varlocate 15 TXB1SIDH +#pragma varlocate 15 TXB1SIDHbits +#pragma varlocate 15 TXB1SIDL +#pragma varlocate 15 TXB1SIDLbits +#pragma varlocate 15 TXB1EIDH +#pragma varlocate 15 TXB1EIDHbits +#pragma varlocate 15 TXB1EIDL +#pragma varlocate 15 TXB1EIDLbits +#pragma varlocate 15 TXB1DLC +#pragma varlocate 15 TXB1DLCbits +#pragma varlocate 15 TXB1D0 +#pragma varlocate 15 TXB1D0bits +#pragma varlocate 15 TXB1D1 +#pragma varlocate 15 TXB1D1bits +#pragma varlocate 15 TXB1D2 +#pragma varlocate 15 TXB1D2bits +#pragma varlocate 15 TXB1D3 +#pragma varlocate 15 TXB1D3bits +#pragma varlocate 15 TXB1D4 +#pragma varlocate 15 TXB1D4bits +#pragma varlocate 15 TXB1D5 +#pragma varlocate 15 TXB1D5bits +#pragma varlocate 15 TXB1D6 +#pragma varlocate 15 TXB1D6bits +#pragma varlocate 15 TXB1D7 +#pragma varlocate 15 TXB1D7bits +#pragma varlocate 15 CANSTAT_RO2 +#pragma varlocate 15 CANSTAT_RO2bits +#pragma varlocate 15 CANCON_RO2 +#pragma varlocate 15 CANCON_RO2bits +#pragma varlocate 15 TXB0CON +#pragma varlocate 15 TXB0CONbits +#pragma varlocate 15 TXB0SIDH +#pragma varlocate 15 TXB0SIDHbits +#pragma varlocate 15 TXB0SIDL +#pragma varlocate 15 TXB0SIDLbits +#pragma varlocate 15 TXB0EIDH +#pragma varlocate 15 TXB0EIDHbits +#pragma varlocate 15 TXB0EIDL +#pragma varlocate 15 TXB0EIDLbits +#pragma varlocate 15 TXB0DLC +#pragma varlocate 15 TXB0DLCbits +#pragma varlocate 15 TXB0D0 +#pragma varlocate 15 TXB0D0bits +#pragma varlocate 15 TXB0D1 +#pragma varlocate 15 TXB0D1bits +#pragma varlocate 15 TXB0D2 +#pragma varlocate 15 TXB0D2bits +#pragma varlocate 15 TXB0D3 +#pragma varlocate 15 TXB0D3bits +#pragma varlocate 15 TXB0D4 +#pragma varlocate 15 TXB0D4bits +#pragma varlocate 15 TXB0D5 +#pragma varlocate 15 TXB0D5bits +#pragma varlocate 15 TXB0D6 +#pragma varlocate 15 TXB0D6bits +#pragma varlocate 15 TXB0D7 +#pragma varlocate 15 TXB0D7bits +#pragma varlocate 15 CANSTAT_RO1 +#pragma varlocate 15 CANSTAT_RO1bits +#pragma varlocate 15 CANCON_RO1 +#pragma varlocate 15 CANCON_RO1bits +#pragma varlocate 15 RXB1CON +#pragma varlocate 15 RXB1CONbits +#pragma varlocate 15 RXB1SIDH +#pragma varlocate 15 RXB1SIDHbits +#pragma varlocate 15 RXB1SIDL +#pragma varlocate 15 RXB1SIDLbits +#pragma varlocate 15 RXB1EIDH +#pragma varlocate 15 RXB1EIDHbits +#pragma varlocate 15 RXB1EIDL +#pragma varlocate 15 RXB1EIDLbits +#pragma varlocate 15 RXB1DLC +#pragma varlocate 15 RXB1DLCbits +#pragma varlocate 15 RXB1D0 +#pragma varlocate 15 RXB1D0bits +#pragma varlocate 15 RXB1D1 +#pragma varlocate 15 RXB1D1bits +#pragma varlocate 15 RXB1D2 +#pragma varlocate 15 RXB1D2bits +#pragma varlocate 15 RXB1D3 +#pragma varlocate 15 RXB1D3bits +#pragma varlocate 15 RXB1D4 +#pragma varlocate 15 RXB1D4bits +#pragma varlocate 15 RXB1D5 +#pragma varlocate 15 RXB1D5bits +#pragma varlocate 15 RXB1D6 +#pragma varlocate 15 RXB1D6bits +#pragma varlocate 15 RXB1D7 +#pragma varlocate 15 RXB1D7bits +#pragma varlocate 15 CANSTAT_RO0 +#pragma varlocate 15 CANSTAT_RO0bits +#pragma varlocate 15 CANCON_RO0 +#pragma varlocate 15 CANCON_RO0bits + + +#line 4978 "C:/MCC18/h/p18f4685.h" + +#line 4980 "C:/MCC18/h/p18f4685.h" +#line 4981 "C:/MCC18/h/p18f4685.h" + + +#line 4984 "C:/MCC18/h/p18f4685.h" + +#line 4986 "C:/MCC18/h/p18f4685.h" +#line 4987 "C:/MCC18/h/p18f4685.h" +#line 4988 "C:/MCC18/h/p18f4685.h" +#line 4989 "C:/MCC18/h/p18f4685.h" + +#line 4991 "C:/MCC18/h/p18f4685.h" +#line 4992 "C:/MCC18/h/p18f4685.h" +#line 4993 "C:/MCC18/h/p18f4685.h" +#line 4994 "C:/MCC18/h/p18f4685.h" +#line 4995 "C:/MCC18/h/p18f4685.h" + + +#line 4999 "C:/MCC18/h/p18f4685.h" + +#line 5001 "C:/MCC18/h/p18f4685.h" + + +#line 5004 "C:/MCC18/h/p18f4685.h" +#line 80 "p2_deco_main - 090915b.c" + +#line 1 "C:/MCC18/h/math.h" + + +#line 4 "C:/MCC18/h/math.h" + +typedef float float_t; +typedef float double_t; + +#line 9 "C:/MCC18/h/math.h" +#line 10 "C:/MCC18/h/math.h" +#line 11 "C:/MCC18/h/math.h" + +float fabs (auto float x); +float ldexp (auto float x, auto int n); +float exp (auto float f); +float sqrt (auto float x); +float asin (auto float x); +float acos (auto float x); +float atan2 (auto float y, auto float x); +float atan (auto float x); +float sin (auto float x); +float cos (auto float x); +float tan (auto float x); +float sinh (auto float x); +float cosh (auto float x); +float tanh (auto float x); +float frexp (auto float x, auto int *pexp); +float log10 (auto float x); +float log (auto float x); +float pow (auto float x, auto float y); +float ceil (auto float x); +float floor (auto float x); +float modf (auto float x, auto float *ipart); +float fmod (auto float x, auto float y); + +float mchptoieee (auto unsigned long v); +unsigned long ieeetomchp (auto float v); + +#line 39 "C:/MCC18/h/math.h" +#line 81 "p2_deco_main - 090915b.c" + + + + + + + #pragma config OSC = IRCIO67 + #pragma config FCMEN = OFF + #pragma config IESO = OFF + #pragma config PWRT = ON + #pragma config BOREN = OFF + #pragma config WDT = OFF + #pragma config WDTPS = 128 + #pragma config MCLRE = ON + #pragma config LPT1OSC = OFF + #pragma config PBADEN = OFF + #pragma config DEBUG = OFF + #pragma config XINST = OFF + #pragma config LVP = OFF + #pragma config STVREN = OFF + + + + + +#line 107 "p2_deco_main - 090915b.c" +#line 108 "p2_deco_main - 090915b.c" +#line 109 "p2_deco_main - 090915b.c" + + +#line 112 "p2_deco_main - 090915b.c" +#line 113 "p2_deco_main - 090915b.c" +#line 114 "p2_deco_main - 090915b.c" +#line 115 "p2_deco_main - 090915b.c" + +#line 117 "p2_deco_main - 090915b.c" +#line 118 "p2_deco_main - 090915b.c" +#line 119 "p2_deco_main - 090915b.c" +#line 120 "p2_deco_main - 090915b.c" + +#line 122 "p2_deco_main - 090915b.c" +#line 123 "p2_deco_main - 090915b.c" +#line 124 "p2_deco_main - 090915b.c" +#line 125 "p2_deco_main - 090915b.c" + +#line 127 "p2_deco_main - 090915b.c" +#line 128 "p2_deco_main - 090915b.c" +#line 129 "p2_deco_main - 090915b.c" +#line 130 "p2_deco_main - 090915b.c" + + +#line 133 "p2_deco_main - 090915b.c" +#line 134 "p2_deco_main - 090915b.c" +#line 135 "p2_deco_main - 090915b.c" +#line 136 "p2_deco_main - 090915b.c" + +#line 138 "p2_deco_main - 090915b.c" +#line 139 "p2_deco_main - 090915b.c" +#line 140 "p2_deco_main - 090915b.c" +#line 141 "p2_deco_main - 090915b.c" + +#line 143 "p2_deco_main - 090915b.c" +#line 144 "p2_deco_main - 090915b.c" +#line 145 "p2_deco_main - 090915b.c" +#line 146 "p2_deco_main - 090915b.c" + +#line 148 "p2_deco_main - 090915b.c" +#line 149 "p2_deco_main - 090915b.c" +#line 150 "p2_deco_main - 090915b.c" +#line 151 "p2_deco_main - 090915b.c" + + +#line 154 "p2_deco_main - 090915b.c" +#line 155 "p2_deco_main - 090915b.c" +#line 156 "p2_deco_main - 090915b.c" +#line 157 "p2_deco_main - 090915b.c" + +#line 159 "p2_deco_main - 090915b.c" +#line 160 "p2_deco_main - 090915b.c" +#line 161 "p2_deco_main - 090915b.c" +#line 162 "p2_deco_main - 090915b.c" + +#line 164 "p2_deco_main - 090915b.c" +#line 165 "p2_deco_main - 090915b.c" +#line 166 "p2_deco_main - 090915b.c" +#line 167 "p2_deco_main - 090915b.c" + + + + + + + + + + + + + + + + + + + + + +#line 189 "p2_deco_main - 090915b.c" +#line 190 "p2_deco_main - 090915b.c" +#line 191 "p2_deco_main - 090915b.c" + +#line 193 "p2_deco_main - 090915b.c" +#line 194 "p2_deco_main - 090915b.c" + +#line 196 "p2_deco_main - 090915b.c" +#line 197 "p2_deco_main - 090915b.c" + + +#pragma udata bank0a=0x060 +volatile unsigned char wp_stringstore[26]; +volatile unsigned char wp_color1; +volatile unsigned char wp_color2; +volatile unsigned char wp_top; +volatile unsigned char wp_leftx2; +volatile unsigned char wp_font; +volatile unsigned char wp_invert; +volatile unsigned char wp_temp_U8; + +#pragma udata bank0b=0x081 +volatile unsigned char wp_txtptr; +volatile unsigned char wp_char; +volatile unsigned char wp_command; +volatile unsigned int wp_data_16bit; +volatile unsigned char wp_data_8bit_one; +volatile unsigned char wp_data_8bit_two; +volatile unsigned int wp_start; +volatile unsigned int wp_end; +volatile unsigned int wp_i; +volatile unsigned char wp_black; + +volatile unsigned char wp_debug_U8; + + +#pragma udata bank0c=0x0D0 +#line 226 "p2_deco_main - 090915b.c" +volatile unsigned char keep_free_bank0[48 ]; + + +#pragma udata bank1=0x100 +#line 231 "p2_deco_main - 090915b.c" +volatile unsigned char keep_free_bank1[256 ]; + + #pragma udata bank2a=0x200 + + static unsigned int int_O_tissue_for_debug[32]; + static unsigned int int_O_GF_spare____; + static unsigned int int_O_GF_step; + static unsigned int int_O_gtissue_limit; + static unsigned int int_O_gtissue_press; + static unsigned int int_O_limit_GF_low; + static unsigned int int_O_gtissue_press_at_GF_low; + + + #pragma udata bank2b=0x24E + static unsigned char char_O_GF_low_pointer; + static unsigned char char_O_actual_pointer; + #pragma udata bank2c=0x250 + static unsigned char char_O_deco_table[32]; + #pragma udata bank2d=0x270 + static unsigned char char_I_table_deco_done[32]; + #pragma udata bank2e=0x290 + static unsigned int int_O_calc_tissue_call_counter; + + unsigned char lock_GF_depth_list; + static float temp_limit; + static float GF_low; + static float GF_high; + static float GF_delta; + static float GF_temp; + static float GF_step; + static float GF_step2; + static float temp_pres_gtissue; + static float temp_pres_gtissue_diff; + static float temp_pres_gtissue_limit_GF_low; + static float temp_pres_gtissue_limit_GF_low_below_surface; + static unsigned int temp_depth_limit; + static unsigned char temp_decotime; + static unsigned char temp_gtissue_no; + static unsigned int temp_depth_last_deco; + + static unsigned char temp_depth_GF_low_meter; + static unsigned char temp_depth_GF_low_number; + static unsigned char internal_deco_pointer; + static unsigned char internal_deco_table[32]; + static float temp_pres_deco_GF_low; + +static unsigned int debug_temp; + + +#pragma udata bank3a=0x300 +static char output[32]; + +#pragma udata bank3b=0x380 +volatile float pres_tissue_vault[32]; + +#pragma udata bank4a=0x400 + + unsigned char ci ; + unsigned char x; + unsigned int main_i; + unsigned int int_temp; + unsigned int int_temp_decostatus; + static float pres_respiration; + static float pres_surface; + static float temp1; + static float temp2; + static float temp3; + static float temp4; + static float temp_deco; + static float temp_atem; + static float temp2_atem; + static float temp_tissue; + static float temp_surface; + static float N2_ratio; + static float He_ratio; + static float temp_ratio; + static float var_a; + static float var2_a; + static float var_b; + static float var2_b; + static float var_t05nc; + static float var2_t05nc; + static float var_e2secs; + static float var2_e2secs; + static float var_e1min; + static float var2_e1min; + static float var_halftimes; + static float var2_halftimes; + static float pres_gtissue_limit; + static float temp_pres_gtissue_limit; + static float actual_ppO2; + + #pragma udata bank4b=0x480 + static float pres_tissue[32]; + + #pragma udata bank5=0x500 + + + static unsigned int int_I_pres_respiration; + static unsigned int int_I_pres_surface; + static unsigned int int_I_temp; + static unsigned char char_I_temp; + static unsigned char char_I_actual_ppO2; + static unsigned int int_I_spare_3; + static unsigned int int_I_spare_4; + static unsigned int int_I_spare_5; + static unsigned int int_I_spare_6; + static unsigned char char_I_N2_ratio; + static unsigned char char_I_He_ratio; + static unsigned char char_I_saturation_multiplier; + static unsigned char char_I_desaturation_multiplier; + static unsigned char char_I_GF_High_percentage; + static unsigned char char_I_GF_Low_percentage; + static unsigned char char_I_spare; + static unsigned char char_I_deco_distance; + static unsigned char char_I_const_ppO2; + static unsigned char char_I_deco_ppO2_change; + static unsigned char char_I_deco_ppO2; + static unsigned char char_I_deco_gas_change; + static unsigned char char_I_deco_N2_ratio; + static unsigned char char_I_deco_He_ratio; + static unsigned char char_I_depth_last_deco; + static unsigned char char_I_deco_model; + + static unsigned int int_O_desaturation_time; + static unsigned char char_O_nullzeit; + static unsigned char char_O_deco_status; + static unsigned char char_O_array_decotime[7]; + static unsigned char char_O_array_decodepth[6]; + static unsigned char char_O_ascenttime; + static unsigned char char_O_gradient_factor; + static unsigned char char_O_tissue_saturation[32]; + static unsigned char char_O_array_gradient_weighted[16]; + static unsigned char char_O_gtissue_no; + static unsigned char char_O_diluent; + static unsigned char char_O_CNS_fraction; + static unsigned char char_O_relative_gradient_GF; + + + static float pres_tissue_limit[16]; + static float sim_pres_tissue_limit[16]; + static float pres_diluent; + static float deco_diluent; + static float const_ppO2; + static float deco_ppO2_change; + static float deco_ppO2; + + #pragma udata bank6=0x600 + + static float sim_pres_tissue[32]; + static float sim_pres_tissue_backup[32]; + + + + + #pragma udata bank8=0x800 + static char md_pi_subst[256]; + + #pragma udata bank9a=0x900 + + static char md_state[48]; + #pragma udata bank9b=0x930 + + static unsigned int int_O_DBS_bitfield; + static unsigned int int_O_DBS2_bitfield; + static unsigned int int_O_DBG_pre_bitfield; + static unsigned int int_O_DBG_post_bitfield; + static char char_O_NDL_at_20mtr; + + static char md_t; + static char md_buffer[16]; + static char md_cksum[16]; + static char md_i; + static char md_j; + static char md_temp; + static unsigned int md_pointer; + static float deco_N2_ratio; + static float deco_He_ratio; + static float calc_N2_ratio; + static float calc_He_ratio; + static float deco_gas_change; + static float CNS_fraction; + static float float_saturation_multiplier; + static float float_desaturation_multiplier; + static float float_deco_distance; + + static unsigned char DBG_char_I_deco_model; + static unsigned char DBG_char_I_depth_last_deco; + static float DBG_pres_surface; + static float DBG_GF_low; + static float DBG_GF_high; + static float DBG_const_ppO2; + static float DBG_deco_ppO2_change; + static float DBG_deco_ppO2; + static float DBG_deco_N2_ratio; + static float DBG_deco_He_ratio; + static float DBG_deco_gas_change; + static float DBG_float_saturation_multiplier; + static float DBG_float_desaturation_multiplier; + static float DBG_float_deco_distance; + static float DBG_deco_N2_ratio; + static float DBG_deco_He_ratio; + static float DBG_N2_ratio; + static float DBG_He_ratio; + static char flag_in_divemode; + static int int_dbg_i; + unsigned int temp_DBS; + + + + +void main_calc_hauptroutine(void); +void main_calc_without_deco(void); +void main_clear_tissue(void); +void main_calc_percentage(void); +void main_calc_wo_deco_step_1_min(void); +void main_debug(void); +void main_gradient_array(void); +void main_hash(void); + +void calc_hauptroutine(void); +void calc_tissue(void); +void calc_nullzeit(void); +void backup_sim_pres_tissue(void); +void restore_sim_pres_tissue(void); + +void calc_without_deco(void); +void clear_tissue(void); +void calc_ascenttime(void); +void update_startvalues(void); +void clear_decoarray(void); +void update_decoarray(void); +void sim_tissue_1min(void); +void sim_tissue_10min(void); +void calc_gradient_factor(void); +void calc_gradient_array_only(void); +void calc_desaturation_time(void); +void calc_wo_deco_step_1_min(void); +void calc_tissue_step_1_min(void); +void hash(void); +void clear_CNS_fraction(void); +void calc_CNS_fraction(void); +void calc_CNS_decrease_15min(void); +void calc_percentage(void); +void main(void); +void calc_hauptroutine_data_input(void); +void calc_hauptroutine_update_tissues(void); +void calc_hauptroutine_calc_deco(void); +void calc_hauptroutine_calc_ascend_to_deco(void); +void calc_nextdecodepth_GF(void); +void copy_deco_table_GF(void); +void clear_internal_deco_table_GF(void); +void update_internal_deco_table_GF(void); +void push_tissues_to_vault(void); +void pull_tissues_from_vault(void); +void main_push_tissues_to_vault(void); +void main_pull_tissues_from_vault(void); +void wordprocessor(void); + + + + + +#pragma romdata der_code = 0x0000 +#pragma code der_start = 0x0000 +void der_start(void) +{ +_asm + goto main +_endasm +} + + + + + + +#pragma code main = 0x9000 +void main(void) +{ + for(wp_temp_U8=0;wp_temp_U8<48 - 1;wp_temp_U8++) + keep_free_bank0[wp_temp_U8] = 7; + keep_free_bank0[48 - 1] = 7; + + for(wp_temp_U8=0;wp_temp_U8<256 - 1;wp_temp_U8++) + keep_free_bank1[wp_temp_U8] = 7; + keep_free_bank1[256 - 1] = 7; + +#line 520 "p2_deco_main - 090915b.c" + + +wp_top = 10; +wp_leftx2 = 10; +wp_color1 = 255; +wp_color2 = 255; +wp_font = 0; +wp_invert = 0; +wp_stringstore[0] = ' '; +wp_stringstore[1] = '!'; +wp_stringstore[2] = '"'; +wp_stringstore[3] = ':'; +wp_stringstore[4] = 0; +wordprocessor(); + +GF_low = 1.0; +GF_high = 1.0; + +GF_temp = GF_low * GF_high; + +clear_CNS_fraction(); + + + + + + + + + +int_I_pres_respiration = 1000; +int_I_pres_surface = 1000; +char_I_N2_ratio = 39; +char_I_He_ratio = 40; +char_I_deco_distance = 0; +char_I_depth_last_deco = 3; + +char_I_const_ppO2 = 0; +char_I_deco_ppO2_change = 0; +char_I_deco_ppO2 = 0; + +char_I_deco_gas_change = 0; +char_I_deco_N2_ratio = 0; +char_I_deco_He_ratio = 0; + + +char_I_GF_High_percentage = 100; +char_I_GF_Low_percentage = 100; + +char_I_saturation_multiplier = 110; +char_I_desaturation_multiplier = 90; + +char_I_deco_model = 0; + +main_clear_tissue(); + +int_I_pres_respiration = 1000 + int_I_pres_surface; +main_calc_wo_deco_step_1_min(); +int_I_pres_respiration = 3000 + int_I_pres_surface; +main_calc_wo_deco_step_1_min(); +int_I_pres_respiration = 5000 + int_I_pres_surface; +main_calc_wo_deco_step_1_min(); + + +#line 587 "p2_deco_main - 090915b.c" + + +char_O_deco_status = 255; +while (char_O_deco_status) + main_calc_hauptroutine(); +_asm +nop +_endasm + +for (main_i=0;main_i<50;main_i++) +{ +main_calc_hauptroutine(); +} +int_I_pres_respiration = 10000; +for (main_i=0;main_i<1500;main_i++) +{ +main_calc_hauptroutine(); +} + +_asm +nop +_endasm + + +int_I_pres_respiration = 3000; +for (main_i=0;main_i<150;main_i++) +{ + calc_hauptroutine_data_input(); + calc_hauptroutine_update_tissues(); +} + + update_startvalues(); + clear_decoarray(); + clear_internal_deco_table_GF(); + calc_hauptroutine_calc_ascend_to_deco(); + if (char_O_deco_status > 15) + { + char_O_deco_status = 2; + + } + else + { + + calc_hauptroutine_calc_deco(); + } + + +_asm +nop +_endasm +while (char_O_deco_status == 1) +{ + char_O_deco_status = 0; + + calc_hauptroutine_calc_deco(); + +_asm +nop +_endasm +}; +debug_temp = 60; +int_I_pres_respiration = 9980; +for (main_i=0;main_i<debug_temp;main_i++) +{ +int_I_pres_respiration = int_I_pres_respiration - 33; + calc_hauptroutine_data_input(); + calc_hauptroutine_update_tissues(); +int_I_pres_respiration = int_I_pres_respiration - 33; + calc_hauptroutine_data_input(); + calc_hauptroutine_update_tissues(); +int_I_pres_respiration = int_I_pres_respiration - 34; + calc_hauptroutine_data_input(); + calc_hauptroutine_update_tissues(); +} +_asm +nop +_endasm + + update_startvalues(); + clear_decoarray(); + clear_internal_deco_table_GF(); + calc_hauptroutine_calc_ascend_to_deco(); + if (char_O_deco_status > 15) + { + char_O_deco_status = 2; + + } + else + { + + calc_hauptroutine_calc_deco(); + } + + +_asm +nop +_endasm +while (char_O_deco_status == 1) +{ + char_O_deco_status = 0; + + calc_hauptroutine_calc_deco(); + +_asm +nop +_endasm +}; +_asm +nop +_endasm +debug_temp = 60; +int_I_pres_respiration = 9980; +debug_temp = debug_temp * 3; +for (main_i=0;main_i<debug_temp;main_i++) +{ + calc_hauptroutine_data_input(); + calc_hauptroutine_update_tissues(); +} +_asm +nop +_endasm +#line 709 "p2_deco_main - 090915b.c" + + +} + + + + + + + + + + + + + + + +#pragma romdata font_data_small = 0x0A0C4 +rom const rom unsigned int wp_small_data[] = +{ +#line 1 "./ostc28.drx.txt" +0xF803 +,0x8A01 +,0x850C +,0x8202 +,0x850A +,0x8302 +,0xFF94 +,0xCD00 +,0x9105 +,0x9103 +,0xC701 +,0x9105 +,0x9103 +,0xDA9D +,0x0183 +,0x018F +,0x0183 +,0x018F +,0x0183 +,0x0688 +,0x0D87 +,0x0781 +,0x018F +,0x0183 +,0x018F +,0x0183 +,0x018F +,0x0182 +,0x0786 +,0x0D89 +,0x0583 +,0x018F +,0x0183 +,0x018F +,0x0183 +,0x00A2 +,0xB402 +,0x8601 +,0x8A04 +,0x8601 +,0x8801 +,0x8102 +,0x8501 +,0x8800 +,0x8301 +,0x8600 +,0x8702 +,0x8202 +,0x8501 +,0x8512 +,0x8501 +,0x8402 +,0x8401 +,0x8700 +,0x8501 +,0x8301 +,0x8801 +,0x8402 +,0x8201 +,0x8901 +,0x8405 +,0x9203 +,0x9F9A +,0x0392 +,0x0588 +,0x0185 +,0x0183 +,0x0185 +,0x0286 +,0x0183 +,0x0084 +,0x0289 +,0x0582 +,0x038B +,0x0382 +,0x0292 +,0x0282 +,0x028C +,0x0283 +,0x0489 +,0x0284 +,0x0182 +,0x0186 +,0x0385 +,0x0183 +,0x0086 +,0x0187 +,0x0182 +,0x0191 +,0x049D +,0xA403 +,0x9106 +,0x8804 +,0x8102 +,0x8202 +,0x8608 +,0x8501 +,0x8600 +,0x8402 +,0x8501 +,0x8600 +,0x8403 +,0x8401 +,0x8601 +,0x8205 +,0x8301 +,0x8606 +,0x8202 +,0x8001 +,0x8803 +,0x8503 +,0x9402 +,0x9206 +,0x9001 +,0x8200 +,0x9DFF +,0x9401 +,0x9006 +,0x9102 +,0xFF8B +,0xE707 +,0x8C0C +,0x8903 +,0x8703 +,0x8602 +,0x8B02 +,0x8401 +,0x8E02 +,0x8201 +,0x9101 +,0x8101 +,0x9102 +,0x8000 +,0x9300 +,0xB0B0 +,0x0093 +,0x0081 +,0x0191 +,0x0181 +,0x028F +,0x0282 +,0x028D +,0x0284 +,0x028B +,0x0286 +,0x0387 +,0x0389 +,0x0B8D +,0x07E7 +,0x9F00 +,0x9601 +,0x9501 +,0x8202 +,0x9000 +,0x8102 +,0x9104 +,0x8D07 +,0x8F07 +,0x9404 +,0x9200 +,0x8102 +,0x9001 +,0x8301 +,0x8F01 +,0x9500 +,0xA6A0 +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x0191 +,0x0A8B +,0x0B90 +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x01A4 +,0xFF88 +,0x0182 +,0x018F +,0x0690 +,0x0494 +,0x00FC +,0xB801 +,0x9501 +,0x9501 +,0x9501 +,0x9501 +,0x9501 +,0x9501 +,0x9501 +,0x9501 +,0x9501 +,0xBCFF +,0x8701 +,0x9502 +,0x9402 +,0xFF94 +,0xC101 +,0x9303 +,0x9004 +,0x9004 +,0x9004 +,0x9003 +,0x9103 +,0x9103 +,0x9103 +,0x9301 +,0xC4A0 +,0x0290 +,0x0A8B +,0x0285 +,0x0389 +,0x0186 +,0x0587 +,0x0186 +,0x0183 +,0x0186 +,0x0086 +,0x0184 +,0x0186 +,0x0084 +,0x0285 +,0x0186 +,0x0182 +,0x0286 +,0x0186 +,0x0280 +,0x0187 +,0x0188 +,0x0484 +,0x038B +,0x0A90 +,0x02A3 +,0xCA01 +,0x9501 +,0x9401 +,0x9510 +,0x8610 +,0xFF94 +,0xB300 +,0x8B01 +,0x8701 +,0x8903 +,0x8601 +,0x8904 +,0x8601 +,0x8802 +,0x8001 +,0x8600 +,0x8801 +,0x8201 +,0x8600 +,0x8701 +,0x8301 +,0x8601 +,0x8501 +,0x8401 +,0x8602 +,0x8301 +,0x8501 +,0x8706 +,0x8601 +,0x8804 +,0x8701 +,0xB4BF +,0x0188 +,0x008B +,0x0187 +,0x018C +,0x0186 +,0x0085 +,0x0185 +,0x0186 +,0x0085 +,0x0185 +,0x0186 +,0x0085 +,0x0185 +,0x0186 +,0x0183 +,0x0285 +,0x0186 +,0x0281 +,0x0180 +,0x0183 +,0x0188 +,0x0482 +,0x0592 +,0x03B7 +,0xA400 +,0x9402 +,0x9204 +,0x9102 +,0x8001 +,0x8F02 +,0x8201 +,0x8E02 +,0x8301 +,0x8C02 +,0x8501 +,0x8B10 +,0x8610 +,0x9002 +,0x9401 +,0x9600 +,0xA1B7 +,0x0185 +,0x0088 +,0x0883 +,0x0287 +,0x0282 +,0x0185 +,0x0187 +,0x0084 +,0x0087 +,0x0186 +,0x0084 +,0x0087 +,0x0186 +,0x0084 +,0x0087 +,0x0186 +,0x0084 +,0x0186 +,0x0186 +,0x0084 +,0x0185 +,0x0187 +,0x0085 +,0x0887 +,0x0086 +,0x06B6 +,0xB508 +,0x8C0C +,0x8902 +,0x8201 +,0x8302 +,0x8701 +,0x8301 +,0x8601 +,0x8601 +,0x8301 +,0x8601 +,0x8600 +,0x8400 +,0x8701 +,0x8600 +,0x8401 +,0x8601 +,0x8601 +,0x8302 +,0x8401 +,0x8701 +,0x8408 +,0x8F05 +,0xB7B1 +,0x0096 +,0x0096 +,0x008D +,0x0186 +,0x008A +,0x0486 +,0x0087 +,0x0588 +,0x0085 +,0x048B +,0x0082 +,0x058D +,0x0690 +,0x0393 +,0x01C3 +,0xBB04 +,0x8904 +,0x8206 +,0x8702 +,0x8002 +,0x8001 +,0x8301 +,0x8701 +,0x8302 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8601 +,0x8302 +,0x8501 +,0x8602 +,0x8101 +,0x8001 +,0x8301 +,0x8805 +,0x8106 +,0x8902 +,0x8404 +,0xB6B3 +,0x0586 +,0x0088 +,0x0784 +,0x0187 +,0x0284 +,0x0184 +,0x0186 +,0x0186 +,0x0084 +,0x0186 +,0x0087 +,0x0183 +,0x0186 +,0x0087 +,0x0084 +,0x0186 +,0x0185 +,0x0183 +,0x0187 +,0x0284 +,0x0182 +,0x0288 +,0x0D8B +,0x09B8 +,0xFE01 +,0x8601 +,0x8C02 +,0x8502 +,0x8B02 +,0x8502 +,0xFF94 +,0xFF01 +,0x8601 +,0x8201 +,0x8602 +,0x8506 +,0x8702 +,0x8504 +,0x9400 +,0xFCA0 +,0x0195 +,0x0293 +,0x0393 +,0x0081 +,0x0191 +,0x0181 +,0x0190 +,0x0183 +,0x018F +,0x0184 +,0x018D +,0x0185 +,0x018D +,0x0186 +,0x018B +,0x0187 +,0x018B +,0x0188 +,0x0189 +,0x0189 +,0x019E +,0x9E00 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0x9000 +,0x8400 +,0xA19A +,0x0189 +,0x018A +,0x0188 +,0x018A +,0x0187 +,0x018C +,0x0186 +,0x018C +,0x0185 +,0x018E +,0x0184 +,0x018E +,0x0183 +,0x0190 +,0x0181 +,0x0192 +,0x0081 +,0x0192 +,0x0394 +,0x0294 +,0x01A4 +,0xB101 +,0x9501 +,0x9401 +,0x9501 +,0x9401 +,0x8801 +,0x8202 +,0x8401 +,0x8604 +,0x8102 +,0x8501 +,0x8402 +,0x8401 +,0x8602 +,0x8202 +,0x8F06 +,0x9104 +,0xBF9D +,0x078D +,0x0481 +,0x048A +,0x0287 +,0x0288 +,0x018B +,0x0187 +,0x0184 +,0x0383 +,0x0087 +,0x0084 +,0x0582 +,0x0186 +,0x0083 +,0x0182 +,0x0182 +,0x0186 +,0x0083 +,0x0084 +,0x0082 +,0x0186 +,0x0182 +,0x0084 +,0x0082 +,0x0186 +,0x0281 +,0x0083 +,0x0182 +,0x0187 +,0x0A82 +,0x008A +,0x08A1 +,0xA702 +,0x9104 +,0x8F04 +,0x8F06 +,0x8D04 +,0x8201 +,0x8B03 +,0x8501 +,0x8C04 +,0x8301 +,0x8F04 +,0x8001 +,0x9105 +,0x9404 +,0x9504 +,0x9402 +,0x9C99 +,0x1086 +,0x1086 +,0x0085 +,0x0185 +,0x0186 +,0x0085 +,0x0086 +,0x0186 +,0x0085 +,0x0086 +,0x0186 +,0x0085 +,0x0086 +,0x0186 +,0x0085 +,0x0185 +,0x0186 +,0x0183 +,0x0285 +,0x0186 +,0x0183 +,0x0284 +,0x0287 +,0x0580 +,0x0281 +,0x0289 +,0x0382 +,0x0593 +,0x029F +,0x9E06 +,0x8E0A +,0x8A03 +,0x8503 +,0x8901 +,0x8902 +,0x8701 +,0x8B02 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0x8601 +,0x8C01 +,0x8601 +,0x8B01 +,0x8802 +,0x8802 +,0x8900 +,0x8A00 +,0x9E99 +,0x1086 +,0x1086 +,0x008D +,0x0186 +,0x008D +,0x0186 +,0x008D +,0x0186 +,0x008D +,0x0186 +,0x018C +,0x0186 +,0x018C +,0x0186 +,0x028A +,0x0188 +,0x0386 +,0x028B +,0x0A8E +,0x05A2 +,0xB110 +,0x8610 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8D01 +,0xB4B1 +,0x1086 +,0x1086 +,0x0085 +,0x018E +,0x0085 +,0x008F +,0x0085 +,0x008F +,0x0085 +,0x008F +,0x0085 +,0x008F +,0x0085 +,0x008F +,0x0085 +,0x008F +,0x00C4 +,0x9E06 +,0x8D0B +,0x8A02 +,0x8702 +,0x8802 +,0x8A01 +,0x8701 +,0x8C01 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0x8600 +,0x8700 +,0x8401 +,0x8601 +,0x8600 +,0x8401 +,0x8601 +,0x8600 +,0x8400 +,0x8802 +,0x8406 +,0x8900 +,0x8505 +,0x9EB1 +,0x1086 +,0x108D +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x018E +,0x1086 +,0x10B4 +,0xB100 +,0x8E00 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0x8610 +,0x8610 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0xCCBF +,0x0196 +,0x0195 +,0x0186 +,0x008D +,0x0186 +,0x008D +,0x0186 +,0x008C +,0x0187 +,0x0F87 +,0x0D89 +,0x0096 +,0x0096 +,0x00AC +,0x9910 +,0x8610 +,0x8D02 +,0x9302 +,0x9304 +,0x9102 +,0x8002 +,0x8F02 +,0x8202 +,0x8D01 +,0x8503 +,0x8A01 +,0x8802 +,0x8801 +,0x8A03 +,0x8600 +,0x8D01 +,0x9600 +,0x9CB1 +,0x1086 +,0x1095 +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x0195 +,0x01B4 +,0x9910 +,0x8610 +,0x8703 +,0x9503 +,0x9503 +,0x9503 +,0x9302 +,0x9202 +,0x9203 +,0x9103 +,0x9210 +,0x8610 +,0x9C99 +,0x1086 +,0x1086 +,0x0395 +,0x0295 +,0x0395 +,0x0395 +,0x0395 +,0x0395 +,0x0295 +,0x0387 +,0x1086 +,0x109C +,0x9D08 +,0x8C0C +,0x8902 +,0x8703 +,0x8701 +,0x8B01 +,0x8701 +,0x8C01 +,0x8600 +,0x8D01 +,0x8600 +,0x8D01 +,0x8601 +,0x8C01 +,0x8601 +,0x8B01 +,0x8802 +,0x8802 +,0x890C +,0x8C08 +,0xA0B1 +,0x1086 +,0x1086 +,0x0086 +,0x008E +,0x0086 +,0x008E +,0x0086 +,0x008E +,0x0086 +,0x008E +,0x0184 +,0x018E +,0x0184 +,0x018E +,0x0282 +,0x028F +,0x0692 +,0x02A7 +,0x9D08 +,0x8C0C +,0x8902 +,0x8802 +,0x8701 +,0x8B02 +,0x8601 +,0x8C01 +,0x8600 +,0x8E02 +,0x8400 +,0x8E04 +,0x8201 +,0x8C01 +,0x8101 +,0x8201 +,0x8C01 +,0x8101 +,0x8302 +,0x8802 +,0x8201 +,0x840C +,0x8301 +,0x8608 +,0xA0B1 +,0x1086 +,0x1086 +,0x0086 +,0x008E +,0x0086 +,0x008E +,0x0086 +,0x008E +,0x0086 +,0x018D +,0x0184 +,0x048B +,0x0184 +,0x0180 +,0x0389 +,0x0783 +,0x0388 +,0x0586 +,0x028A +,0x008A +,0x009C +,0xB303 +,0x8602 +,0x8805 +,0x8601 +,0x8701 +,0x8202 +,0x8601 +,0x8601 +,0x8301 +,0x8601 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8600 +,0x8501 +,0x8501 +,0x8601 +,0x8501 +,0x8302 +,0x8602 +,0x8402 +,0x8102 +,0x8801 +,0x8505 +,0x9301 +,0xA099 +,0x0096 +,0x0096 +,0x0096 +,0x0096 +,0x0096 +,0x1086 +,0x1086 +,0x0096 +,0x0096 +,0x0096 +,0x0096 +,0x00AC +,0x990C +,0x8A0E +,0x9502 +,0x9501 +,0x9601 +,0x9501 +,0x9501 +,0x9501 +,0x9401 +,0x9402 +,0x870E +,0x880C +,0xA099 +,0x0195 +,0x0494 +,0x0594 +,0x0594 +,0x0594 +,0x0592 +,0x048F +,0x048F +,0x048F +,0x048F +,0x0492 +,0x01AB +,0x9905 +,0x920A +,0x9209 +,0x9004 +,0x8E05 +,0x8E04 +,0x9005 +,0x9406 +,0x9406 +,0x9206 +,0x8909 +,0x8A06 +,0xA6A9 +,0x0086 +,0x018B +,0x0286 +,0x0388 +,0x0388 +,0x0384 +,0x038B +,0x0381 +,0x038F +,0x0591 +,0x058F +,0x0381 +,0x038C +,0x0285 +,0x0388 +,0x0387 +,0x0387 +,0x018B +,0x0296 +,0x009C +,0x9900 +,0x9602 +,0x9503 +,0x9503 +,0x9503 +,0x940A +,0x8D09 +,0x8B04 +,0x9004 +,0x9003 +,0x9202 +,0x9400 +,0xACA9 +,0x0086 +,0x008C +,0x0286 +,0x008A +,0x0486 +,0x0089 +,0x0280 +,0x0186 +,0x0087 +,0x0381 +,0x0186 +,0x0085 +,0x0383 +,0x0186 +,0x0084 +,0x0285 +,0x0186 +,0x0082 +,0x0386 +,0x0186 +,0x0080 +,0x0388 +,0x0186 +,0x038A +,0x0186 +,0x028B +,0x0195 +,0x019C +,0xDF15 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8200 +,0x9100 +,0xB2B0 +,0x0195 +,0x0395 +,0x0395 +,0x0395 +,0x0395 +,0x0494 +,0x0495 +,0x0395 +,0x0395 +,0x01B3 +,0xB000 +,0x9100 +,0x8201 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8101 +,0x9101 +,0x8115 +,0xE1CE +,0x0194 +,0x0292 +,0x0292 +,0x0294 +,0x0296 +,0x0295 +,0x0395 +,0x01D6 +,0xAB00 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9AE0 +,0x0195 +,0x0395 +,0x0295 +,0x0295 +,0x00FF +,0x89A6 +,0x0193 +,0x048C +,0x0183 +,0x0180 +,0x028B +,0x0083 +,0x0182 +,0x018A +,0x0183 +,0x0084 +,0x008A +,0x0183 +,0x0084 +,0x008A +,0x0183 +,0x0084 +,0x008A +,0x0183 +,0x0083 +,0x008C +,0x0182 +,0x0082 +,0x018C +,0x0B8C +,0x0AB4 +,0xAF12 +,0x8411 +,0x8C01 +,0x8601 +,0x8C00 +,0x8801 +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x8B01 +,0x8602 +,0x8B03 +,0x8302 +,0x8D08 +,0x9004 +,0xA0B8 +,0x068F +,0x088D +,0x0284 +,0x028C +,0x0186 +,0x028A +,0x0188 +,0x018A +,0x0188 +,0x018A +,0x0188 +,0x018A +,0x0188 +,0x018B +,0x0186 +,0x018C +,0x0285 +,0x018D +,0x00A6 +,0xA104 +,0x9008 +,0x8D02 +,0x8402 +,0x8C01 +,0x8602 +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x8B00 +,0x8800 +,0x8C01 +,0x8601 +,0x8611 +,0x8412 +,0xB4A2 +,0x0292 +,0x078E +,0x0480 +,0x038C +,0x0181 +,0x0182 +,0x018B +,0x0182 +,0x0183 +,0x018A +,0x0182 +,0x0183 +,0x018A +,0x0182 +,0x0183 +,0x018A +,0x0182 +,0x0183 +,0x018B +,0x0181 +,0x0183 +,0x018B +,0x0582 +,0x018D +,0x0483 +,0x00B5 +,0xB601 +,0x9501 +,0x9501 +,0x9010 +,0x8503 +,0x8101 +,0x8F01 +,0x8301 +,0x8F00 +,0x8401 +,0x8E01 +,0x8401 +,0x8E01 +,0x8400 +,0x9001 +,0x9502 +,0xABAA +,0x0289 +,0x0481 +,0x0180 +,0x0487 +,0x0B81 +,0x0186 +,0x0183 +,0x0181 +,0x0183 +,0x0086 +,0x0085 +,0x0082 +,0x0083 +,0x0185 +,0x0085 +,0x0082 +,0x0083 +,0x0185 +,0x0085 +,0x0082 +,0x0083 +,0x0185 +,0x0183 +,0x0182 +,0x0083 +,0x0186 +,0x0583 +,0x0083 +,0x0086 +,0x0584 +,0x0181 +,0x0186 +,0x0089 +,0x0487 +,0x008B +,0x019A +,0xAF12 +,0x8412 +,0x8C01 +,0x9401 +,0x9500 +,0x9501 +,0x9501 +,0x9502 +,0x950B +,0x8C0A +,0xB4CD +,0x0188 +,0x018A +,0x0188 +,0x018A +,0x0188 +,0x0185 +,0x0182 +,0x0C85 +,0x0182 +,0x0C95 +,0x0195 +,0x0195 +,0x01CC +,0xC401 +,0x9601 +,0x8501 +,0x8D01 +,0x8501 +,0x8D01 +,0x8501 +,0x8D01 +,0x8501 +,0x8C01 +,0x8101 +,0x8210 +,0x8102 +,0x810F +,0x8201 +,0xDCAF +,0x1284 +,0x128F +,0x0294 +,0x0194 +,0x0392 +,0x0180 +,0x0290 +,0x0182 +,0x028E +,0x0184 +,0x028C +,0x0186 +,0x038A +,0x0089 +,0x0196 +,0x009C +,0xB000 +,0x8E01 +,0x8401 +,0x8E01 +,0x8401 +,0x8E01 +,0x8401 +,0x8E01 +,0x8412 +,0x8412 +,0x9501 +,0x9501 +,0x9501 +,0x9600 +,0xB49D +,0x0C8A +,0x0C8B +,0x0095 +,0x0195 +,0x0195 +,0x0C8B +,0x0B8B +,0x0194 +,0x0195 +,0x0195 +,0x0C8B +,0x0B9C +,0xB50C +,0x8A0C +,0x8C01 +,0x9401 +,0x9500 +,0x9501 +,0x9501 +,0x9502 +,0x950B +,0x8C0A +,0xB4A1 +,0x0491 +,0x078E +,0x0282 +,0x038C +,0x0186 +,0x018B +,0x0188 +,0x018A +,0x0188 +,0x018A +,0x0188 +,0x018A +,0x0188 +,0x018B +,0x0186 +,0x018C +,0x0383 +,0x028D +,0x0890 +,0x04A0 +,0xB511 +,0x8510 +,0x8701 +,0x8601 +,0x8C00 +,0x8800 +,0x8B01 +,0x8801 +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x8B01 +,0x8602 +,0x8B02 +,0x8402 +,0x8D08 +,0x9004 +,0xA0A1 +,0x0490 +,0x088D +,0x0283 +,0x038C +,0x0087 +,0x028A +,0x0188 +,0x018A +,0x0188 +,0x018A +,0x0188 +,0x018B +,0x0088 +,0x008C +,0x0186 +,0x018C +,0x0F86 +,0x11AF +,0xCD0C +,0x8A0C +,0x8C01 +,0x9401 +,0x9500 +,0x9501 +,0x9501 +,0x9501 +,0x9601 +,0x9500 +,0xA7B8 +,0x0085 +,0x018C +,0x0483 +,0x018C +,0x0484 +,0x018A +,0x0182 +,0x0183 +,0x018A +,0x0182 +,0x0183 +,0x018A +,0x0182 +,0x0183 +,0x018A +,0x0183 +,0x0182 +,0x018B +,0x0083 +,0x0182 +,0x018B +,0x0182 +,0x058D +,0x0083 +,0x03B6 +,0xB501 +,0x9501 +,0x9501 +,0x920E +,0x880F +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x8A01 +,0x8801 +,0x9401 +,0xB5B5 +,0x0A8C +,0x0B95 +,0x0295 +,0x0196 +,0x0096 +,0x0095 +,0x0095 +,0x018B +,0x0C8A +,0x0CB4 +,0x9D00 +,0x9603 +,0x9404 +,0x9504 +,0x9404 +,0x9404 +,0x9303 +,0x9103 +,0x9103 +,0x9004 +,0x9003 +,0x9300 +,0xA89D +,0x0593 +,0x0893 +,0x0593 +,0x038F +,0x048F +,0x0492 +,0x0395 +,0x0594 +,0x0593 +,0x038C +,0x098B +,0x06A2 +,0xB501 +,0x8801 +,0x8A02 +,0x8602 +,0x8C02 +,0x8203 +,0x8E02 +,0x8002 +,0x9104 +,0x9204 +,0x9102 +,0x8002 +,0x8E02 +,0x8303 +,0x8B02 +,0x8602 +,0x8A00 +,0x8901 +,0xB4AC +,0x0186 +,0x028C +,0x0185 +,0x0589 +,0x0188 +,0x0487 +,0x018A +,0x0484 +,0x018E +,0x0791 +,0x048F +,0x0490 +,0x048F +,0x0490 +,0x0393 +,0x01A7 +,0xA900 +,0x8A01 +,0x8702 +,0x8A01 +,0x8603 +,0x8A01 +,0x8504 +,0x8A01 +,0x8402 +,0x8001 +,0x8A01 +,0x8202 +,0x8201 +,0x8A01 +,0x8102 +,0x8301 +,0x8A01 +,0x8002 +,0x8401 +,0x8A04 +,0x8501 +,0x8A02 +,0x8701 +,0x8A01 +,0x8801 +,0x9501 +,0x9CA2 +,0x0096 +,0x0195 +,0x0193 +,0x0581 +,0x0286 +,0x0781 +,0x0883 +,0x068A +,0x0281 +,0x0191 +,0x0181 +,0x0192 +,0x0081 +,0x0192 +,0x0081 +,0x0192 +,0x00C8 +,0xFF90 +,0x1581 +,0x15FF +,0x90C8 +,0x0192 +,0x0081 +,0x0192 +,0x0081 +,0x0192 +,0x0081 +,0x0191 +,0x0182 +,0x0685 +,0x0181 +,0x0383 +,0x0781 +,0x088A +,0x0581 +,0x018F +,0x0195 +,0x01BA +,0x9F00 +,0x9501 +,0x9501 +,0x9401 +,0x9501 +,0x9601 +,0x9502 +,0x9501 +,0x9501 +,0x9501 +,0x9401 +,0x9501 +,0xA6F8 +,0x0189 +,0x0485 +,0x0381 +,0x0C85 +,0x0283 +,0x0AFF +,0x94A1 +,0x0291 +,0x078E +,0x0382 +,0x038C +,0x0186 +,0x018B +,0x0188 +,0x018A +,0x0086 +,0x0786 +,0x0E86 +,0x0884 +,0x0187 +,0x0081 +,0x0188 +,0x018A +,0x0187 +,0x028B +,0x0186 +,0x01B6 +,0xA900 +,0x8C01 +,0x8601 +,0x8904 +,0x8502 +,0x870E +,0x8702 +,0x8206 +,0x8001 +,0x8701 +,0x8301 +,0x8600 +,0x8700 +,0x8401 +,0x8601 +,0x8600 +,0x8D01 +,0x8601 +,0x8D00 +,0x8601 +,0x8D00 +,0x9501 +,0x9501 +,0x9CB4 +,0x0086 +,0x008E +,0x088F +,0x0182 +,0x018F +,0x0184 +,0x008F +,0x0184 +,0x018E +,0x0184 +,0x018E +,0x0184 +,0x0090 +,0x0182 +,0x018F +,0x088E +,0x0086 +,0x00B9 +,0xB101 +,0x8700 +,0x8100 +,0x8903 +,0x8401 +,0x8100 +,0x8B03 +,0x8201 +,0x8100 +,0x8D02 +,0x8101 +,0x8100 +,0x8F0A +,0x8C0A +,0x8A03 +,0x8001 +,0x8100 +,0x8B03 +,0x8201 +,0x8100 +,0x8903 +,0x8401 +,0x8100 +,0x8901 +,0x8601 +,0x8100 +,0x8900 +,0xACFF +,0x9009 +,0x8208 +,0x8109 +,0x8208 +,0xFF90 +,0xB802 +,0x8500 +,0x8604 +,0x8004 +,0x8302 +,0x8407 +,0x8101 +,0x8401 +,0x8401 +,0x8201 +,0x8301 +,0x8401 +,0x8201 +,0x8301 +,0x8301 +,0x8401 +,0x8201 +,0x8401 +,0x8201 +,0x8401 +,0x8300 +,0x8401 +,0x8301 +,0x8201 +,0x8401 +,0x8402 +,0x8007 +,0x8501 +,0x8304 +,0x8004 +,0x8E01 +,0xBBC8 +,0x0194 +,0x0295 +,0x01C5 +,0x0194 +,0x0295 +,0x01DC +,0x8902 +,0x9107 +,0x8E01 +,0x8502 +,0x8B01 +,0x8202 +,0x8200 +,0x8B00 +,0x8105 +,0x8200 +,0x8901 +,0x8100 +,0x8301 +,0x8100 +,0x8900 +,0x8101 +,0x8401 +,0x8000 +,0x8900 +,0x8101 +,0x8401 +,0x8000 +,0x8901 +,0x8001 +,0x8400 +,0x8100 +,0x8A00 +,0x8101 +,0x8201 +,0x8100 +,0x8A01 +,0x8100 +,0x8501 +,0x8B01 +,0x8601 +,0x8D02 +,0x8202 +,0x9004 +,0x89BC +,0x018F +,0x0381 +,0x018A +,0x0181 +,0x0481 +,0x018A +,0x0082 +,0x0181 +,0x0180 +,0x018A +,0x0082 +,0x0082 +,0x0180 +,0x018A +,0x0082 +,0x0082 +,0x0180 +,0x018A +,0x0181 +,0x0081 +,0x0181 +,0x018A +,0x0881 +,0x018B +,0x0781 +,0x0195 +,0x01B8 +,0xBA01 +,0x9403 +,0x9202 +,0x8001 +,0x9002 +,0x8201 +,0x8F01 +,0x8401 +,0x9101 +,0x9403 +,0x9202 +,0x8001 +,0x9002 +,0x8201 +,0x8F01 +,0x8401 +,0xB6D0 +,0x0195 +,0x0190 +,0x0C8B +,0x0A8D +,0x088F +,0x0691 +,0x0493 +,0x0295 +,0x00BC +,0xFFFF +,0xCF89 +,0x0291 +,0x078E +,0x0185 +,0x028B +,0x0188 +,0x008B +,0x0080 +,0x0781 +,0x0089 +,0x0180 +,0x0781 +,0x0089 +,0x0081 +,0x0082 +,0x0084 +,0x0089 +,0x0081 +,0x0082 +,0x0084 +,0x0089 +,0x0180 +,0x0180 +,0x0382 +,0x008A +,0x0081 +,0x0281 +,0x0181 +,0x008A +,0x0188 +,0x018B +,0x0186 +,0x018D +,0x0282 +,0x0290 +,0x0489 +,0xC900 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0x9600 +,0xDCCB +,0x0193 +,0x0591 +,0x0181 +,0x0190 +,0x0183 +,0x018F +,0x0183 +,0x018F +,0x0183 +,0x0091 +,0x0592 +,0x03D8 +,0x9F00 +,0x8700 +,0x8D00 +,0x8701 +,0x8C00 +,0x8701 +,0x8C00 +,0x8701 +,0x8C00 +,0x8701 +,0x870B +,0x8101 +,0x870B +,0x8101 +,0x8C00 +,0x8701 +,0x8C00 +,0x8701 +,0x8C00 +,0x8701 +,0x8C00 +,0x8701 +,0x8C00 +,0x8700 +,0x9DCA +,0x0086 +,0x008D +,0x0184 +,0x028C +,0x0184 +,0x038C +,0x0184 +,0x0080 +,0x018C +,0x0183 +,0x0180 +,0x018C +,0x0182 +,0x0181 +,0x018D +,0x0482 +,0x018E +,0x0283 +,0x01D3 +,0xD100 +,0x8E01 +,0x8401 +,0x8D01 +,0x8601 +,0x8C01 +,0x8200 +,0x8201 +,0x8C01 +,0x8200 +,0x8201 +,0x8C01 +,0x8101 +,0x8201 +,0x8D05 +,0x8001 +,0x8F01 +,0x8103 +,0xD4FF +,0x9101 +,0x9303 +,0x9301 +,0x9500 +,0xF69D +,0x1185 +,0x0B95 +,0x0196 +,0x0195 +,0x0195 +,0x0195 +,0x0094 +,0x028B +,0x0B95 +,0x0295 +,0x0195 +,0x0195 +,0x0085 +,0xFFFF +,0xCF00 + +#line 2487 "./ostc28.drx.txt" + #line 730 "p2_deco_main - 090915b.c" + +}; + +#pragma romdata font_table_small = 0x0B548 +rom const rom unsigned int wp_small_table[] = +{ +#line 1 "./ostc28.tbl.txt" +0x0000 +,0x000E +,0x001B +,0x0048 +,0x007D +,0x00B4 +,0x00E7 +,0x00F0 +,0x010D +,0x012A +,0x014B +,0x0164 +,0x0170 +,0x0185 +,0x018E +,0x01A3 +,0x01D6 +,0x01E2 +,0x0215 +,0x0246 +,0x0267 +,0x029C +,0x02CB +,0x02EA +,0x0321 +,0x0352 +,0x0360 +,0x0371 +,0x039C +,0x03CD +,0x03F8 +,0x041B +,0x045C +,0x047D +,0x04B8 +,0x04E5 +,0x050E +,0x0541 +,0x0564 +,0x0597 +,0x05AC +,0x05CD +,0x05EA +,0x060F +,0x0624 +,0x063D +,0x0656 +,0x067F +,0x06A4 +,0x06D5 +,0x0700 +,0x0739 +,0x0752 +,0x076B +,0x0784 +,0x079D +,0x07C6 +,0x07DF +,0x0818 +,0x0837 +,0x084C +,0x086B +,0x087C +,0x0895 +,0x08A1 +,0x08D4 +,0x08F9 +,0x0920 +,0x0945 +,0x097A +,0x099B +,0x09E4 +,0x09F9 +,0x0A14 +,0x0A33 +,0x0A54 +,0x0A71 +,0x0A8A +,0x0A9F +,0x0AC8 +,0x0AED +,0x0B12 +,0x0B27 +,0x0B5A +,0x0B77 +,0x0B8C +,0x0BA5 +,0x0BBE +,0x0BE3 +,0x0C04 +,0x0C39 +,0x0C5C +,0x0C63 +,0x0C86 +,0x0C9F +,0x0CAD +,0x0CD6 +,0x0D05 +,0x0D2A +,0x0D61 +,0x0D6C +,0x0DAB +,0x0DB8 +,0x0E05 +,0x0E3C +,0x0E5D +,0x0E70 +,0x0E73 +,0x0EBA +,0x0ECB +,0x0EE4 +,0x0F15 +,0x0F3C +,0x0F61 +,0x0F6B +,0x0F86 +,0x0F89 + + +#line 205 "./ostc28.tbl.txt" + #line 736 "p2_deco_main - 090915b.c" + +}; + +#pragma romdata font_table_medium = 0x0B632 +rom const rom unsigned int wp_medium_table[] = +{ +#line 1 "./ostc48.tbl.txt" +0x0000 +,0x000F +,0x0016 +,0x006B +,0x0083 +,0x00DC +,0x012D +,0x0166 +,0x01C1 +,0x0216 +,0x024C +,0x02AB +,0x0302 +,0x031B +,0x032A +,0x0344 +,0x036F +,0x0375 +#line 742 "p2_deco_main - 090915b.c" + +}; + +#pragma romdata font_data_medium = 0x0B656 +rom const rom unsigned int wp_medium_data[] = +{ +#line 1 "./ostc48.drx.txt" +0x9F9F +,0xBA03 +,0x9A04 +,0x9A05 +,0x9904 +,0x9B03 +,0x9F9F +,0xC09F +,0x9FBF +,0x7F9F +,0x9FBF +,0xCD03 +,0x960E +,0x8E12 +,0x8A16 +,0x8704 +,0x8B07 +,0x8503 +,0x8C03 +,0x8004 +,0x8303 +,0x8B04 +,0x8204 +,0x8202 +,0x8B04 +,0x8403 +,0x8102 +,0x8B03 +,0x8702 +,0x8102 +,0x8A03 +,0x8802 +,0x8102 +,0x8804 +,0x8903 +,0x8002 +,0x8703 +,0x8B02 +,0x8103 +,0x8503 +,0x8C02 +,0x8203 +,0x8204 +,0x8C03 +,0x8303 +,0x8004 +,0x8C03 +,0x8506 +,0x8C04 +,0x8716 +,0x8913 +,0x8E0E +,0x9503 +,0xCDFF +,0x8400 +,0x9E01 +,0x9C02 +,0x9B02 +,0x9C02 +,0x9B03 +,0x9B02 +,0x9B1D +,0x811D +,0x811D +,0xFFFF +,0xC0FC +,0x0185 +,0x0094 +,0x0384 +,0x0291 +,0x0583 +,0x0390 +,0x0682 +,0x0390 +,0x0782 +,0x0290 +,0x0381 +,0x0281 +,0x028F +,0x0482 +,0x0281 +,0x028E +,0x0483 +,0x0281 +,0x028D +,0x0484 +,0x0281 +,0x028D +,0x0385 +,0x0281 +,0x028C +,0x0386 +,0x0281 +,0x038A +,0x0387 +,0x0282 +,0x0288 +,0x0488 +,0x0282 +,0x0386 +,0x0489 +,0x0283 +,0x0D8A +,0x0284 +,0x0A8C +,0x0285 +,0x088D +,0x0287 +,0x0390 +,0x02E0 +,0xFF9A +,0x0185 +,0x0292 +,0x0483 +,0x0393 +,0x0482 +,0x0295 +,0x0382 +,0x0296 +,0x0281 +,0x0289 +,0x028A +,0x0281 +,0x0289 +,0x028A +,0x0281 +,0x0289 +,0x028A +,0x0281 +,0x0289 +,0x028A +,0x0281 +,0x0288 +,0x038A +,0x0282 +,0x0287 +,0x0489 +,0x0282 +,0x0385 +,0x0687 +,0x0383 +,0x0A81 +,0x0384 +,0x0484 +,0x0A81 +,0x0C87 +,0x0684 +,0x0A8A +,0x0288 +,0x07FF +,0x84D3 +,0x029A +,0x0499 +,0x0597 +,0x0796 +,0x0381 +,0x0294 +,0x0482 +,0x0293 +,0x0384 +,0x0291 +,0x0485 +,0x0290 +,0x0387 +,0x028E +,0x0488 +,0x028D +,0x038A +,0x028B +,0x048B +,0x028A +,0x1C81 +,0x1D81 +,0x1D81 +,0x1D94 +,0x029C +,0x029C +,0x029C +,0x02C8 +,0xFA00 +,0x8D06 +,0x8802 +,0x830F +,0x8704 +,0x820F +,0x8803 +,0x8209 +,0x8102 +,0x8A03 +,0x8102 +,0x8702 +,0x8C02 +,0x8102 +,0x8702 +,0x8C02 +,0x8102 +,0x8701 +,0x8D02 +,0x8102 +,0x8701 +,0x8E02 +,0x8002 +,0x8701 +,0x8D03 +,0x8002 +,0x8702 +,0x8C02 +,0x8102 +,0x8702 +,0x8C02 +,0x8102 +,0x8703 +,0x8A03 +,0x8102 +,0x8803 +,0x8804 +,0x8102 +,0x8805 +,0x8405 +,0x8202 +,0x890E +,0x8302 +,0x8A0C +,0x9408 +,0xE5EC +,0x0891 +,0x118B +,0x1588 +,0x1785 +,0x0584 +,0x0286 +,0x0584 +,0x0385 +,0x0289 +,0x0383 +,0x0386 +,0x028A +,0x0381 +,0x0386 +,0x028C +,0x0281 +,0x0287 +,0x028C +,0x0281 +,0x0287 +,0x028D +,0x0280 +,0x0287 +,0x028C +,0x0281 +,0x0287 +,0x028C +,0x0281 +,0x0287 +,0x038B +,0x0281 +,0x0288 +,0x0389 +,0x0283 +,0x0287 +,0x0584 +,0x0583 +,0x0387 +,0x0E85 +,0x008A +,0x0C95 +,0x06E6 +,0xFF80 +,0x029C +,0x029C +,0x029C +,0x0297 +,0x0281 +,0x0294 +,0x0581 +,0x0291 +,0x0881 +,0x028F +,0x0982 +,0x028C +,0x0985 +,0x0289 +,0x0988 +,0x0287 +,0x088B +,0x0284 +,0x098D +,0x0282 +,0x0890 +,0x0B93 +,0x0995 +,0x0698 +,0x049A +,0x01FC +,0xF405 +,0x8A03 +,0x8808 +,0x8707 +,0x850A +,0x8509 +,0x8304 +,0x8105 +,0x830B +,0x8103 +,0x8504 +,0x8202 +,0x8506 +,0x8803 +,0x8102 +,0x8705 +,0x8902 +,0x8102 +,0x8803 +,0x8A02 +,0x8102 +,0x8803 +,0x8A02 +,0x8102 +,0x8902 +,0x8A02 +,0x8102 +,0x8803 +,0x8A02 +,0x8102 +,0x8804 +,0x8902 +,0x8103 +,0x8606 +,0x8802 +,0x8203 +,0x8303 +,0x8103 +,0x8602 +,0x830B +,0x8105 +,0x8204 +,0x8408 +,0x840B +,0x8705 +,0x8609 +,0x9705 +,0xE5E7 +,0x0498 +,0x098B +,0x0086 +,0x0C89 +,0x0284 +,0x0E88 +,0x0382 +,0x0388 +,0x0388 +,0x0282 +,0x028A +,0x0387 +,0x0281 +,0x028C +,0x0287 +,0x0281 +,0x028C +,0x0287 +,0x0380 +,0x028C +,0x0287 +,0x0281 +,0x028C +,0x0287 +,0x0281 +,0x028C +,0x0287 +,0x0281 +,0x038A +,0x0287 +,0x0382 +,0x0389 +,0x0286 +,0x0383 +,0x0487 +,0x0285 +,0x0485 +,0x0781 +,0x0381 +,0x0887 +,0x168A +,0x128F +,0x0CE9 +,0x9F9F +,0xAB03 +,0x8A03 +,0x8B04 +,0x8904 +,0x8B04 +,0x8905 +,0x8A04 +,0x8904 +,0x8C02 +,0x8B03 +,0x9F9F +,0xC09F +,0x9FC8 +,0x0194 +,0x0A94 +,0x0A94 +,0x0896 +,0x059F +,0x9FB9 +,0xFFA9 +,0x009B +,0x0394 +,0x0A94 +,0x0995 +,0x0698 +,0x03FF +,0x8302 +,0x940A +,0x940A +,0x9407 +,0x9704 +,0xFFBA +,0xC815 +,0x8915 +,0x8915 +,0x8B02 +,0x9B01 +,0x9C01 +,0x9D01 +,0x9D02 +,0x9C04 +,0x9A15 +,0x8A14 +,0x8B13 +,0x8A02 +,0x9B02 +,0x9C01 +,0x9D01 +,0x9D02 +,0x9C15 +,0x8915 +,0x8A14 +,0x8D11 +,0xA0FF +,0xFFFF +,0xFFFF +,0xFF00 +#line 748 "p2_deco_main - 090915b.c" + +}; + +#pragma romdata font_data_large = 0x0BA46 +rom const rom unsigned int wp_large_data[] = +{ +#line 1 "./ostc90.drx.txt" +0x9BAF +,0xAFAF +,0xAFAF +,0xAFD1 +,0x05B2 +,0x07B0 +,0x08B0 +,0x09AF +,0x09AF +,0x09AF +,0x09AF +,0x08B1 +,0x07B2 +,0x049B +,0x9F9F +,0x9F9F +,0x9FAE +,0xFFFF +,0xFFFF +,0xFFFF +,0xFFFF +,0xFFFF +,0xFFFF +,0xFFFF +,0xFFFF +,0xFFFF +,0x8FFF +,0xFF82 +,0x04AC +,0x14A1 +,0x1A9B +,0x2096 +,0x2492 +,0x288F +,0x0E8A +,0x108C +,0x0B94 +,0x0C8A +,0x0996 +,0x0F87 +,0x0896 +,0x1285 +,0x0797 +,0x0783 +,0x0785 +,0x0697 +,0x0785 +,0x0783 +,0x0696 +,0x0887 +,0x0782 +,0x0596 +,0x078A +,0x0681 +,0x0596 +,0x078C +,0x0581 +,0x0594 +,0x088E +,0x0580 +,0x0494 +,0x0790 +,0x0580 +,0x0493 +,0x0791 +,0x0580 +,0x0491 +,0x0892 +,0x0580 +,0x0490 +,0x0794 +,0x0580 +,0x058E +,0x0795 +,0x0580 +,0x058C +,0x0896 +,0x0580 +,0x068A +,0x0896 +,0x0582 +,0x0688 +,0x0797 +,0x0682 +,0x0785 +,0x0897 +,0x0684 +,0x0783 +,0x0897 +,0x0785 +,0x0880 +,0x0798 +,0x0787 +,0x0F97 +,0x0889 +,0x0D95 +,0x0A8B +,0x108C +,0x0E8E +,0x2891 +,0x2694 +,0x2299 +,0x1CA0 +,0x15AA +,0x0797 +,0xFFFF +,0xFFD7 +,0x01B7 +,0x03B4 +,0x04B4 +,0x03B4 +,0x04B4 +,0x04B3 +,0x04B3 +,0x05B3 +,0x05B2 +,0x06B2 +,0x05B2 +,0x06B2 +,0x3681 +,0x3781 +,0x3781 +,0x3781 +,0x3781 +,0x37FF +,0xFFFF +,0xFFFF +,0xFFAC +,0xFFFF +,0xFF90 +,0x0389 +,0x00A8 +,0x0587 +,0x03A5 +,0x0786 +,0x05A3 +,0x0885 +,0x07A0 +,0x0A84 +,0x089F +,0x0B84 +,0x069F +,0x0D83 +,0x069F +,0x0E82 +,0x069F +,0x0881 +,0x0482 +,0x059E +,0x0883 +,0x0482 +,0x049E +,0x0884 +,0x0481 +,0x059D +,0x0885 +,0x0481 +,0x059C +,0x0787 +,0x0481 +,0x049C +,0x0788 +,0x0481 +,0x049B +,0x0789 +,0x0481 +,0x049A +,0x078A +,0x0481 +,0x0499 +,0x078B +,0x0481 +,0x0498 +,0x078C +,0x0481 +,0x0596 +,0x078D +,0x0481 +,0x0595 +,0x078E +,0x0481 +,0x0594 +,0x078F +,0x0481 +,0x0692 +,0x0790 +,0x0482 +,0x0690 +,0x0791 +,0x0482 +,0x078E +,0x0792 +,0x0483 +,0x078B +,0x0893 +,0x0483 +,0x0986 +,0x0A94 +,0x0484 +,0x1995 +,0x0485 +,0x1796 +,0x0486 +,0x1498 +,0x0487 +,0x1299 +,0x0489 +,0x0E9B +,0x048C +,0x089D +,0x05B3 +,0x05BA +,0xFFFF +,0xFF8E +,0x00B7 +,0x028A +,0x01A8 +,0x0488 +,0x03A5 +,0x0786 +,0x05A3 +,0x0886 +,0x05A5 +,0x0784 +,0x05A7 +,0x0684 +,0x05A8 +,0x0682 +,0x05AA +,0x0582 +,0x05AA +,0x0581 +,0x0591 +,0x0495 +,0x0580 +,0x0591 +,0x0495 +,0x0580 +,0x0591 +,0x0495 +,0x0580 +,0x0492 +,0x0495 +,0x0580 +,0x0492 +,0x0495 +,0x0580 +,0x0492 +,0x0495 +,0x0580 +,0x0492 +,0x0594 +,0x0580 +,0x0590 +,0x0694 +,0x0580 +,0x0590 +,0x0694 +,0x0580 +,0x058F +,0x0892 +,0x0582 +,0x058E +,0x0892 +,0x0582 +,0x068C +,0x0A90 +,0x0682 +,0x078A +,0x0C8E +,0x0684 +,0x0787 +,0x0681 +,0x068C +,0x0785 +,0x1581 +,0x0789 +,0x0887 +,0x1383 +,0x1889 +,0x1185 +,0x168B +,0x0F87 +,0x148D +,0x0C8A +,0x1291 +,0x078E +,0x0EAC +,0x0AFF +,0xB8FF +,0xFF8B +,0x05B2 +,0x06B0 +,0x08AF +,0x09AD +,0x0BAC +,0x0CAA +,0x0EA9 +,0x0781 +,0x05A7 +,0x0882 +,0x05A6 +,0x0784 +,0x05A4 +,0x0786 +,0x05A3 +,0x0787 +,0x05A1 +,0x0789 +,0x059F +,0x088A +,0x059E +,0x078C +,0x059C +,0x088D +,0x059B +,0x078F +,0x0599 +,0x0890 +,0x0598 +,0x0792 +,0x0596 +,0x0794 +,0x0595 +,0x0795 +,0x0593 +,0x0797 +,0x0592 +,0x3581 +,0x3781 +,0x3781 +,0x3781 +,0x3781 +,0x3781 +,0x37A4 +,0x05B3 +,0x05B3 +,0x05B3 +,0x05B3 +,0x05B3 +,0x05B3 +,0x058F +,0xFFFF +,0xFF8C +,0x01A2 +,0x0092 +,0x0392 +,0x1090 +,0x0585 +,0x1C8F +,0x0784 +,0x1D8E +,0x0883 +,0x1D8E +,0x0883 +,0x1C91 +,0x0782 +,0x1B93 +,0x0682 +,0x058E +,0x0595 +,0x0681 +,0x058E +,0x0497 +,0x0581 +,0x058E +,0x0497 +,0x0581 +,0x058D +,0x0598 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0499 +,0x0580 +,0x058D +,0x0597 +,0x0581 +,0x058D +,0x0597 +,0x0581 +,0x058E +,0x0595 +,0x0681 +,0x058E +,0x0693 +,0x0682 +,0x058E +,0x0791 +,0x0782 +,0x058F +,0x088D +,0x0883 +,0x0590 +,0x0A87 +,0x0B83 +,0x0591 +,0x1C84 +,0x0592 +,0x1A85 +,0x0593 +,0x1886 +,0x0594 +,0x15A5 +,0x11AA +,0x0CC5 +,0xFFFF +,0xF111 +,0xA21B +,0x9A21 +,0x9426 +,0x9029 +,0x8E2B +,0x8C0D +,0x8505 +,0x850E +,0x880B +,0x8805 +,0x8B09 +,0x8808 +,0x8906 +,0x8E08 +,0x8607 +,0x8B05 +,0x9107 +,0x8407 +,0x8B05 +,0x9306 +,0x8306 +,0x8C05 +,0x9506 +,0x8205 +,0x8D05 +,0x9605 +,0x8106 +,0x8D04 +,0x9706 +,0x8005 +,0x8D05 +,0x9805 +,0x8005 +,0x8D05 +,0x9805 +,0x8004 +,0x8E04 +,0x990B +,0x8E04 +,0x990B +,0x8E05 +,0x980B +,0x8E05 +,0x980B +,0x8E05 +,0x9805 +,0x8004 +,0x8E06 +,0x9605 +,0x8104 +,0x8F05 +,0x9605 +,0x8105 +,0x8E06 +,0x9405 +,0x8205 +,0x8F07 +,0x9007 +,0x8305 +,0x8E09 +,0x8C08 +,0x8407 +,0x8D0B +,0x860A +,0x8507 +,0x8E1B +,0x8705 +,0x9019 +,0x8903 +,0x9217 +,0x8B00 +,0x9613 +,0xA70F +,0xAD07 +,0xC8FF +,0xFFFF +,0x9605 +,0xB305 +,0xB305 +,0xB305 +,0xB305 +,0xB305 +,0xAF01 +,0x8105 +,0xAC04 +,0x8105 +,0xA907 +,0x8105 +,0xA60A +,0x8105 +,0xA40C +,0x8105 +,0xA10F +,0x8105 +,0x9E12 +,0x8105 +,0x9B13 +,0x8305 +,0x9813 +,0x8605 +,0x9612 +,0x8905 +,0x9312 +,0x8C05 +,0x9012 +,0x8F05 +,0x8E11 +,0x9205 +,0x8B11 +,0x9505 +,0x8910 +,0x9805 +,0x8610 +,0x9B05 +,0x840F +,0x9E05 +,0x8110 +,0xA015 +,0xA312 +,0xA610 +,0xA80D +,0xAB0B +,0xAD09 +,0xAF06 +,0xB204 +,0xFFA7 +,0xFFFF +,0xCA03 +,0xB10B +,0xAB0F +,0x9007 +,0x8F11 +,0x8D0C +,0x8A14 +,0x8A0F +,0x8816 +,0x8811 +,0x8618 +,0x8614 +,0x8407 +,0x8708 +,0x8515 +,0x8306 +,0x8B07 +,0x8406 +,0x8608 +,0x8106 +,0x8D06 +,0x8306 +,0x8907 +,0x8004 +,0x9006 +,0x8205 +,0x8B0C +,0x9105 +,0x8105 +,0x8D0A +,0x9205 +,0x8104 +,0x8F08 +,0x9405 +,0x8004 +,0x9006 +,0x9505 +,0x8004 +,0x9006 +,0x950B +,0x9105 +,0x950B +,0x9105 +,0x950B +,0x9205 +,0x940B +,0x9106 +,0x9405 +,0x8004 +,0x9107 +,0x9305 +,0x8005 +,0x8F08 +,0x9304 +,0x8105 +,0x8E0A +,0x9105 +,0x8106 +,0x8C0C +,0x8F06 +,0x8206 +,0x8906 +,0x8106 +,0x8E05 +,0x8308 +,0x8508 +,0x8107 +,0x8C06 +,0x8415 +,0x8308 +,0x8807 +,0x8613 +,0x850A +,0x820A +,0x8711 +,0x8716 +,0x890F +,0x8914 +,0x8B0C +,0x8C12 +,0x8F06 +,0x9010 +,0xAA0C +,0xAF06 +,0xC5FF +,0xFFE9 +,0x09AC +,0x0F98 +,0x008D +,0x1395 +,0x028A +,0x1792 +,0x0488 +,0x1990 +,0x0686 +,0x1B8E +,0x0785 +,0x0988 +,0x0A8F +,0x0683 +,0x088D +,0x0790 +,0x0582 +,0x0790 +,0x078F +,0x0582 +,0x0693 +,0x0590 +,0x0580 +,0x0694 +,0x068F +,0x0580 +,0x0596 +,0x058F +,0x0580 +,0x0597 +,0x048F +,0x0580 +,0x0498 +,0x048F +,0x0580 +,0x0498 +,0x058E +,0x0B98 +,0x058E +,0x0B98 +,0x048F +,0x0580 +,0x0498 +,0x048E +,0x0581 +,0x0597 +,0x048E +,0x0581 +,0x0596 +,0x058D +,0x0681 +,0x0695 +,0x048E +,0x0583 +,0x0594 +,0x058D +,0x0683 +,0x0693 +,0x048D +,0x0685 +,0x0790 +,0x058B +,0x0786 +,0x098D +,0x058A +,0x0888 +,0x0B88 +,0x0687 +,0x0C89 +,0x2D8C +,0x2B8F +,0x2793 +,0x2496 +,0x1F9D +,0x17A9 +,0x07D3 +,0xFF00 +#line 754 "p2_deco_main - 090915b.c" + +}; + +#pragma romdata font_table_large = 0x0BFE6 +rom const rom unsigned int wp_large_table[] = +{ +#line 1 "./ostc90.tbl.txt" +0x0000 +,0x0022 +,0x0035 +,0x00D2 +,0x0100 +,0x01A8 +,0x0243 +,0x02AC +,0x0354 +,0x03ED +,0x0454 +,0x04FF +,0x059A +#line 760 "p2_deco_main - 090915b.c" + +}; + + + + + + + + + +#pragma code subroutines2 = 0x0C000 + + + + +void create_dbs_set_dbg_and_ndl20mtr(void) +{ + int_O_DBS_bitfield = 0; + int_O_DBS2_bitfield = 0; + if(int_O_DBG_pre_bitfield & 0b0000000000000100 ) + int_O_DBG_pre_bitfield = 0b0000000000001000 ; + else + int_O_DBG_pre_bitfield = 0b0000000000000100 ; + int_O_DBG_post_bitfield = 0; + char_O_NDL_at_20mtr = 255; + + DBG_N2_ratio = N2_ratio; + DBG_He_ratio = He_ratio; + DBG_char_I_deco_model = char_I_deco_model; + DBG_char_I_depth_last_deco = char_I_depth_last_deco; + DBG_pres_surface = pres_surface; + DBG_GF_low = GF_low; + DBG_GF_high = GF_high; + DBG_const_ppO2 = const_ppO2; + DBG_deco_ppO2_change = deco_ppO2_change; + DBG_deco_ppO2 = deco_ppO2; + DBG_deco_N2_ratio = deco_N2_ratio; + DBG_deco_He_ratio = deco_He_ratio; + DBG_deco_gas_change = deco_gas_change; + DBG_float_saturation_multiplier = float_saturation_multiplier; + DBG_float_desaturation_multiplier = float_desaturation_multiplier; + DBG_float_deco_distance = float_deco_distance; + + if(char_I_deco_model) + int_O_DBS_bitfield |= 0b0000000000000001 ; + if(const_ppO2) + int_O_DBS_bitfield |= 0b0000000000000010 ; + for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++) + if(pres_tissue[int_dbg_i]) + int_O_DBS_bitfield |= 0b0000000000000100 ; + if(deco_ppO2_change) + int_O_DBS_bitfield |= 0b0000000000001000 ; + if(float_saturation_multiplier < 0.99) + int_O_DBS_bitfield |= 0b0000000000010000 ; + if(float_saturation_multiplier > 1.3) + int_O_DBS_bitfield |= 0b0000000000100000 ; + if(GF_low < 0.19) + int_O_DBS_bitfield |= 0b0000000001000000 ; + if(GF_low > 1.01) + int_O_DBS_bitfield |= 0b0000000010000000 ; + if(GF_high < 0.6) + int_O_DBS_bitfield |= 0b0000000100000000 ; + if(GF_high > 1.01) + int_O_DBS_bitfield |= 0b0000001000000000 ; + if((N2_ratio + He_ratio) > 0.95) + int_O_DBS_bitfield |= 0b0000010000000000 ; + if((N2_ratio + He_ratio) < 0.05) + int_O_DBS_bitfield |= 0b0000100000000000 ; + if(float_deco_distance > 0.25) + int_O_DBS_bitfield |= 0b0001000000000000 ; + if(char_I_depth_last_deco > 8) + int_O_DBS_bitfield |= 0b0010000000000000 ; + if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) > 0.95)) + int_O_DBS_bitfield |= 0b0100000000000000 ; + if(DBG_deco_gas_change && ((deco_N2_ratio + deco_He_ratio) < 0.05)) + int_O_DBS_bitfield |= 0b1000000000000000 ; + if(pres_respiration > 3.0) + int_O_DBS2_bitfield |= 0b0000000000000001 ; + if(pres_surface - pres_respiration > 0.2) + int_O_DBS2_bitfield |= 0b0000000000000010 ; + if(pres_surface < 0.75) + int_O_DBS2_bitfield |= 0b0000000000000100 ; + if(pres_surface > 1.11) + int_O_DBS2_bitfield |= 0b0000000000001000 ; + if(float_desaturation_multiplier < 0.70) + int_O_DBS2_bitfield |= 0b0000000000010000 ; + if(float_desaturation_multiplier > 1.01) + int_O_DBS2_bitfield |= 0b0000000000100000 ; + if(GF_low > GF_high) + int_O_DBS2_bitfield |= 0b0000000001000000 ; +} + + + + +void set_dbg_end_of_dive(void) +{ + int_O_DBG_pre_bitfield &= (~0b0000000000000100 ); + int_O_DBG_post_bitfield &= (~0b0000000000000100 ); +} + + + + +void check_ndl(void) +{ + if((char_O_NDL_at_20mtr == -1) && (int_I_pres_respiration > 3000)) + { + char_O_NDL_at_20mtr = char_O_nullzeit; + if(char_O_NDL_at_20mtr == 255) + char_O_NDL_at_20mtr == 254; + } +} + + + + +void check_dbg(char is_post_check) +{ + temp_DBS = 0; + if( (DBG_N2_ratio != N2_ratio) || (DBG_He_ratio != He_ratio) ) + temp_DBS |= 0b0000000000000001 ; + if(DBG_const_ppO2 != const_ppO2) + temp_DBS |= 0b0000000000000010 ; + if((DBG_float_saturation_multiplier != float_saturation_multiplier) || (DBG_float_desaturation_multiplier != float_desaturation_multiplier)) + temp_DBS |= 0b0000000000010000 ; + if(DBG_char_I_deco_model != char_I_deco_model) + temp_DBS |= 0b0000000000100000 ; + if(DBG_pres_surface != pres_surface) + temp_DBS |= 0b0000000001000000 ; + if((!0b0000000000000100 ) && (!He_ratio)) + for(int_dbg_i = 16; int_dbg_i < 32; int_dbg_i++) + if(pres_tissue[int_dbg_i]) + temp_DBS |= 0b0000000010000000 ; + if(DBG_deco_ppO2 != deco_ppO2) + temp_DBS |= 0b0000000100000000 ; + if((DBG_deco_gas_change != deco_gas_change) || (DBG_deco_N2_ratio != deco_N2_ratio) || (DBG_deco_He_ratio != deco_He_ratio)) + temp_DBS |= 0b0000001000000000 ; + if(DBG_float_deco_distance != float_deco_distance) + temp_DBS |= 0b0000010000000000 ; + if(DBG_char_I_depth_last_deco != char_I_depth_last_deco) + temp_DBS |= 0b0000100000000000 ; + if((DBG_GF_low != GF_low) || (DBG_GF_high != GF_high)) + temp_DBS |= 0b0001000000000000 ; + if(pres_respiration > 13.0) + temp_DBS |= 0b0100000000000000 ; + if(pres_surface - pres_respiration > 0.2) + temp_DBS |= 0b1000000000000000 ; + +#line 914 "p2_deco_main - 090915b.c" + + if(is_post_check) + int_O_DBG_post_bitfield |= temp_DBS; + else + int_O_DBG_pre_bitfield |= temp_DBS; +} + + + + +void check_pre_dbg(void) +{ + check_dbg(0); +} + + + + +void check_post_dbg(void) +{ + check_dbg(1); +} + + + + + + + +void calc_nextdecodepth_GF(void) +{ + + + + + + + + + + + + + + + + + + + + + + + + + + + char_I_table_deco_done[0] = 0; + if (char_I_deco_model == 1) + { + if (lock_GF_depth_list == 0) + { + temp2 = temp_pres_gtissue_limit_GF_low_below_surface / 0.29985; + int_temp = (int) (temp2 + 0.99); + if (int_temp > 31) + int_temp = 31; + if (int_temp < 0) + int_temp = 0; + temp_depth_GF_low_number = int_temp; + temp_depth_GF_low_meter = 3 * temp_depth_GF_low_number; + temp2 = (float)temp_depth_GF_low_meter * 0.09995; + temp_pres_deco_GF_low = temp2 + float_deco_distance + pres_surface; + if (temp_depth_GF_low_number == 0) + GF_step = 0; + else + GF_step = GF_delta / (float)temp_depth_GF_low_number; + if (GF_step < 0) + GF_step = 0; + if (GF_step > GF_delta) + GF_step = GF_delta; + int_O_GF_step = (int)(GF_step * 10000); + int_O_limit_GF_low = (int)(temp_pres_deco_GF_low * 1000); + int_O_gtissue_press_at_GF_low = (int)(temp_pres_gtissue * 1000); + char_O_GF_low_pointer = temp_depth_GF_low_number; + lock_GF_depth_list = 1; + internal_deco_pointer = 0; + } + if (internal_deco_pointer == 0) + { + internal_deco_pointer = temp_depth_GF_low_number; + GF_temp = GF_high - ((float)internal_deco_pointer * GF_step); + int_temp = char_I_table_deco_done[internal_deco_pointer]; + output[8] = int_temp; + output[9] = 33; + } + else + { + int_temp = 1; + } + while (int_temp == 1) + { + int_temp = internal_deco_pointer - 1; + if (int_temp == 1) + { + temp2 = (float)(temp_depth_last_deco * int_temp) * 0.09995; + GF_step2 = GF_step/3.0 * ((float)(6 - temp_depth_last_deco)); + } + else + if (int_temp == 0) + { + temp2 = 0.0; + GF_step2 = GF_high - GF_temp; + } + else + { + temp2 = (float)(3 *int_temp) * 0.09995; + GF_step2 = GF_step; + } + temp2 = temp2 + pres_surface; + temp1 = ((GF_temp + GF_step2)* temp_pres_gtissue_diff) + temp_pres_gtissue; + if (temp1 > temp2) + { + int_temp = 0; + } + else + { + internal_deco_pointer = int_temp; + GF_temp = GF_temp + GF_step2; + int_temp = char_I_table_deco_done[internal_deco_pointer]; + } + } + if (internal_deco_pointer > 0) + { + temp2 = (float)(0.29985 * internal_deco_pointer); + temp_deco = temp2 + float_deco_distance + pres_surface; + if (internal_deco_pointer == 1) + temp_depth_limit = temp_depth_last_deco; + else + temp_depth_limit = 3 * internal_deco_pointer; + if (output[9] == 33) + { + output[9] = internal_deco_pointer; + output[10] = char_I_table_deco_done[internal_deco_pointer]; + output[12] = output[12] + 1; + if (output[12] == 100) + output[12] = 0; + } + } + else + { + temp_deco = pres_surface; + temp_depth_limit = 0; + } + } + else + { + + + + + temp1 = temp_pres_gtissue_limit - pres_surface; + if (temp1 >= 0) + { + temp1 = temp1 / 0.29985; + temp_depth_limit = (int) (temp1 + 0.99); + temp_depth_limit = 3 * temp_depth_limit; + if (temp_depth_limit == 0) + temp_deco = pres_surface; + else + { + if (temp_depth_limit < temp_depth_last_deco) + temp_depth_limit = temp_depth_last_deco; + temp1 = (float)temp_depth_limit * 0.09995; + temp_deco = temp1 + float_deco_distance + pres_surface; + } + } + else + { + temp_deco = pres_surface; + temp_depth_limit = 0; + } + } +} + + +#line 1100 "p2_deco_main - 090915b.c" +#line 1116 "p2_deco_main - 090915b.c" + + + + + +void copy_deco_table_GF(void) +{ + if (char_I_deco_model == 1) + { + int_temp = 32; + for (ci=0;ci<int_temp;ci++) + char_O_deco_table[ci] = internal_deco_table[ci]; + } +} + + + + + + +void clear_internal_deco_table_GF(void) +{ + if (char_I_deco_model == 1) + { + for (ci=0;ci<32;ci++) + { + internal_deco_table[ci] = 0; + } + } +} + + + + + + +void update_internal_deco_table_GF(void) +{ + if ((char_I_deco_model == 1) && (internal_deco_table[internal_deco_pointer] < 255)) + internal_deco_table[internal_deco_pointer] = internal_deco_table[internal_deco_pointer] + 1; +} + + + + + + +void temp_tissue_safety(void) +{ + if (char_I_deco_model == 1) + { + } + else + { + if (temp_tissue < 0.0) + temp_tissue = temp_tissue * float_desaturation_multiplier; + else + temp_tissue = temp_tissue * float_saturation_multiplier; + } +} + + + + + + + + +#pragma code main_calc_hauptroutine = 0x10000 +void main_calc_hauptroutine(void) +{ +calc_hauptroutine(); +int_O_desaturation_time = 65535; +} +#pragma code main_without_deco = 0x10020 +void main_calc_without_deco(void) +{ +calc_without_deco(); +calc_desaturation_time(); +} + +#pragma code main_clear_CNS_fraction = 0x10030 +void main_clear_CNS_fraction(void) +{ +clear_CNS_fraction(); +} + +#pragma code main_calc_CNS_decrease_15min = 0x10034 +void main_calc_CNS_decrease_15min(void) +{ +calc_CNS_decrease_15min(); +} + +#pragma code main_calc_percentage = 0x10038 +void main_calc_percentage (void) +{ +calc_percentage(); +} + +#pragma code main_clear_tissue = 0x10040 +void main_clear_tissue(void) +{ +clear_tissue(); +char_I_depth_last_deco = 0; +} + +#pragma code main_calc_CNS_fraction = 0x10050 +void main_calc_CNS_fraction(void) +{ +calc_CNS_fraction(); +} + +#pragma code main_calc_desaturation_time = 0x10060 +void main_calc_desaturation_time(void) +{ +calc_desaturation_time(); +} + +#pragma code main_calc_wo_deco_step_1_min = 0x10080 +void main_calc_wo_deco_step_1_min(void) +{ +calc_wo_deco_step_1_min(); +char_O_deco_status = 3; +calc_desaturation_time(); +} + +#pragma code main_debug = 0x100A0 +void main_debug(void) +{ + +} + +#pragma code main_DD2_write_incon42 = 0x100B0 +void main_DD2_write_incon42(void) +{ + return; +} + +#pragma code main_DD2_write_incon24 = 0x100B4 +void main_DD2_write_incon24(void) +{ + return; +} + +#pragma code main_wordprocessor = 0x100B8 +void main_wordprocessor(void) +{ + wordprocessor(); +} + +#pragma code main_gradient_array = 0x100C0 +void main_gradient_array(void) +{ +calc_gradient_array_only(); +} +#pragma code main_push_tissues = 0x100C4 +void main_push_tissues_to_vault(void) +{ + push_tissues_to_vault(); +} +#pragma code main_pull_tissues = 0x100C8 +void main_pull_tissues_from_vault(void) +{ + pull_tissues_from_vault(); +} + +#pragma code main_hash = 0x100E0 +void main_hash(void) +{ +hash(); +} + + + + + + + +#pragma romdata tables = 0x10200 + + +#pragma romdata tables2 = 0x10600 +rom const rom unsigned int md_pi[] = +{ + 0x292E, 0x43C9, 0xA2D8, 0x7C01, 0x3D36, 0x54A1, 0xECF0, 0x0613 + , 0x62A7, 0x05F3, 0xC0C7, 0x738C, 0x9893, 0x2BD9, 0xBC4C, 0x82CA + , 0x1E9B, 0x573C, 0xFDD4, 0xE016, 0x6742, 0x6F18, 0x8A17, 0xE512 + , 0xBE4E, 0xC4D6, 0xDA9E, 0xDE49, 0xA0FB, 0xF58E, 0xBB2F, 0xEE7A + , 0xA968, 0x7991, 0x15B2, 0x073F, 0x94C2, 0x1089, 0x0B22, 0x5F21 + , 0x807F, 0x5D9A, 0x5A90, 0x3227, 0x353E, 0xCCE7, 0xBFF7, 0x9703 + , 0xFF19, 0x30B3, 0x48A5, 0xB5D1, 0xD75E, 0x922A, 0xAC56, 0xAAC6 + , 0x4FB8, 0x38D2, 0x96A4, 0x7DB6, 0x76FC, 0x6BE2, 0x9C74, 0x04F1 + , 0x459D, 0x7059, 0x6471, 0x8720, 0x865B, 0xCF65, 0xE62D, 0xA802 + , 0x1B60, 0x25AD, 0xAEB0, 0xB9F6, 0x1C46, 0x6169, 0x3440, 0x7E0F + , 0x5547, 0xA323, 0xDD51, 0xAF3A, 0xC35C, 0xF9CE, 0xBAC5, 0xEA26 + , 0x2C53, 0x0D6E, 0x8528, 0x8409, 0xD3DF, 0xCDF4, 0x4181, 0x4D52 + , 0x6ADC, 0x37C8, 0x6CC1, 0xABFA, 0x24E1, 0x7B08, 0x0CBD, 0xB14A + , 0x7888, 0x958B, 0xE363, 0xE86D, 0xE9CB, 0xD5FE, 0x3B00, 0x1D39 + , 0xF2EF, 0xB70E, 0x6658, 0xD0E4, 0xA677, 0x72F8, 0xEB75, 0x4B0A + , 0x3144, 0x50B4, 0x8FED, 0x1F1A, 0xDB99, 0x8D33, 0x9F11, 0x8314 +}; + + + + + + + +#pragma code subroutines = 0x10700 + + + + + + + +void clear_tissue(void) +{ + + flag_in_divemode = 0; + int_O_DBS_bitfield = 0; + int_O_DBS2_bitfield = 0; + int_O_DBG_pre_bitfield = 0; + int_O_DBG_post_bitfield = 0; + char_O_NDL_at_20mtr = 255; + +_asm +lfsr 1, 0x300 +movlw 0x01 +movwf TBLPTRU,0 +_endasm + + + N2_ratio = 0.7902; + pres_respiration = (float)int_I_pres_respiration / 1000.0; +for (ci=0;ci<16;ci++) +{ + pres_tissue[ci] = N2_ratio * (pres_respiration - 0.0627) ; +_asm +movlw 0x02 +movwf TBLPTRH,0 +movlb 4 +movf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addlw 0x80 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var_a+1 +TBLRDPOSTINC +movff TABLAT,var_a +TBLRDPOSTINC +movff TABLAT,var_a+3 +TBLRD +movff TABLAT,var_a+2 +addlw 0x80 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_b+1 +TBLRDPOSTINC +movff TABLAT,var_b +TBLRDPOSTINC +movff TABLAT,var_b+3 +TBLRD +movff TABLAT,var_b+2 +_endasm + +pres_tissue_limit[ci] = (pres_tissue[ci] - var_a) * var_b ; + +if (pres_tissue_limit[ci] < 0) +pres_tissue_limit[ci] = 0; +} + +for (ci=16;ci<32;ci++) +{ + pres_tissue[ci] = 0.0; +} + + clear_decoarray(); + char_O_deco_status = 0; + char_O_nullzeit = 0; + char_O_ascenttime = 0; + char_O_gradient_factor = 0; + char_O_relative_gradient_GF = 0; +} + + + + + + + + +void calc_without_deco(void) +{ +_asm + lfsr 1, 0x300 +_endasm + N2_ratio = 0.7902; + pres_respiration = (float)int_I_pres_respiration / 1000.0; + pres_surface = (float)int_I_pres_surface / 1000.0; + temp_atem = N2_ratio * (pres_respiration - 0.0627); + temp2_atem = 0.0; + temp_surface = pres_surface; + float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0; + float_saturation_multiplier = char_I_saturation_multiplier / 100.0; + + calc_tissue(); + + clear_decoarray(); + char_O_deco_status = 0; + char_O_nullzeit = 0; + char_O_ascenttime = 0; + calc_gradient_factor(); + +} + + + + + + + + + + + +void calc_hauptroutine(void) +{ + calc_hauptroutine_data_input(); + + if(!flag_in_divemode) + { + flag_in_divemode = 1; + create_dbs_set_dbg_and_ndl20mtr(); + } + else + check_pre_dbg(); + + calc_hauptroutine_update_tissues(); + calc_gradient_factor(); + + + switch (char_O_deco_status) + { + case 0: + update_startvalues(); + calc_nullzeit(); + check_ndl(); + char_O_deco_status = 255; + break; + case 1: + if (char_O_deco_status == 3) + break; + char_O_deco_status = 0; + + calc_hauptroutine_calc_deco(); + + break; + case 3: + clear_decoarray(); + clear_internal_deco_table_GF(); + copy_deco_table_GF(); + internal_deco_pointer = 0; + lock_GF_depth_list = 0; + update_startvalues(); + calc_nextdecodepth_GF(); + char_O_deco_status = 0; + break; + default: + update_startvalues(); + clear_decoarray(); + clear_internal_deco_table_GF(); + output[6] = 1; + calc_hauptroutine_calc_ascend_to_deco(); + if (char_O_deco_status > 15) + { + char_O_deco_status = 2; + + } + else + { + + calc_hauptroutine_calc_deco(); + } + + break; + } + calc_ascenttime(); + check_post_dbg(); +} + +void calc_hauptroutine_data_input(void) +{ + pres_respiration = (float)int_I_pres_respiration / 1000.0; + pres_surface = (float)int_I_pres_surface / 1000.0; + + N2_ratio = (float)char_I_N2_ratio / 100.0;; + He_ratio = (float)char_I_He_ratio / 100.0;; + deco_N2_ratio = (float)char_I_deco_N2_ratio / 100.0; + deco_He_ratio = (float)char_I_deco_He_ratio / 100.0; + float_deco_distance = (float)char_I_deco_distance / 100.0; + if(char_I_deco_gas_change) + { + deco_gas_change = (float)char_I_deco_gas_change / 9.995 + pres_surface; + deco_gas_change = deco_gas_change + float_deco_distance; + } + else + deco_gas_change = 0; + const_ppO2 = (float)char_I_const_ppO2 / 100.0; + deco_ppO2_change = (float)char_I_deco_ppO2_change / 99.95 + pres_surface; + deco_ppO2_change = deco_ppO2_change + float_deco_distance; + deco_ppO2 = (float)char_I_deco_ppO2 / 100.0; + float_desaturation_multiplier = char_I_desaturation_multiplier / 100.0; + float_saturation_multiplier = char_I_saturation_multiplier / 100.0; + GF_low = (float)char_I_GF_Low_percentage / 100.0; + GF_high = (float)char_I_GF_High_percentage / 100.0; + GF_delta = GF_high - GF_low; + + temp2 = (pres_respiration - pres_surface) / 0.29985; + int_temp = (int)(temp2); + if (int_temp < 0) + int_temp = 0; + if (int_temp > 255) + int_temp = 255; + char_O_actual_pointer = int_temp; + + temp_depth_last_deco = (int)char_I_depth_last_deco; +} + +void calc_hauptroutine_update_tissues(void) +{ + int_O_calc_tissue_call_counter = int_O_calc_tissue_call_counter + 1; + if (char_I_const_ppO2 == 0) + pres_diluent = pres_respiration; + else + pres_diluent = ((pres_respiration - const_ppO2)/(N2_ratio + He_ratio)); + if (pres_diluent > pres_respiration) + pres_diluent = pres_respiration; + if (pres_diluent > 0.0627) + { + temp_atem = N2_ratio * (pres_diluent - 0.0627); + temp2_atem = He_ratio * (pres_diluent - 0.0627); + char_O_diluent = (char)(pres_diluent/pres_respiration*100.0); + } + else + { + temp_atem = 0.0; + temp2_atem = 0.0; + char_O_diluent = 0; + } + temp_surface = pres_surface; + calc_tissue(); + int_O_gtissue_limit = (int)(pres_tissue_limit[char_O_gtissue_no] * 1000); + int_O_gtissue_press = (int)((pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]) * 1000); + if (char_I_deco_model == 1) + { + temp1 = temp1 * GF_high; + } + else + { + temp1 = temp_surface; + } + if (pres_gtissue_limit > temp1 && char_O_deco_status == 0) + { + char_O_nullzeit = 0; + char_O_deco_status = 255; + } +} +void calc_hauptroutine_calc_deco(void) +{ + do + { + int_temp_decostatus = 0; + calc_nextdecodepth_GF(); + if (temp_depth_limit > 0) + { + if (char_I_const_ppO2 == 0) + { + deco_diluent = temp_deco; + if (temp_deco > deco_gas_change) + { + calc_N2_ratio = N2_ratio; + calc_He_ratio = He_ratio; + } + else + { + calc_N2_ratio = deco_N2_ratio; + calc_He_ratio = deco_He_ratio; + } + } + else + { + calc_N2_ratio = N2_ratio; + calc_He_ratio = He_ratio; + if (temp_deco > deco_ppO2_change) + { + deco_diluent = ((temp_deco - const_ppO2)/(N2_ratio + He_ratio)); + } + else + { + deco_diluent = ((temp_deco - deco_ppO2)/(N2_ratio + He_ratio)); + } + } + if (deco_diluent > temp_deco) + deco_diluent = temp_deco; + if (deco_diluent > 0.0627) + { + temp_atem = calc_N2_ratio * (deco_diluent - 0.0627); + temp2_atem = calc_He_ratio * (deco_diluent - 0.0627); + } + else + { + temp_atem = 0.0; + temp2_atem = 0.0; + } + sim_tissue_1min(); + update_internal_deco_table_GF(); + temp_decotime = 1; + update_decoarray(); + char_O_deco_status = char_O_deco_status + 1; + if (char_O_deco_status < 16) + int_temp_decostatus = 1; + } + else + { + char_O_deco_status = 0; + } + } while (int_temp_decostatus == 1); + if (char_O_deco_status > 15) + { + char_O_deco_status = 1; + } + else + { + copy_deco_table_GF(); + char_O_deco_status = 0; + } +} + +void calc_hauptroutine_calc_ascend_to_deco(void) +{ + update_startvalues(); + char_O_deco_status = 0; + temp_deco = pres_respiration; + lock_GF_depth_list = 1; + do + { + int_temp_decostatus = 0; + temp_deco = temp_deco - 1.0; + if ( char_I_deco_model == 1) + temp_limit = temp_pres_gtissue_limit_GF_low; + else + temp_limit = temp_pres_gtissue_limit; + if ((temp_deco > temp_limit) && (temp_deco > pres_surface)) + { + lock_GF_depth_list = 0; + output[6] = 0; + if (char_I_const_ppO2 == 0) + { + deco_diluent = temp_deco + 0.5; + if (temp_deco + 0.5 > deco_gas_change) + { + calc_N2_ratio = N2_ratio; + calc_He_ratio = He_ratio; + } + else + { + calc_N2_ratio = deco_N2_ratio; + calc_He_ratio = deco_He_ratio; + } + } + else + { + calc_N2_ratio = N2_ratio; + calc_He_ratio = He_ratio; + if (temp_deco + 0.5 > deco_ppO2_change) + deco_diluent = ((temp_deco + 0.5 - const_ppO2)/(N2_ratio + He_ratio)); + else + deco_diluent = ((temp_deco + 0.5 - deco_ppO2)/(N2_ratio + He_ratio)); + if (deco_diluent > (temp_deco +0.5)) + deco_diluent = temp_deco + 0.5; + } + if (deco_diluent > 0.0627) + { + temp_atem = calc_N2_ratio * (deco_diluent - 0.0627); + temp2_atem = calc_He_ratio * (deco_diluent - 0.0627); + } + else + { + temp_atem = 0.0; + temp2_atem = 0.0; + } + sim_tissue_1min(); + char_O_deco_status = char_O_deco_status + 1; + if (char_O_deco_status < 16) + int_temp_decostatus = 1; + } + } while (int_temp_decostatus == 1); +} + + + + + + +void calc_tissue(void) +{ +_asm +lfsr 1, 0x300 +movlw 0x01 +movwf TBLPTRU,0 +_endasm + + char_O_gtissue_no = 255; + pres_gtissue_limit = 0.0; + +for (ci=0;ci<16;ci++) +{ +_asm +movlw 0x02 +movwf TBLPTRH,0 +movlb 4 +movf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var_e2secs+1 +TBLRDPOSTINC +movff TABLAT,var_e2secs +TBLRDPOSTINC +movff TABLAT,var_e2secs+3 +TBLRD +movff TABLAT,var_e2secs+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_e2secs+1 +TBLRDPOSTINC +movff TABLAT,var2_e2secs +TBLRDPOSTINC +movff TABLAT,var2_e2secs+3 +TBLRD +movff TABLAT,var2_e2secs+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var_a+1 +TBLRDPOSTINC +movff TABLAT,var_a +TBLRDPOSTINC +movff TABLAT,var_a+3 +TBLRD +movff TABLAT,var_a+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_a+1 +TBLRDPOSTINC +movff TABLAT,var2_a +TBLRDPOSTINC +movff TABLAT,var2_a+3 +TBLRD +movff TABLAT,var2_a+2 +addlw 0x40 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_b+1 +TBLRDPOSTINC +movff TABLAT,var_b +TBLRDPOSTINC +movff TABLAT,var_b+3 +TBLRD +movff TABLAT,var_b+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_b+1 +TBLRDPOSTINC +movff TABLAT,var2_b +TBLRDPOSTINC +movff TABLAT,var2_b+3 +TBLRD +movff TABLAT,var2_b+2 +_endasm + + + if( (var_e2secs < 0.0000363) + || (var_e2secs > 0.00577) + || (var2_e2secs < 0.0000961) + || (var2_e2secs > 0.150) + || (var_a < 0.231) + || (var_a > 1.27) + || (var_b < 0.504) + || (var_b > 0.966) + || (var2_a < 0.510) + || (var2_a > 1.75) + || (var2_b < 0.423) + || (var2_b > 0.927) + ) + int_O_DBG_pre_bitfield |= 0b0010000000000000 ; + + + temp_tissue = (temp_atem - pres_tissue[ci]) * var_e2secs; + temp_tissue_safety(); + pres_tissue[ci] = pres_tissue[ci] + temp_tissue; + + + temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e2secs; + temp_tissue_safety(); + pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue; + + temp_tissue = pres_tissue[ci] + pres_tissue[ci+16]; + + var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue; + var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue; + pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b; + if (pres_tissue_limit[ci] < 0) + pres_tissue_limit[ci] = 0; + if (pres_tissue_limit[ci] > pres_gtissue_limit) + { + pres_gtissue_limit = pres_tissue_limit[ci]; + char_O_gtissue_no = ci; + } +} +} + + + + + + + + +void calc_nullzeit(void) +{ + char_O_nullzeit = 0; + int_temp = 1; + do + { + backup_sim_pres_tissue(); + sim_tissue_10min(); + char_O_nullzeit = char_O_nullzeit + 10; + int_temp = int_temp + 1; + if (char_I_deco_model == 1) + temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue; + else + temp1 = temp_pres_gtissue_limit; + if (temp1 > temp_surface) + int_temp = 255; + } while (int_temp < 17); + if (int_temp == 255) + { + restore_sim_pres_tissue(); + char_O_nullzeit = char_O_nullzeit - 10; + } + int_temp = 1; + if (char_O_nullzeit < 60) + { + do + { + sim_tissue_1min(); + char_O_nullzeit = char_O_nullzeit + 1; + int_temp = int_temp + 1; + if (char_I_deco_model == 1) + temp1 = GF_high * temp_pres_gtissue_diff + temp_pres_gtissue; + else + temp1 = temp_pres_gtissue_limit; + if (temp1 > temp_surface) + int_temp = 255; + } while (int_temp < 10); + if (int_temp == 255) + char_O_nullzeit = char_O_nullzeit - 1; + } +} + + + + +void backup_sim_pres_tissue(void) +{ + for (x = 0;x<16;x++) + { + sim_pres_tissue_backup[x] = sim_pres_tissue[x]; + sim_pres_tissue_backup[x+16] = sim_pres_tissue[x+16]; + } +} + + + + +void restore_sim_pres_tissue(void) +{ + for (x = 0;x<16;x++) + { + sim_pres_tissue[x] = sim_pres_tissue_backup[x]; + sim_pres_tissue[x+16] = sim_pres_tissue_backup[x+16]; + } +} + + + + + +void calc_ascenttime(void) +{ +if (pres_respiration > pres_surface) + { + switch (char_O_deco_status) + { + case 2: + char_O_ascenttime = 255; + break; + case 1: + break; + default: + temp1 = pres_respiration - pres_surface + 0.6; + if (temp1 < 0) + temp1 = 0; + if (temp1 > 255) + temp1 = 255; + char_O_ascenttime = (char)temp1; + + for(ci=0;ci<7;ci++) + { + x = char_O_ascenttime + char_O_array_decotime[ci]; + if (x < char_O_ascenttime) + char_O_ascenttime = 255; + else + char_O_ascenttime = x; + } + } + } +else + char_O_ascenttime = 0; +} + + + + + + + +void update_startvalues(void) +{ + temp_pres_gtissue_limit = pres_gtissue_limit; + temp_pres_gtissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]; + temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue; + temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue; + temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface; + if (temp_pres_gtissue_limit_GF_low_below_surface < 0) + temp_pres_gtissue_limit_GF_low_below_surface = 0; + + temp_gtissue_no = char_O_gtissue_no; + for (x = 0;x<16;x++) + { + sim_pres_tissue[x] = pres_tissue[x]; + sim_pres_tissue[x+16] = pres_tissue[x+16]; + sim_pres_tissue_limit[x] = pres_tissue_limit[x]; + } +} + + + + + + + +void sim_tissue_1min(void) +{ +temp_pres_gtissue_limit = 0.0; +temp_gtissue_no = 255; + +_asm +lfsr 1, 0x300 +movlw 0x01 +movwf TBLPTRU,0 +_endasm + + +for (ci=0;ci<16;ci++) +{ +_asm +movlw 0x02 +movwf TBLPTRH,0 +movlb 4 +movf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addlw 0x80 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var_a+1 +TBLRDPOSTINC +movff TABLAT,var_a +TBLRDPOSTINC +movff TABLAT,var_a+3 +TBLRD +movff TABLAT,var_a+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_a+1 +TBLRDPOSTINC +movff TABLAT,var2_a +TBLRDPOSTINC +movff TABLAT,var2_a+3 +TBLRD +movff TABLAT,var2_a+2 +addlw 0x40 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_b+1 +TBLRDPOSTINC +movff TABLAT,var_b +TBLRDPOSTINC +movff TABLAT,var_b+3 +TBLRD +movff TABLAT,var_b+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_b+1 +TBLRDPOSTINC +movff TABLAT,var2_b +TBLRDPOSTINC +movff TABLAT,var2_b+3 +TBLRD +movff TABLAT,var2_b+2 +addlw 0xC0 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_e1min+1 +TBLRDPOSTINC +movff TABLAT,var_e1min +TBLRDPOSTINC +movff TABLAT,var_e1min+3 +TBLRD +movff TABLAT,var_e1min+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_e1min+1 +TBLRDPOSTINC +movff TABLAT,var2_e1min +TBLRDPOSTINC +movff TABLAT,var2_e1min+3 +TBLRD +movff TABLAT,var2_e1min+2 +_endasm + + temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min; + temp_tissue_safety(); + sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue; + + temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min; + temp_tissue_safety(); + sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue; + + temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16]; + var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue; + var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue; + sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b; + + if (sim_pres_tissue_limit[ci] < 0) + sim_pres_tissue_limit[ci] = 0; + if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit) + { + temp_pres_gtissue = temp_tissue; + temp_pres_gtissue_limit = sim_pres_tissue_limit[ci]; + temp_gtissue_no = ci; + } +} + temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue; + temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue; + temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface; + if (temp_pres_gtissue_limit_GF_low_below_surface < 0) + temp_pres_gtissue_limit_GF_low_below_surface = 0; +} + + + + + + + + + + +void sim_tissue_10min(void) +{ +temp_pres_gtissue_limit = 0.0; +temp_gtissue_no = 255; + +_asm +lfsr 1, 0x300 +movlw 0x01 +movwf TBLPTRU,0 +_endasm + +for (ci=0;ci<16;ci++) +{ +_asm +movlw 0x02 +movwf TBLPTRH,0 +movlb 4 +movf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addlw 0x80 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var_a+1 +TBLRDPOSTINC +movff TABLAT,var_a +TBLRDPOSTINC +movff TABLAT,var_a+3 +TBLRD +movff TABLAT,var_a+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_a+1 +TBLRDPOSTINC +movff TABLAT,var2_a +TBLRDPOSTINC +movff TABLAT,var2_a+3 +TBLRD +movff TABLAT,var2_a+2 +addlw 0x40 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_b+1 +TBLRDPOSTINC +movff TABLAT,var_b +TBLRDPOSTINC +movff TABLAT,var_b+3 +TBLRD +movff TABLAT,var_b+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_b+1 +TBLRDPOSTINC +movff TABLAT,var2_b +TBLRDPOSTINC +movff TABLAT,var2_b+3 +TBLRD +movff TABLAT,var2_b+2 +addlw 0xC0 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_e1min+1 +TBLRDPOSTINC +movff TABLAT,var_e1min +TBLRDPOSTINC +movff TABLAT,var_e1min+3 +TBLRD +movff TABLAT,var_e1min+2 +addlw 0x40 +movwf TBLPTRL,0 + +TBLRDPOSTINC +movff TABLAT,var2_e1min+1 +TBLRDPOSTINC +movff TABLAT,var2_e1min +TBLRDPOSTINC +movff TABLAT,var2_e1min+3 +TBLRD +movff TABLAT,var2_e1min+2 +_endasm + + temp_tissue = (temp_atem - sim_pres_tissue[ci]) * var_e1min; + temp_tissue_safety(); + sim_pres_tissue[ci] = sim_pres_tissue[ci] + temp_tissue; + + temp_tissue = (temp2_atem - sim_pres_tissue[ci+16]) * var2_e1min; + temp_tissue_safety(); + sim_pres_tissue[ci+16] = sim_pres_tissue[ci+16] + temp_tissue; + +temp_tissue = sim_pres_tissue[ci] + sim_pres_tissue[ci+16]; + var_a = (var_a * sim_pres_tissue[ci] + var2_a * sim_pres_tissue[ci+16]) / temp_tissue; + var_b = (var_b * sim_pres_tissue[ci] + var2_b * sim_pres_tissue[ci+16]) / temp_tissue; + +sim_pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b; + if (sim_pres_tissue_limit[ci] < 0) + sim_pres_tissue_limit[ci] = 0; + if (sim_pres_tissue_limit[ci] > temp_pres_gtissue_limit) + { + temp_pres_gtissue = temp_tissue; + temp_pres_gtissue_limit = sim_pres_tissue_limit[ci]; + temp_gtissue_no = ci; + } +} + temp_pres_gtissue_diff = temp_pres_gtissue_limit - temp_pres_gtissue; + temp_pres_gtissue_limit_GF_low = GF_low * temp_pres_gtissue_diff + temp_pres_gtissue; + temp_pres_gtissue_limit_GF_low_below_surface = temp_pres_gtissue_limit_GF_low - pres_surface; + if (temp_pres_gtissue_limit_GF_low_below_surface < 0) + temp_pres_gtissue_limit_GF_low_below_surface = 0; +} + + + + + + + +void clear_decoarray(void) +{ +char_O_array_decodepth[0] = 0; +char_O_array_decodepth[1] = 0; +char_O_array_decodepth[2] = 0; +char_O_array_decodepth[3] = 0; +char_O_array_decodepth[4] = 0; +char_O_array_decodepth[5] = 0; +char_O_array_decotime[0] = 0; +char_O_array_decotime[1] = 0; +char_O_array_decotime[2] = 0; +char_O_array_decotime[3] = 0; +char_O_array_decotime[4] = 0; +char_O_array_decotime[5] = 0; +char_O_array_decotime[6] = 0; +} + + + + + + + +void update_decoarray() +{ + x = 0; + do + { + if (char_O_array_decodepth[x] == temp_depth_limit) + { + int_temp = char_O_array_decotime[x] + temp_decotime; + if (int_temp < 0) + int_temp = 0; + if (int_temp > 240) + int_temp = 240; + char_O_array_decotime[x] = int_temp; + x = 10; + } + else + { + if (char_O_array_decodepth[x] == 0) + { + if (temp_depth_limit > 255) + char_O_array_decodepth[x] = 255; + else + char_O_array_decodepth[x] = (char)temp_depth_limit; + int_temp = char_O_array_decotime[x] + temp_decotime; + if (int_temp > 240) + char_O_array_decotime[x] = 240; + else + char_O_array_decotime[x] = (char)int_temp; + x = 10; + } + else + x++; + } + } while (x<6); + if (x == 6) + { + int_temp = char_O_array_decotime[6] + temp_decotime; + if (int_temp > 220) + char_O_array_decotime[6] = 220; + else + char_O_array_decotime[6] = (char)int_temp; + } +} + + + + + + + + +void calc_gradient_factor(void) +{ + + + + + temp_tissue = pres_tissue[char_O_gtissue_no] + pres_tissue[char_O_gtissue_no+16]; + temp1 = temp_tissue - pres_respiration; + temp2 = temp_tissue - pres_tissue_limit[char_O_gtissue_no]; + temp2 = temp1/temp2; + temp2 = temp2 * 100; + if (temp2 < 0) + temp2 = 0; + if (temp2 > 255) + temp2 = 255; + if (temp1 < 0) + char_O_gradient_factor = 0; + else + char_O_gradient_factor = (char)temp2; + + temp3 = temp2; + + if (char_I_deco_model == 1) + { + temp1 = (float)temp_depth_GF_low_meter * 0.09995; + temp2 = pres_respiration - pres_surface; + if (temp2 <= 0) + temp1 = GF_high; + else + if (temp2 >= temp1) + temp1 = GF_low; + else + temp1 = GF_low + (temp1 - temp2)/temp1*GF_delta; + if (temp_depth_GF_low_meter == 0) + temp1 = GF_high; + temp2 = temp3 / temp1; + if (temp2 < 0) + temp2 = 0; + if (temp2 > 255) + temp2 = 255; + char_O_relative_gradient_GF = (char)temp2; + } + else + { + char_O_relative_gradient_GF = char_O_gradient_factor; + } +} + + + + + + + +void calc_gradient_array_only() +{ + pres_respiration = (float)int_I_pres_respiration / 1000.0; +for (ci=0;ci<16;ci++) +{ + temp_tissue = pres_tissue[ci] + pres_tissue[ci+16]; + temp1 = temp_tissue - pres_respiration; + temp2 = temp_tissue - pres_tissue_limit[ci]; + temp2 = temp1/temp2; + temp2 = temp2 * 200; + if (temp2 < 0) + temp2 = 0; + if (temp2 > 255) + temp2 = 255; + if (temp1 < 0) + char_O_array_gradient_weighted[ci] = 0; + else + char_O_array_gradient_weighted[ci] = (char)temp2; +} +} + + + + + + + + +void calc_desaturation_time(void) +{ +_asm +lfsr 1, 0x300 +movlw 0x01 +movwf TBLPTRU,0 +_endasm + N2_ratio = 0.7902; + pres_surface = (float)int_I_pres_surface / 1000.0; + temp_atem = N2_ratio * (pres_surface - 0.0627); + int_O_desaturation_time = 0; + float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; + +for (ci=0;ci<16;ci++) +{ +_asm +movlw 0x04 +movwf TBLPTRH,0 +movlb 4 +movf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addlw 0x80 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var_halftimes+1 +TBLRDPOSTINC +movff TABLAT,var_halftimes +TBLRDPOSTINC +movff TABLAT,var_halftimes+3 +TBLRD +movff TABLAT,var_halftimes+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_halftimes+1 +TBLRDPOSTINC +movff TABLAT,var2_halftimes +TBLRDPOSTINC +movff TABLAT,var2_halftimes+3 +TBLRD +movff TABLAT,var2_halftimes+2 +_endasm + + + + + + + temp1 = 1.05 * temp_atem; + temp1 = temp1 - pres_tissue[ci]; + temp2 = temp_atem - pres_tissue[ci]; + if (temp2 >= 0.0) + { + temp1 = 0; + temp2 = 0; + } + else + temp1 = temp1 / temp2; + if (temp1 > 0.0) + { + temp1 = log(1.0 - temp1); + temp1 = temp1 / -0.6931; + + + temp2 = var_halftimes * temp1 / float_desaturation_multiplier; + } + else + { + temp1 = 0; + temp2 = 0; + } + + + temp3 = 0.1 - pres_tissue[ci+16]; +if (temp3 >= 0.0) + { + temp3 = 0; + temp4 = 0; + } + else + temp3 = -1.0 * temp3 / pres_tissue[ci+16]; + if (temp3 > 0.0) + { + temp3 = log(1.0 - temp3); + temp3 = temp3 / -0.6931; + + + temp4 = var2_halftimes * temp3 / float_desaturation_multiplier; + } + else + { + temp3 = 0; + temp4 = 0; + } + + + if (temp4 > temp2) + int_temp = (int)temp4; + else + int_temp = (int)temp2; + if(int_temp > int_O_desaturation_time) + int_O_desaturation_time = int_temp; + + + temp2 = temp1 * 20.0; + temp2 = temp2 + 80.0; + if (temp2 < 0.0) + temp2 = 0.0; + if (temp2 > 255.0) + temp2 = 255.0; + char_O_tissue_saturation[ci] = (char)temp2; + + temp4 = temp3 * 20.0; + temp4 = temp4 + 80.0; + if (temp4 < 0.0) + temp4 = 0.0; + if (temp4 > 255.0) + temp4 = 255.0; + char_O_tissue_saturation[ci+16] = (char)temp4; +} +} + + + + + + + + + +void calc_wo_deco_step_1_min(void) +{ + if(flag_in_divemode) + { + flag_in_divemode = 0; + set_dbg_end_of_dive(); + } +_asm + lfsr 1, 0x300 +_endasm + N2_ratio = 0.7902; + pres_respiration = (float)int_I_pres_respiration / 1000.0; + pres_surface = (float)int_I_pres_surface / 1000.0; + temp_atem = N2_ratio * (pres_respiration - 0.0627); + temp2_atem = 0.0; + temp_surface = pres_surface; + float_desaturation_multiplier = char_I_desaturation_multiplier / 142.0; + float_saturation_multiplier = char_I_saturation_multiplier / 100.0; + + calc_tissue_step_1_min(); + clear_decoarray(); + char_O_deco_status = 0; + char_O_nullzeit = 0; + char_O_ascenttime = 0; + calc_gradient_factor(); + +} + + + + + + + +void calc_tissue_step_1_min(void) +{ +_asm +lfsr 1, 0x300 +movlw 0x01 +movwf TBLPTRU,0 +_endasm + + char_O_gtissue_no = 255; + pres_gtissue_limit = 0.0; + +for (ci=0;ci<16;ci++) +{ +_asm +movlw 0x02 +movwf TBLPTRH,0 +movlb 4 +movf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addwf ci,0,1 +addlw 0x80 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var_a+1 +TBLRDPOSTINC +movff TABLAT,var_a +TBLRDPOSTINC +movff TABLAT,var_a+3 +TBLRD +movff TABLAT,var_a+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_a+1 +TBLRDPOSTINC +movff TABLAT,var2_a +TBLRDPOSTINC +movff TABLAT,var2_a+3 +TBLRD +movff TABLAT,var2_a+2 +addlw 0x40 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_b+1 +TBLRDPOSTINC +movff TABLAT,var_b +TBLRDPOSTINC +movff TABLAT,var_b+3 +TBLRD +movff TABLAT,var_b+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_b+1 +TBLRDPOSTINC +movff TABLAT,var2_b +TBLRDPOSTINC +movff TABLAT,var2_b+3 +TBLRD +movff TABLAT,var2_b+2 +addlw 0xC0 +movwf TBLPTRL,0 +incf TBLPTRH,1,0 +TBLRDPOSTINC +movff TABLAT,var_e1min+1 +TBLRDPOSTINC +movff TABLAT,var_e1min +TBLRDPOSTINC +movff TABLAT,var_e1min+3 +TBLRD +movff TABLAT,var_e1min+2 +addlw 0x40 +movwf TBLPTRL,0 +TBLRDPOSTINC +movff TABLAT,var2_e1min+1 +TBLRDPOSTINC +movff TABLAT,var2_e1min +TBLRDPOSTINC +movff TABLAT,var2_e1min+3 +TBLRD +movff TABLAT,var2_e1min+2 +_endasm + + + temp_tissue = (temp_atem - pres_tissue[ci]) * var_e1min; + temp_tissue_safety(); + pres_tissue[ci] = pres_tissue[ci] + temp_tissue; + + + temp_tissue = (temp2_atem - pres_tissue[ci+16]) * var2_e1min; + temp_tissue_safety(); + pres_tissue[ci+16] = pres_tissue[ci+16] + temp_tissue; + + temp_tissue = pres_tissue[ci] + pres_tissue[ci+16]; + var_a = (var_a * pres_tissue[ci] + var2_a * pres_tissue[ci+16]) / temp_tissue; + var_b = (var_b * pres_tissue[ci] + var2_b * pres_tissue[ci+16]) / temp_tissue; + pres_tissue_limit[ci] = (temp_tissue - var_a) * var_b; + if (pres_tissue_limit[ci] < 0) + pres_tissue_limit[ci] = 0; + if (pres_tissue_limit[ci] > pres_gtissue_limit) + { + pres_gtissue_limit = pres_tissue_limit[ci]; + char_O_gtissue_no = ci; + } + + + + + + + + + +temp1 = temp_tissue - pres_respiration; +temp2 = temp_tissue - pres_tissue_limit[ci]; +temp2 = temp1/temp2; +temp2 = temp2 * 200; +if (temp2 < 0) + temp2 = 0; +if (temp2 > 255) + temp2 = 255; +if (temp1 < 0) + char_O_array_gradient_weighted[ci] = 0; +else + char_O_array_gradient_weighted[ci] = (char)temp2; + +} +} + +#line 2689 "p2_deco_main - 090915b.c" +#line 2700 "p2_deco_main - 090915b.c" + + + + +void hash(void) +{ + + for (md_i=0;md_i<16;md_i++) + { + md_state[md_i] = 0; + md_cksum[md_i] = 0; + } + +_asm + movlw 0x01 + movwf TBLPTRU,0 + movlw 0x06 + movwf TBLPTRH,0 + movlw 0x00 + movwf TBLPTRL,0 +_endasm + for (md_i=0;md_i<127;md_i++) + { +_asm + TBLRDPOSTINC + movff TABLAT,md_temp +_endasm + md_pi_subst[md_i] = md_temp; + } +_asm + TBLRDPOSTINC + movff TABLAT,md_temp +_endasm + md_pi_subst[127] = md_temp; + for (md_i=0;md_i<127;md_i++) + { +_asm + TBLRDPOSTINC + movff TABLAT,md_temp +_endasm + md_pi_subst[md_i+128] = md_temp; + } +_asm + TBLRD + movff TABLAT,md_temp +_endasm + md_pi_subst[255] = md_temp; + +_asm + movlw 0x00 + movwf TBLPTRU,0 + movlw 0x00 + movwf TBLPTRH,0 + movlw 0x00 + movwf TBLPTRL,0 +_endasm + +for (md_pointer=0x0000;md_pointer<0x17f3;md_pointer++) +{ + md_t = 0; + for (md_i=0;md_i<16;md_i++) + { + if(md_pointer == 9) + md_temp = md_cksum[md_i]; + else + { +_asm + TBLRDPOSTINC + movff TABLAT,md_temp +_endasm + } + md_buffer[md_i] = md_temp; + md_state[md_i+16] = md_buffer[md_i]; + md_state[md_i+32] = (unsigned char)(md_buffer[md_i] ^ md_state[md_i]); + } + + for (md_i=0;md_i<18;md_i++) + { + for (md_j=0;md_j<48;md_j++) + { + md_state[md_j] = (unsigned char)(md_state[md_j] ^ md_pi_subst[md_t]); + md_t = md_state[md_j]; + } + md_t = (unsigned char)(md_t+1); + } + md_t = md_cksum[15]; + + for (md_i=0;md_i<16;md_i++) + { + md_cksum[md_i] = (unsigned char)(md_cksum[md_i] ^ md_pi_subst[(md_buffer[md_i] ^ md_t)]); + md_t = md_cksum[md_i]; + } +} +} + + + + + + +void clear_CNS_fraction(void) +{ + CNS_fraction = 0.0; + char_O_CNS_fraction = 0; +} + + + + + + + + + + + + + +void calc_CNS_fraction(void) +{ + actual_ppO2 = (float)char_I_actual_ppO2 / 100.0; + + if (char_I_actual_ppO2 < 50) + CNS_fraction = CNS_fraction; + else if (char_I_actual_ppO2 < 60) + CNS_fraction = 1/(-54000.0 * actual_ppO2 + 54000.0) + CNS_fraction; + else if (char_I_actual_ppO2 < 70) + CNS_fraction = 1/(-45000.0 * actual_ppO2 + 48600.0) + CNS_fraction; + else if (char_I_actual_ppO2 < 80) + CNS_fraction = 1/(-36000.0 * actual_ppO2 + 42300.0) + CNS_fraction; + else if (char_I_actual_ppO2 < 90) + CNS_fraction = 1/(-27000.0 * actual_ppO2 + 35100.0) + CNS_fraction; + else if (char_I_actual_ppO2 < 110) + CNS_fraction = 1/(-18000.0 * actual_ppO2 + 27000.0) + CNS_fraction; + else if (char_I_actual_ppO2 < 150) + CNS_fraction = 1/(-9000.0 * actual_ppO2 + 17100.0) + CNS_fraction; + else if (char_I_actual_ppO2 < 160) + CNS_fraction = 1/(-22500.0 * actual_ppO2 + 37350.0) + CNS_fraction; + else if (char_I_actual_ppO2 < 165) + CNS_fraction = 0.000755 + CNS_fraction; + else if (char_I_actual_ppO2 < 170) + CNS_fraction = 0.00102 + CNS_fraction; + else if (char_I_actual_ppO2 < 175) + CNS_fraction = 0.00136 + CNS_fraction; + else if (char_I_actual_ppO2 < 180) + CNS_fraction = 0.00180 + CNS_fraction; + else if (char_I_actual_ppO2 < 185) + CNS_fraction = 0.00237 + CNS_fraction; + else if (char_I_actual_ppO2 < 190) + CNS_fraction = 0.00310 + CNS_fraction; + else if (char_I_actual_ppO2 < 195) + CNS_fraction = 0.00401 + CNS_fraction; + else if (char_I_actual_ppO2 < 200) + CNS_fraction = 0.00517 + CNS_fraction; + else if (char_I_actual_ppO2 < 230) + CNS_fraction = 0.0209 + CNS_fraction; + else + CNS_fraction = 0.0482 + CNS_fraction; + + if (CNS_fraction > 2.5) + CNS_fraction = 2.5; + if (CNS_fraction < 0.0) + CNS_fraction = 0.0; + char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0); +} + + + + + + + + + + + +void calc_CNS_decrease_15min(void) +{ + CNS_fraction = 0.890899 * CNS_fraction; + char_O_CNS_fraction = (char)((CNS_fraction + 0.005)* 100.0); +} + + + + + + + + + + +void calc_percentage(void) +{ + temp1 = (float)int_I_temp; + temp2 = (float)char_I_temp / 100.0; + temp3 = temp1 * temp2; + int_I_temp = (int)temp3; +} +void push_tissues_to_vault(void) +{ + for (ci=0;ci<32;ci++) + pres_tissue_vault[ci] = pres_tissue[ci]; +} +void pull_tissues_from_vault(void) +{ + for (ci=0;ci<32;ci++) + pres_tissue[ci] = pres_tissue_vault[ci]; +} + +void wp_write_command(void) +{ + _asm + bcf PORTE,0,0 + movff wp_command,PORTD + bcf PORTA,2,0 + bsf PORTA,2,0 + _endasm +} + +void wp_write_data(void) +{ + wp_data_8bit_one = wp_data_16bit >> 8; + wp_data_8bit_two = wp_data_16bit; +_asm + bsf PORTE,0,0 + movff wp_data_8bit_one,PORTD + bcf PORTA,2,0 + bsf PORTA,2,0 + movff wp_data_8bit_two,PORTD + bcf PORTA,2,0 + bsf PORTA,2,0 +_endasm +} + +void wp_write_black(void) +{ +_asm + movff wp_black,PORTD + bcf PORTA,2,0 + bsf PORTA,2,0 + bcf PORTA,2,0 + bsf PORTA,2,0 +_endasm +} + +void wp_write_color(void) +{ +_asm + movff wp_color1,PORTD + bcf PORTA,2,0 + bsf PORTA,2,0 + movff wp_color2,PORTD + bcf PORTA,2,0 + bsf PORTA,2,0 +_endasm +} + +void wp_set_window(void) +{ + + wp_command = 0x35; + wp_write_command(); + wp_data_16bit = ((unsigned int )wp_leftx2) << 1; + wp_write_data(); + + wp_command = 0x36; + wp_write_command(); + wp_data_16bit = 319; + wp_write_data(); + + wp_command = 0x37; + wp_write_command(); + + wp_data_16bit = wp_top; + if(wp_font == 2) + wp_data_16bit += 58 ; + else if(wp_font == 1) + wp_data_16bit += 32 ; + else + wp_data_16bit += 24 ; + wp_data_16bit--; + if(wp_data_16bit > 239) + wp_data_16bit = 239; + + wp_data_16bit |= ((unsigned int )wp_top) << 8; + + wp_write_data(); + + + wp_command = 0x20; + wp_write_command(); + wp_data_16bit = wp_top; + wp_write_data(); + + wp_command = 0x21; + wp_write_command(); + wp_data_16bit = ((unsigned int )wp_leftx2) << 1; + wp_write_data(); +} + +void wp_set_char_font_small(void) +{ + if (wp_char == ' ') + wp_char = '¶'; + + if((wp_char < '!') || (wp_char > '¶')) + wp_char = '¤'; + + if (wp_char > 0x7E) + wp_char -= 34; + + wp_start = wp_small_table[wp_char - '!']; + wp_end = wp_small_table[1 + wp_char - '!']; +} + +void wp_set_char_font_medium(void) +{ + + if (wp_char == 0x27) + wp_char = 0x3B; + if (wp_char == '"') + wp_char = 0x3C; + if (wp_char == 'm') + wp_char = 0x3D; + if (wp_char == ' ') + wp_char = 0x3E; + + if((wp_char < '.') || (wp_char > 0x3E)) + wp_char = 0x3E; + wp_start = wp_medium_table[wp_char - '.']; + wp_end = wp_medium_table[1 + wp_char - '.']; +} + +void wp_set_char_font_large(void) +{ + + if (wp_char == ' ') + wp_char = 0x2F; + + if((wp_char < '.') || (wp_char > '9')) + wp_char = 0x2F; + wp_start = wp_large_table[wp_char - '.']; + wp_end = wp_large_table[1 + wp_char - '.']; +} + +void wordprocessor(void) +{ + wp_set_window(); + + + wp_command = 0x22; + wp_write_command(); + _asm + bsf PORTE,0,0 + _endasm + + wp_txtptr = 0; + wp_char = wp_stringstore[wp_txtptr]; + + while(wp_char) + { + if(wp_font == 2) + wp_set_char_font_large(); + else if(wp_font == 1) + wp_set_char_font_medium(); + else + wp_set_char_font_small(); + + wp_black = 0; + + for(wp_i = wp_start; wp_i<wp_end;wp_i++) + { + if(wp_font == 2) + wp_data_16bit = wp_large_data[wp_i / 2]; + else if(wp_font == 1) + wp_data_16bit = wp_medium_data[wp_i / 2]; + else + wp_data_16bit = wp_small_data[wp_i / 2]; + if(wp_i & 1) + wp_temp_U8 = wp_data_16bit & 0xFF; + else + wp_temp_U8 = wp_data_16bit >> 8; + if((wp_temp_U8 & 128)) + { + wp_temp_U8 -= 127; + if(wp_invert) + { + while(wp_temp_U8 > 0) + { + wp_temp_U8--; + wp_write_color(); + } + } + else + { + _asm + movff wp_black,PORTD + _endasm + while(wp_temp_U8 > 0) + { + wp_temp_U8--; + _asm + bcf PORTA,2,0 + bsf PORTA,2,0 + bcf PORTA,2,0 + bsf PORTA,2,0 + _endasm + } + } + } + else + { + wp_temp_U8++; + if(wp_invert) + { + _asm + movff wp_black,PORTD + _endasm + while(wp_temp_U8 > 0) + { + wp_temp_U8--; + _asm + bcf PORTA,2,0 + bsf PORTA,2,0 + bcf PORTA,2,0 + bsf PORTA,2,0 + _endasm + } + } + else + { + while(wp_temp_U8 > 0) + { + wp_temp_U8--; + wp_write_color(); + } + } + } + } + wp_txtptr++; + wp_char = wp_stringstore[wp_txtptr]; + } + wp_command = 0x00; + wp_write_command(); +}