<p>Harald Welte has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12529">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">firmware: Port to more modern SDCC syntax.<br><br>SDCC, at least from version 3 onwards, has change the names of special<br>attributes like "at" or "sfr".  They are now all prefixed with double-<br>underscores.<br><br>Upstream fx2lib has made that change in commit 3071389d9a868ed553b84809b399008648536fcf<br>which can be obtained from<br>https://github.com/djmuhlestein/fx2lib/pull/1/commits/3071389d9a868ed553b84809b399008648536fcf<br><br>Change-Id: I5df64bc3cc09402bdfacec9c256e96135e3688fd<br>---<br>M firmware/include/fx2regs.h<br>M firmware/include/i2c.h<br>M firmware/include/syncdelay.h<br>M firmware/include/usb_common.h<br>M firmware/include/usb_descriptors.h<br>M firmware/lib/delay.c<br>M firmware/lib/i2c.c<br>M firmware/lib/isr.c<br>M firmware/lib/usb_common.c<br>M firmware/src/common/fpga_load.c<br>M firmware/src/common/fpga_load.h<br>M firmware/src/usrp2/board_specific.c<br>M firmware/src/usrp2/eeprom_init.c<br>M firmware/src/usrp2/eeprom_io.c<br>M firmware/src/usrp2/eeprom_io.h<br>M firmware/src/usrp2/fpga_rev2.c<br>M firmware/src/usrp2/spi.c<br>M firmware/src/usrp2/spi.h<br>M firmware/src/usrp2/usrp_main.c<br>M firmware/src/usrp2/usrp_rev2_regs.h<br>20 files changed, 434 insertions(+), 434 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/29/12529/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/firmware/include/fx2regs.h b/firmware/include/fx2regs.h</span><br><span>index 2f210f5..dec5164 100644</span><br><span>--- a/firmware/include/fx2regs.h</span><br><span>+++ b/firmware/include/fx2regs.h</span><br><span>@@ -48,14 +48,14 @@</span><br><span> // The Ez-USB FX2 registers are defined here. We use FX2regs.h for register </span><br><span> // address allocation by using "#define ALLOCATE_EXTERN". </span><br><span> // When using "#define ALLOCATE_EXTERN", you get (for instance): </span><br><span style="color: hsl(0, 100%, 40%);">-// xdata volatile BYTE OUT7BUF[64]   _at_   0x7B40;</span><br><span style="color: hsl(120, 100%, 40%);">+// __xdata volatile BYTE OUT7BUF[64]   _at_   0x7B40;</span><br><span> // Such lines are created from FX2.h by using the preprocessor. </span><br><span> // Incidently, these lines will not generate any space in the resulting hex </span><br><span> // file; they just bind the symbols to the addresses for compilation. </span><br><span> // You just need to put "#define ALLOCATE_EXTERN" in your main program file; </span><br><span> // i.e. fw.c or a stand-alone C source file. </span><br><span> // Without "#define ALLOCATE_EXTERN", you just get the external reference: </span><br><span style="color: hsl(0, 100%, 40%);">-// extern xdata volatile BYTE OUT7BUF[64]   ;//   0x7B40;</span><br><span style="color: hsl(120, 100%, 40%);">+// extern __xdata volatile BYTE OUT7BUF[64]   ;//   0x7B40;</span><br><span> // This uses the concatenation operator "##" to insert a comment "//" </span><br><span> // to cut off the end of the line, "_at_   0x7B40;", which is not wanted.</span><br><span> */</span><br><span>@@ -63,7 +63,7 @@</span><br><span> </span><br><span> #ifdef ALLOCATE_EXTERN</span><br><span> #define EXTERN</span><br><span style="color: hsl(0, 100%, 40%);">-#define _AT_(a) at a</span><br><span style="color: hsl(120, 100%, 40%);">+#define _AT_(a) __at a</span><br><span> #else</span><br><span> #define EXTERN extern</span><br><span> #define _AT_ ;/ ## /</span><br><span>@@ -72,163 +72,163 @@</span><br><span> typedef unsigned char BYTE;</span><br><span> typedef unsigned short WORD;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE400) volatile BYTE GPIF_WAVE_DATA[128];</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE480) volatile BYTE RES_WAVEDATA_END  ;</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE400) volatile BYTE GPIF_WAVE_DATA[128];</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE480) volatile BYTE RES_WAVEDATA_END  ;</span><br><span> </span><br><span> // General Configuration</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE600) volatile BYTE CPUCS             ;  // Control & Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE601) volatile BYTE IFCONFIG          ;  // Interface Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE602) volatile BYTE PINFLAGSAB        ;  // FIFO FLAGA and FLAGB Assignments</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE603) volatile BYTE PINFLAGSCD        ;  // FIFO FLAGC and FLAGD Assignments</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE604) volatile BYTE FIFORESET         ;  // Restore FIFOS to default state</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE605) volatile BYTE BREAKPT           ;  // Breakpoint</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE606) volatile BYTE BPADDRH           ;  // Breakpoint Address H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE607) volatile BYTE BPADDRL           ;  // Breakpoint Address L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE608) volatile BYTE UART230           ;  // 230 Kbaud clock for T0,T1,T2</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE609) volatile BYTE FIFOPINPOLAR      ;  // FIFO polarities</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE60A) volatile BYTE REVID             ;  // Chip Revision</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE60B) volatile BYTE REVCTL            ;  // Chip Revision Control</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE600) volatile BYTE CPUCS             ;  // Control & Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE601) volatile BYTE IFCONFIG          ;  // Interface Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE602) volatile BYTE PINFLAGSAB        ;  // FIFO FLAGA and FLAGB Assignments</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE603) volatile BYTE PINFLAGSCD        ;  // FIFO FLAGC and FLAGD Assignments</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE604) volatile BYTE FIFORESET         ;  // Restore FIFOS to default state</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE605) volatile BYTE BREAKPT           ;  // Breakpoint</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE606) volatile BYTE BPADDRH           ;  // Breakpoint Address H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE607) volatile BYTE BPADDRL           ;  // Breakpoint Address L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE608) volatile BYTE UART230           ;  // 230 Kbaud clock for T0,T1,T2</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE609) volatile BYTE FIFOPINPOLAR      ;  // FIFO polarities</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE60A) volatile BYTE REVID             ;  // Chip Revision</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE60B) volatile BYTE REVCTL            ;  // Chip Revision Control</span><br><span> </span><br><span> // Endpoint Configuration</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE610) volatile BYTE EP1OUTCFG         ;  // Endpoint 1-OUT Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE611) volatile BYTE EP1INCFG          ;  // Endpoint 1-IN Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE612) volatile BYTE EP2CFG            ;  // Endpoint 2 Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE613) volatile BYTE EP4CFG            ;  // Endpoint 4 Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE614) volatile BYTE EP6CFG            ;  // Endpoint 6 Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE615) volatile BYTE EP8CFG            ;  // Endpoint 8 Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE618) volatile BYTE EP2FIFOCFG        ;  // Endpoint 2 FIFO configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE619) volatile BYTE EP4FIFOCFG        ;  // Endpoint 4 FIFO configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE61A) volatile BYTE EP6FIFOCFG        ;  // Endpoint 6 FIFO configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE61B) volatile BYTE EP8FIFOCFG        ;  // Endpoint 8 FIFO configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE620) volatile BYTE EP2AUTOINLENH     ;  // Endpoint 2 Packet Length H (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE621) volatile BYTE EP2AUTOINLENL     ;  // Endpoint 2 Packet Length L (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE622) volatile BYTE EP4AUTOINLENH     ;  // Endpoint 4 Packet Length H (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE623) volatile BYTE EP4AUTOINLENL     ;  // Endpoint 4 Packet Length L (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE624) volatile BYTE EP6AUTOINLENH     ;  // Endpoint 6 Packet Length H (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE625) volatile BYTE EP6AUTOINLENL     ;  // Endpoint 6 Packet Length L (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE626) volatile BYTE EP8AUTOINLENH     ;  // Endpoint 8 Packet Length H (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE627) volatile BYTE EP8AUTOINLENL     ;  // Endpoint 8 Packet Length L (IN only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE630) volatile BYTE EP2FIFOPFH        ;  // EP2 Programmable Flag trigger H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE631) volatile BYTE EP2FIFOPFL        ;  // EP2 Programmable Flag trigger L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE632) volatile BYTE EP4FIFOPFH        ;  // EP4 Programmable Flag trigger H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE633) volatile BYTE EP4FIFOPFL        ;  // EP4 Programmable Flag trigger L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE634) volatile BYTE EP6FIFOPFH        ;  // EP6 Programmable Flag trigger H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE635) volatile BYTE EP6FIFOPFL        ;  // EP6 Programmable Flag trigger L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE636) volatile BYTE EP8FIFOPFH        ;  // EP8 Programmable Flag trigger H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE637) volatile BYTE EP8FIFOPFL        ;  // EP8 Programmable Flag trigger L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE640) volatile BYTE EP2ISOINPKTS      ;  // EP2 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE641) volatile BYTE EP4ISOINPKTS      ;  // EP4 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE642) volatile BYTE EP6ISOINPKTS      ;  // EP6 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE643) volatile BYTE EP8ISOINPKTS      ;  // EP8 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE648) volatile BYTE INPKTEND          ;  // Force IN Packet End</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE649) volatile BYTE OUTPKTEND         ;  // Force OUT Packet End</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE610) volatile BYTE EP1OUTCFG         ;  // Endpoint 1-OUT Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE611) volatile BYTE EP1INCFG          ;  // Endpoint 1-IN Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE612) volatile BYTE EP2CFG            ;  // Endpoint 2 Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE613) volatile BYTE EP4CFG            ;  // Endpoint 4 Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE614) volatile BYTE EP6CFG            ;  // Endpoint 6 Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE615) volatile BYTE EP8CFG            ;  // Endpoint 8 Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE618) volatile BYTE EP2FIFOCFG        ;  // Endpoint 2 FIFO configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE619) volatile BYTE EP4FIFOCFG        ;  // Endpoint 4 FIFO configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE61A) volatile BYTE EP6FIFOCFG        ;  // Endpoint 6 FIFO configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE61B) volatile BYTE EP8FIFOCFG        ;  // Endpoint 8 FIFO configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE620) volatile BYTE EP2AUTOINLENH     ;  // Endpoint 2 Packet Length H (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE621) volatile BYTE EP2AUTOINLENL     ;  // Endpoint 2 Packet Length L (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE622) volatile BYTE EP4AUTOINLENH     ;  // Endpoint 4 Packet Length H (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE623) volatile BYTE EP4AUTOINLENL     ;  // Endpoint 4 Packet Length L (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE624) volatile BYTE EP6AUTOINLENH     ;  // Endpoint 6 Packet Length H (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE625) volatile BYTE EP6AUTOINLENL     ;  // Endpoint 6 Packet Length L (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE626) volatile BYTE EP8AUTOINLENH     ;  // Endpoint 8 Packet Length H (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE627) volatile BYTE EP8AUTOINLENL     ;  // Endpoint 8 Packet Length L (IN only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE630) volatile BYTE EP2FIFOPFH        ;  // EP2 Programmable Flag trigger H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE631) volatile BYTE EP2FIFOPFL        ;  // EP2 Programmable Flag trigger L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE632) volatile BYTE EP4FIFOPFH        ;  // EP4 Programmable Flag trigger H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE633) volatile BYTE EP4FIFOPFL        ;  // EP4 Programmable Flag trigger L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE634) volatile BYTE EP6FIFOPFH        ;  // EP6 Programmable Flag trigger H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE635) volatile BYTE EP6FIFOPFL        ;  // EP6 Programmable Flag trigger L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE636) volatile BYTE EP8FIFOPFH        ;  // EP8 Programmable Flag trigger H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE637) volatile BYTE EP8FIFOPFL        ;  // EP8 Programmable Flag trigger L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE640) volatile BYTE EP2ISOINPKTS      ;  // EP2 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE641) volatile BYTE EP4ISOINPKTS      ;  // EP4 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE642) volatile BYTE EP6ISOINPKTS      ;  // EP6 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE643) volatile BYTE EP8ISOINPKTS      ;  // EP8 (if ISO) IN Packets per frame (1-3)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE648) volatile BYTE INPKTEND          ;  // Force IN Packet End</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE649) volatile BYTE OUTPKTEND         ;  // Force OUT Packet End</span><br><span> </span><br><span> // Interrupts</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE650) volatile BYTE EP2FIFOIE         ;  // Endpoint 2 Flag Interrupt Enable</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE651) volatile BYTE EP2FIFOIRQ        ;  // Endpoint 2 Flag Interrupt Request</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE652) volatile BYTE EP4FIFOIE         ;  // Endpoint 4 Flag Interrupt Enable</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE653) volatile BYTE EP4FIFOIRQ        ;  // Endpoint 4 Flag Interrupt Request</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE654) volatile BYTE EP6FIFOIE         ;  // Endpoint 6 Flag Interrupt Enable</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE655) volatile BYTE EP6FIFOIRQ        ;  // Endpoint 6 Flag Interrupt Request</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE656) volatile BYTE EP8FIFOIE         ;  // Endpoint 8 Flag Interrupt Enable</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE657) volatile BYTE EP8FIFOIRQ        ;  // Endpoint 8 Flag Interrupt Request</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE658) volatile BYTE IBNIE             ;  // IN-BULK-NAK Interrupt Enable</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE659) volatile BYTE IBNIRQ            ;  // IN-BULK-NAK interrupt Request</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE65A) volatile BYTE NAKIE             ;  // Endpoint Ping NAK interrupt Enable</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE65B) volatile BYTE NAKIRQ            ;  // Endpoint Ping NAK interrupt Request</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE65C) volatile BYTE USBIE             ;  // USB Int Enables</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE65D) volatile BYTE USBIRQ            ;  // USB Interrupt Requests</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE65E) volatile BYTE EPIE              ;  // Endpoint Interrupt Enables</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE65F) volatile BYTE EPIRQ             ;  // Endpoint Interrupt Requests</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE660) volatile BYTE GPIFIE            ;  // GPIF Interrupt Enable</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE661) volatile BYTE GPIFIRQ           ;  // GPIF Interrupt Request</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE662) volatile BYTE USBERRIE          ;  // USB Error Interrupt Enables</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE663) volatile BYTE USBERRIRQ         ;  // USB Error Interrupt Requests</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE664) volatile BYTE ERRCNTLIM         ;  // USB Error counter and limit</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE665) volatile BYTE CLRERRCNT         ;  // Clear Error Counter EC[3..0]</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE666) volatile BYTE INT2IVEC          ;  // Interupt 2 (USB) Autovector</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE667) volatile BYTE INT4IVEC          ;  // Interupt 4 (FIFOS & GPIF) Autovector</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE668) volatile BYTE INTSETUP          ;  // Interrupt 2&4 Setup</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE650) volatile BYTE EP2FIFOIE         ;  // Endpoint 2 Flag Interrupt Enable</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE651) volatile BYTE EP2FIFOIRQ        ;  // Endpoint 2 Flag Interrupt Request</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE652) volatile BYTE EP4FIFOIE         ;  // Endpoint 4 Flag Interrupt Enable</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE653) volatile BYTE EP4FIFOIRQ        ;  // Endpoint 4 Flag Interrupt Request</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE654) volatile BYTE EP6FIFOIE         ;  // Endpoint 6 Flag Interrupt Enable</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE655) volatile BYTE EP6FIFOIRQ        ;  // Endpoint 6 Flag Interrupt Request</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE656) volatile BYTE EP8FIFOIE         ;  // Endpoint 8 Flag Interrupt Enable</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE657) volatile BYTE EP8FIFOIRQ        ;  // Endpoint 8 Flag Interrupt Request</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE658) volatile BYTE IBNIE             ;  // IN-BULK-NAK Interrupt Enable</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE659) volatile BYTE IBNIRQ            ;  // IN-BULK-NAK interrupt Request</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE65A) volatile BYTE NAKIE             ;  // Endpoint Ping NAK interrupt Enable</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE65B) volatile BYTE NAKIRQ            ;  // Endpoint Ping NAK interrupt Request</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE65C) volatile BYTE USBIE             ;  // USB Int Enables</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE65D) volatile BYTE USBIRQ            ;  // USB Interrupt Requests</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE65E) volatile BYTE EPIE              ;  // Endpoint Interrupt Enables</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE65F) volatile BYTE EPIRQ             ;  // Endpoint Interrupt Requests</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE660) volatile BYTE GPIFIE            ;  // GPIF Interrupt Enable</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE661) volatile BYTE GPIFIRQ           ;  // GPIF Interrupt Request</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE662) volatile BYTE USBERRIE          ;  // USB Error Interrupt Enables</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE663) volatile BYTE USBERRIRQ         ;  // USB Error Interrupt Requests</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE664) volatile BYTE ERRCNTLIM         ;  // USB Error counter and limit</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE665) volatile BYTE CLRERRCNT         ;  // Clear Error Counter EC[3..0]</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE666) volatile BYTE INT2IVEC          ;  // Interupt 2 (USB) Autovector</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE667) volatile BYTE INT4IVEC          ;  // Interupt 4 (FIFOS & GPIF) Autovector</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE668) volatile BYTE INTSETUP          ;  // Interrupt 2&4 Setup</span><br><span> </span><br><span> // Input/Output</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE670) volatile BYTE PORTACFG          ;  // I/O PORTA Alternate Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE671) volatile BYTE PORTCCFG          ;  // I/O PORTC Alternate Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE672) volatile BYTE PORTECFG          ;  // I/O PORTE Alternate Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE678) volatile BYTE I2CS              ;  // Control & Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE679) volatile BYTE I2DAT             ;  // Data</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE67A) volatile BYTE I2CTL             ;  // I2C Control</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE67B) volatile BYTE XAUTODAT1         ;  // Autoptr1 MOVX access</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE67C) volatile BYTE XAUTODAT2         ;  // Autoptr2 MOVX access</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE670) volatile BYTE PORTACFG          ;  // I/O PORTA Alternate Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE671) volatile BYTE PORTCCFG          ;  // I/O PORTC Alternate Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE672) volatile BYTE PORTECFG          ;  // I/O PORTE Alternate Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE678) volatile BYTE I2CS              ;  // Control & Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE679) volatile BYTE I2DAT             ;  // Data</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE67A) volatile BYTE I2CTL             ;  // I2C Control</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE67B) volatile BYTE XAUTODAT1         ;  // Autoptr1 MOVX access</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE67C) volatile BYTE XAUTODAT2         ;  // Autoptr2 MOVX access</span><br><span> </span><br><span> #define EXTAUTODAT1 XAUTODAT1</span><br><span> #define EXTAUTODAT2 XAUTODAT2</span><br><span> </span><br><span> // USB Control</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE680) volatile BYTE USBCS             ;  // USB Control & Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE681) volatile BYTE SUSPEND           ;  // Put chip into suspend</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE682) volatile BYTE WAKEUPCS          ;  // Wakeup source and polarity</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE683) volatile BYTE TOGCTL            ;  // Toggle Control</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE684) volatile BYTE USBFRAMEH         ;  // USB Frame count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE685) volatile BYTE USBFRAMEL         ;  // USB Frame count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE686) volatile BYTE MICROFRAME        ;  // Microframe count, 0-7</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE687) volatile BYTE FNADDR            ;  // USB Function address</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE680) volatile BYTE USBCS             ;  // USB Control & Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE681) volatile BYTE SUSPEND           ;  // Put chip into suspend</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE682) volatile BYTE WAKEUPCS          ;  // Wakeup source and polarity</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE683) volatile BYTE TOGCTL            ;  // Toggle Control</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE684) volatile BYTE USBFRAMEH         ;  // USB Frame count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE685) volatile BYTE USBFRAMEL         ;  // USB Frame count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE686) volatile BYTE MICROFRAME        ;  // Microframe count, 0-7</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE687) volatile BYTE FNADDR            ;  // USB Function address</span><br><span> </span><br><span> // Endpoints</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE68A) volatile BYTE EP0BCH            ;  // Endpoint 0 Byte Count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE68B) volatile BYTE EP0BCL            ;  // Endpoint 0 Byte Count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE68D) volatile BYTE EP1OUTBC          ;  // Endpoint 1 OUT Byte Count</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE68F) volatile BYTE EP1INBC           ;  // Endpoint 1 IN Byte Count</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE690) volatile BYTE EP2BCH            ;  // Endpoint 2 Byte Count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE691) volatile BYTE EP2BCL            ;  // Endpoint 2 Byte Count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE694) volatile BYTE EP4BCH            ;  // Endpoint 4 Byte Count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE695) volatile BYTE EP4BCL            ;  // Endpoint 4 Byte Count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE698) volatile BYTE EP6BCH            ;  // Endpoint 6 Byte Count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE699) volatile BYTE EP6BCL            ;  // Endpoint 6 Byte Count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE69C) volatile BYTE EP8BCH            ;  // Endpoint 8 Byte Count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE69D) volatile BYTE EP8BCL            ;  // Endpoint 8 Byte Count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A0) volatile BYTE EP0CS             ;  // Endpoint  Control and Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A1) volatile BYTE EP1OUTCS          ;  // Endpoint 1 OUT Control and Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A2) volatile BYTE EP1INCS           ;  // Endpoint 1 IN Control and Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A3) volatile BYTE EP2CS             ;  // Endpoint 2 Control and Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A4) volatile BYTE EP4CS             ;  // Endpoint 4 Control and Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A5) volatile BYTE EP6CS             ;  // Endpoint 6 Control and Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A6) volatile BYTE EP8CS             ;  // Endpoint 8 Control and Status</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A7) volatile BYTE EP2FIFOFLGS       ;  // Endpoint 2 Flags</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A8) volatile BYTE EP4FIFOFLGS       ;  // Endpoint 4 Flags</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6A9) volatile BYTE EP6FIFOFLGS       ;  // Endpoint 6 Flags</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6AA) volatile BYTE EP8FIFOFLGS       ;  // Endpoint 8 Flags</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6AB) volatile BYTE EP2FIFOBCH        ;  // EP2 FIFO total byte count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6AC) volatile BYTE EP2FIFOBCL        ;  // EP2 FIFO total byte count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6AD) volatile BYTE EP4FIFOBCH        ;  // EP4 FIFO total byte count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6AE) volatile BYTE EP4FIFOBCL        ;  // EP4 FIFO total byte count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6AF) volatile BYTE EP6FIFOBCH        ;  // EP6 FIFO total byte count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6B0) volatile BYTE EP6FIFOBCL        ;  // EP6 FIFO total byte count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6B1) volatile BYTE EP8FIFOBCH        ;  // EP8 FIFO total byte count H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6B2) volatile BYTE EP8FIFOBCL        ;  // EP8 FIFO total byte count L</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6B3) volatile BYTE SUDPTRH           ;  // Setup Data Pointer high address byte</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6B4) volatile BYTE SUDPTRL           ;  // Setup Data Pointer low address byte</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6B5) volatile BYTE SUDPTRCTL         ;  // Setup Data Pointer Auto Mode</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6B8) volatile BYTE SETUPDAT[8]       ;  // 8 bytes of SETUP data</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE68A) volatile BYTE EP0BCH            ;  // Endpoint 0 Byte Count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE68B) volatile BYTE EP0BCL            ;  // Endpoint 0 Byte Count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE68D) volatile BYTE EP1OUTBC          ;  // Endpoint 1 OUT Byte Count</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE68F) volatile BYTE EP1INBC           ;  // Endpoint 1 IN Byte Count</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE690) volatile BYTE EP2BCH            ;  // Endpoint 2 Byte Count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE691) volatile BYTE EP2BCL            ;  // Endpoint 2 Byte Count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE694) volatile BYTE EP4BCH            ;  // Endpoint 4 Byte Count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE695) volatile BYTE EP4BCL            ;  // Endpoint 4 Byte Count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE698) volatile BYTE EP6BCH            ;  // Endpoint 6 Byte Count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE699) volatile BYTE EP6BCL            ;  // Endpoint 6 Byte Count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE69C) volatile BYTE EP8BCH            ;  // Endpoint 8 Byte Count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE69D) volatile BYTE EP8BCL            ;  // Endpoint 8 Byte Count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A0) volatile BYTE EP0CS             ;  // Endpoint  Control and Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A1) volatile BYTE EP1OUTCS          ;  // Endpoint 1 OUT Control and Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A2) volatile BYTE EP1INCS           ;  // Endpoint 1 IN Control and Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A3) volatile BYTE EP2CS             ;  // Endpoint 2 Control and Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A4) volatile BYTE EP4CS             ;  // Endpoint 4 Control and Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A5) volatile BYTE EP6CS             ;  // Endpoint 6 Control and Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A6) volatile BYTE EP8CS             ;  // Endpoint 8 Control and Status</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A7) volatile BYTE EP2FIFOFLGS       ;  // Endpoint 2 Flags</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A8) volatile BYTE EP4FIFOFLGS       ;  // Endpoint 4 Flags</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6A9) volatile BYTE EP6FIFOFLGS       ;  // Endpoint 6 Flags</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6AA) volatile BYTE EP8FIFOFLGS       ;  // Endpoint 8 Flags</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6AB) volatile BYTE EP2FIFOBCH        ;  // EP2 FIFO total byte count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6AC) volatile BYTE EP2FIFOBCL        ;  // EP2 FIFO total byte count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6AD) volatile BYTE EP4FIFOBCH        ;  // EP4 FIFO total byte count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6AE) volatile BYTE EP4FIFOBCL        ;  // EP4 FIFO total byte count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6AF) volatile BYTE EP6FIFOBCH        ;  // EP6 FIFO total byte count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6B0) volatile BYTE EP6FIFOBCL        ;  // EP6 FIFO total byte count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6B1) volatile BYTE EP8FIFOBCH        ;  // EP8 FIFO total byte count H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6B2) volatile BYTE EP8FIFOBCL        ;  // EP8 FIFO total byte count L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6B3) volatile BYTE SUDPTRH           ;  // Setup Data Pointer high address byte</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6B4) volatile BYTE SUDPTRL           ;  // Setup Data Pointer low address byte</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6B5) volatile BYTE SUDPTRCTL         ;  // Setup Data Pointer Auto Mode</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6B8) volatile BYTE SETUPDAT[8]       ;  // 8 bytes of SETUP data</span><br><span> </span><br><span> // GPIF</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C0) volatile BYTE GPIFWFSELECT      ;  // Waveform Selector</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C1) volatile BYTE GPIFIDLECS        ;  // GPIF Done, GPIF IDLE drive mode</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C2) volatile BYTE GPIFIDLECTL       ;  // Inactive Bus, CTL states</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C3) volatile BYTE GPIFCTLCFG        ;  // CTL OUT pin drive</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C4) volatile BYTE GPIFADRH          ;  // GPIF Address H</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C5) volatile BYTE GPIFADRL          ;  // GPIF Address L</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C0) volatile BYTE GPIFWFSELECT      ;  // Waveform Selector</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C1) volatile BYTE GPIFIDLECS        ;  // GPIF Done, GPIF IDLE drive mode</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C2) volatile BYTE GPIFIDLECTL       ;  // Inactive Bus, CTL states</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C3) volatile BYTE GPIFCTLCFG        ;  // CTL OUT pin drive</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C4) volatile BYTE GPIFADRH          ;  // GPIF Address H</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C5) volatile BYTE GPIFADRL          ;  // GPIF Address L</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6CE) volatile BYTE GPIFTCB3          ;  // GPIF Transaction Count Byte 3</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6CF) volatile BYTE GPIFTCB2          ;  // GPIF Transaction Count Byte 2</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6D0) volatile BYTE GPIFTCB1          ;  // GPIF Transaction Count Byte 1</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6D1) volatile BYTE GPIFTCB0          ;  // GPIF Transaction Count Byte 0</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6CE) volatile BYTE GPIFTCB3          ;  // GPIF Transaction Count Byte 3</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6CF) volatile BYTE GPIFTCB2          ;  // GPIF Transaction Count Byte 2</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6D0) volatile BYTE GPIFTCB1          ;  // GPIF Transaction Count Byte 1</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6D1) volatile BYTE GPIFTCB0          ;  // GPIF Transaction Count Byte 0</span><br><span> </span><br><span> #define EP2GPIFTCH GPIFTCB1   // these are here for backwards compatibility</span><br><span> #define EP2GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)</span><br><span>@@ -239,68 +239,68 @@</span><br><span> #define EP8GPIFTCH GPIFTCB1   // these are here for backwards compatibility</span><br><span> #define EP8GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP2GPIFTCH     _AT_ 0xE6D0;  // EP2 GPIF Transaction Count High</span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP2GPIFTCL     _AT_ 0xE6D1;  // EP2 GPIF Transaction Count Low</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6D2) volatile BYTE EP2GPIFFLGSEL     ;  // EP2 GPIF Flag select</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6D3) volatile BYTE EP2GPIFPFSTOP     ;  // Stop GPIF EP2 transaction on prog. flag</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6D4) volatile BYTE EP2GPIFTRIG       ;  // EP2 FIFO Trigger</span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP4GPIFTCH     _AT_ 0xE6D8;  // EP4 GPIF Transaction Count High</span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP4GPIFTCL     _AT_ 0xE6D9;  // EP4 GPIF Transactionr Count Low</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6DA) volatile BYTE EP4GPIFFLGSEL     ;  // EP4 GPIF Flag select</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6DB) volatile BYTE EP4GPIFPFSTOP     ;  // Stop GPIF EP4 transaction on prog. flag</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6DC) volatile BYTE EP4GPIFTRIG       ;  // EP4 FIFO Trigger</span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP6GPIFTCH     _AT_ 0xE6E0;  // EP6 GPIF Transaction Count High</span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP6GPIFTCL     _AT_ 0xE6E1;  // EP6 GPIF Transaction Count Low</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6E2) volatile BYTE EP6GPIFFLGSEL     ;  // EP6 GPIF Flag select</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6E3) volatile BYTE EP6GPIFPFSTOP     ;  // Stop GPIF EP6 transaction on prog. flag</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6E4) volatile BYTE EP6GPIFTRIG       ;  // EP6 FIFO Trigger</span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP8GPIFTCH     _AT_ 0xE6E8;  // EP8 GPIF Transaction Count High</span><br><span style="color: hsl(0, 100%, 40%);">-// EXTERN xdata volatile BYTE EP8GPIFTCL     _AT_ 0xE6E9;  // EP8GPIF Transaction Count Low</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6EA) volatile BYTE EP8GPIFFLGSEL     ;  // EP8 GPIF Flag select</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6EB) volatile BYTE EP8GPIFPFSTOP     ;  // Stop GPIF EP8 transaction on prog. flag</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6EC) volatile BYTE EP8GPIFTRIG       ;  // EP8 FIFO Trigger</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F0) volatile BYTE XGPIFSGLDATH      ;  // GPIF Data H (16-bit mode only)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F1) volatile BYTE XGPIFSGLDATLX     ;  // Read/Write GPIF Data L & trigger transac</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F2) volatile BYTE XGPIFSGLDATLNOX   ;  // Read GPIF Data L, no transac trigger</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F3) volatile BYTE GPIFREADYCFG      ;  // Internal RDY,Sync/Async, RDY5CFG</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F4) volatile BYTE GPIFREADYSTAT     ;  // RDY pin states</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F5) volatile BYTE GPIFABORT         ;  // Abort GPIF cycles</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP2GPIFTCH     _AT_ 0xE6D0;  // EP2 GPIF Transaction Count High</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP2GPIFTCL     _AT_ 0xE6D1;  // EP2 GPIF Transaction Count Low</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6D2) volatile BYTE EP2GPIFFLGSEL     ;  // EP2 GPIF Flag select</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6D3) volatile BYTE EP2GPIFPFSTOP     ;  // Stop GPIF EP2 transaction on prog. flag</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6D4) volatile BYTE EP2GPIFTRIG       ;  // EP2 FIFO Trigger</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP4GPIFTCH     _AT_ 0xE6D8;  // EP4 GPIF Transaction Count High</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP4GPIFTCL     _AT_ 0xE6D9;  // EP4 GPIF Transactionr Count Low</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6DA) volatile BYTE EP4GPIFFLGSEL     ;  // EP4 GPIF Flag select</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6DB) volatile BYTE EP4GPIFPFSTOP     ;  // Stop GPIF EP4 transaction on prog. flag</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6DC) volatile BYTE EP4GPIFTRIG       ;  // EP4 FIFO Trigger</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP6GPIFTCH     _AT_ 0xE6E0;  // EP6 GPIF Transaction Count High</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP6GPIFTCL     _AT_ 0xE6E1;  // EP6 GPIF Transaction Count Low</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6E2) volatile BYTE EP6GPIFFLGSEL     ;  // EP6 GPIF Flag select</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6E3) volatile BYTE EP6GPIFPFSTOP     ;  // Stop GPIF EP6 transaction on prog. flag</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6E4) volatile BYTE EP6GPIFTRIG       ;  // EP6 FIFO Trigger</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP8GPIFTCH     _AT_ 0xE6E8;  // EP8 GPIF Transaction Count High</span><br><span style="color: hsl(120, 100%, 40%);">+// EXTERN __xdata volatile BYTE EP8GPIFTCL     _AT_ 0xE6E9;  // EP8GPIF Transaction Count Low</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6EA) volatile BYTE EP8GPIFFLGSEL     ;  // EP8 GPIF Flag select</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6EB) volatile BYTE EP8GPIFPFSTOP     ;  // Stop GPIF EP8 transaction on prog. flag</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6EC) volatile BYTE EP8GPIFTRIG       ;  // EP8 FIFO Trigger</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F0) volatile BYTE XGPIFSGLDATH      ;  // GPIF Data H (16-bit mode only)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F1) volatile BYTE XGPIFSGLDATLX     ;  // Read/Write GPIF Data L & trigger transac</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F2) volatile BYTE XGPIFSGLDATLNOX   ;  // Read GPIF Data L, no transac trigger</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F3) volatile BYTE GPIFREADYCFG      ;  // Internal RDY,Sync/Async, RDY5CFG</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F4) volatile BYTE GPIFREADYSTAT     ;  // RDY pin states</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F5) volatile BYTE GPIFABORT         ;  // Abort GPIF cycles</span><br><span> </span><br><span> // UDMA</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C6) volatile BYTE FLOWSTATE         ; //Defines GPIF flow state</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C7) volatile BYTE FLOWLOGIC         ; //Defines flow/hold decision criteria</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C8) volatile BYTE FLOWEQ0CTL        ; //CTL states during active flow state</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6C9) volatile BYTE FLOWEQ1CTL        ; //CTL states during hold flow state</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6CA) volatile BYTE FLOWHOLDOFF       ;</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6CB) volatile BYTE FLOWSTB           ; //CTL/RDY Signal to use as master data strobe </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6CC) volatile BYTE FLOWSTBEDGE       ; //Defines active master strobe edge</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6CD) volatile BYTE FLOWSTBHPERIOD    ; //Half Period of output master strobe</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE60C) volatile BYTE GPIFHOLDAMOUNT    ; //Data delay shift </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE67D) volatile BYTE UDMACRCH          ; //CRC Upper byte</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE67E) volatile BYTE UDMACRCL          ; //CRC Lower byte</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE67F) volatile BYTE UDMACRCQUAL       ; //UDMA In only, host terminated use only</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C6) volatile BYTE FLOWSTATE         ; //Defines GPIF flow state</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C7) volatile BYTE FLOWLOGIC         ; //Defines flow/hold decision criteria</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C8) volatile BYTE FLOWEQ0CTL        ; //CTL states during active flow state</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6C9) volatile BYTE FLOWEQ1CTL        ; //CTL states during hold flow state</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6CA) volatile BYTE FLOWHOLDOFF       ;</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6CB) volatile BYTE FLOWSTB           ; //CTL/RDY Signal to use as master data strobe </span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6CC) volatile BYTE FLOWSTBEDGE       ; //Defines active master strobe edge</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6CD) volatile BYTE FLOWSTBHPERIOD    ; //Half Period of output master strobe</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE60C) volatile BYTE GPIFHOLDAMOUNT    ; //Data delay shift </span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE67D) volatile BYTE UDMACRCH          ; //CRC Upper byte</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE67E) volatile BYTE UDMACRCL          ; //CRC Lower byte</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE67F) volatile BYTE UDMACRCQUAL       ; //UDMA In only, host terminated use only</span><br><span> </span><br><span> </span><br><span> // Debug/Test</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F8) volatile BYTE DBUG              ;  // Debug</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6F9) volatile BYTE TESTCFG           ;  // Test configuration</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6FA) volatile BYTE USBTEST           ;  // USB Test Modes</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6FB) volatile BYTE CT1               ;  // Chirp Test--Override</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6FC) volatile BYTE CT2               ;  // Chirp Test--FSM</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6FD) volatile BYTE CT3               ;  // Chirp Test--Control Signals</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE6FE) volatile BYTE CT4               ;  // Chirp Test--Inputs</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F8) volatile BYTE DBUG              ;  // Debug</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6F9) volatile BYTE TESTCFG           ;  // Test configuration</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6FA) volatile BYTE USBTEST           ;  // USB Test Modes</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6FB) volatile BYTE CT1               ;  // Chirp Test--Override</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6FC) volatile BYTE CT2               ;  // Chirp Test--FSM</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6FD) volatile BYTE CT3               ;  // Chirp Test--Control Signals</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE6FE) volatile BYTE CT4               ;  // Chirp Test--Inputs</span><br><span> </span><br><span> // Endpoint Buffers</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE740) volatile BYTE EP0BUF[64]        ;  // EP0 IN-OUT buffer</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE780) volatile BYTE EP1OUTBUF[64]     ;  // EP1-OUT buffer</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xE7C0) volatile BYTE EP1INBUF[64]      ;  // EP1-IN buffer</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xF000) volatile BYTE EP2FIFOBUF[1024]  ;  // 512/1024-byte EP2 buffer (IN or OUT)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xF400) volatile BYTE EP4FIFOBUF[1024]  ;  // 512 byte EP4 buffer (IN or OUT)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xF800) volatile BYTE EP6FIFOBUF[1024]  ;  // 512/1024-byte EP6 buffer (IN or OUT)</span><br><span style="color: hsl(0, 100%, 40%);">-EXTERN xdata _AT_(0xFC00) volatile BYTE EP8FIFOBUF[1024]  ;  // 512 byte EP8 buffer (IN or OUT)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE740) volatile BYTE EP0BUF[64]        ;  // EP0 IN-OUT buffer</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE780) volatile BYTE EP1OUTBUF[64]     ;  // EP1-OUT buffer</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xE7C0) volatile BYTE EP1INBUF[64]      ;  // EP1-IN buffer</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xF000) volatile BYTE EP2FIFOBUF[1024]  ;  // 512/1024-byte EP2 buffer (IN or OUT)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xF400) volatile BYTE EP4FIFOBUF[1024]  ;  // 512 byte EP4 buffer (IN or OUT)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xF800) volatile BYTE EP6FIFOBUF[1024]  ;  // 512/1024-byte EP6 buffer (IN or OUT)</span><br><span style="color: hsl(120, 100%, 40%);">+EXTERN __xdata _AT_(0xFC00) volatile BYTE EP8FIFOBUF[1024]  ;  // 512 byte EP8 buffer (IN or OUT)</span><br><span> </span><br><span> #undef EXTERN</span><br><span> #undef _AT_</span><br><span>@@ -313,201 +313,201 @@</span><br><span>     "ezregs.inc" which includes the same basic information for assembly inclusion.</span><br><span> -----------------------------------------------------------------------------*/</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x80 IOA;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x81 SP;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x82 DPL;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x83 DPH;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x84 DPL1;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x85 DPH1;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x86 DPS;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x80 IOA;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x81 SP;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x82 DPL;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x83 DPH;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x84 DPL1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x85 DPH1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x86 DPS;</span><br><span>          /*  DPS  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x86+0 SEL;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x87 PCON;   /*  PCON  */</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit IDLE   = 0x87+0;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit STOP   = 0x87+1;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit GF0    = 0x87+2;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit GF1    = 0x87+3;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit SMOD0  = 0x87+7;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x88 TCON;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x86+0 SEL;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x87 PCON;   /*  PCON  */</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit IDLE   = 0x87+0;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit STOP   = 0x87+1;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit GF0    = 0x87+2;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit GF1    = 0x87+3;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit SMOD0  = 0x87+7;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x88 TCON;</span><br><span>          /*  TCON  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+0 IT0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+1 IE0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+2 IT1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+3 IE1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+4 TR0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+5 TF0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+6 TR1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x88+7 TF1;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x89 TMOD;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+0 IT0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+1 IE0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+2 IT1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+3 IE1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+4 TR0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+5 TF0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+6 TR1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x88+7 TF1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x89 TMOD;</span><br><span>          /*  TMOD  */</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit M00    = 0x89+0;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit M10    = 0x89+1;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit CT0    = 0x89+2;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit GATE0  = 0x89+3;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit M01    = 0x89+4;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit M11    = 0x89+5;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit CT1    = 0x89+6;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit GATE1  = 0x89+7;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x8A TL0;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x8B TL1;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x8C TH0;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x8D TH1;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x8E CKCON;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit M00    = 0x89+0;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit M10    = 0x89+1;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit CT0    = 0x89+2;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit GATE0  = 0x89+3;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit M01    = 0x89+4;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit M11    = 0x89+5;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit CT1    = 0x89+6;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit GATE1  = 0x89+7;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x8A TL0;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x8B TL1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x8C TH0;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x8D TH1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x8E CKCON;</span><br><span>          /*  CKCON  */</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit MD0    = 0x89+0;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit MD1    = 0x89+1;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit MD2    = 0x89+2;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit T0M    = 0x89+3;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit T1M    = 0x89+4;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit T2M    = 0x89+5;</span><br><span style="color: hsl(0, 100%, 40%);">-// sfr at 0x8F SPC_FNC; // Was WRS in Reg320</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit MD0    = 0x89+0;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit MD1    = 0x89+1;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit MD2    = 0x89+2;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit T0M    = 0x89+3;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit T1M    = 0x89+4;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit T2M    = 0x89+5;</span><br><span style="color: hsl(120, 100%, 40%);">+// __sfr __at 0x8F SPC_FNC; // Was WRS in Reg320</span><br><span>          /*  CKCON  */</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit WRS    = 0x8F+0;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x90 IOB;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x91 EXIF; // EXIF Bit Values differ from Reg320</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit WRS    = 0x8F+0;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x90 IOB;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x91 EXIF; // EXIF Bit Values differ from Reg320</span><br><span>          /*  EXIF  */</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit USBINT = 0x91+4;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit I2CINT = 0x91+5;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit IE4    = 0x91+6;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit IE5    = 0x91+7;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x92 MPAGE;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x98 SCON0;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit USBINT = 0x91+4;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit I2CINT = 0x91+5;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit IE4    = 0x91+6;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit IE5    = 0x91+7;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x92 MPAGE;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x98 SCON0;</span><br><span>          /*  SCON0  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+0 RI;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+1 TI;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+2 RB8;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+3 TB8;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+4 REN;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+5 SM2;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+6 SM1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0x98+7 SM0;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x99 SBUF0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+0 RI;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+1 TI;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+2 RB8;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+3 TB8;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+4 REN;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+5 SM2;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+6 SM1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0x98+7 SM0;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x99 SBUF0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x9A APTR1H;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x9B APTR1L;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x9C AUTODAT1; </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x9D AUTOPTRH2;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x9E AUTOPTRL2; </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0x9F AUTODAT2;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xA0 IOC;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xA1 INT2CLR;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xA2 INT4CLR;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x9A APTR1H;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x9B APTR1L;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x9C AUTODAT1; </span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x9D AUTOPTRH2;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x9E AUTOPTRL2; </span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0x9F AUTODAT2;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xA0 IOC;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xA1 INT2CLR;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xA2 INT4CLR;</span><br><span> </span><br><span> #define      AUTOPTRH1       APTR1H</span><br><span> #define       AUTOPTRL1       APTR1L</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xA8 IE;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xA8 IE;</span><br><span>          /*  IE  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+0 EX0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+1 ET0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+2 EX1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+3 ET1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+4 ES0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+5 ET2;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+6 ES1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xA8+7 EA;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+0 EX0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+1 ET0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+2 EX1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+3 ET1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+4 ES0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+5 ET2;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+6 ES1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xA8+7 EA;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xAA EP2468STAT;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xAA EP2468STAT;</span><br><span>          /* EP2468STAT */</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP2E   = 0xAA+0;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP2F   = 0xAA+1;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP4E   = 0xAA+2;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP4F   = 0xAA+3;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP6E   = 0xAA+4;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP6F   = 0xAA+5;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP8E   = 0xAA+6;</span><br><span style="color: hsl(0, 100%, 40%);">-         //sbit EP8F   = 0xAA+7;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP2E   = 0xAA+0;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP2F   = 0xAA+1;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP4E   = 0xAA+2;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP4F   = 0xAA+3;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP6E   = 0xAA+4;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP6F   = 0xAA+5;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP8E   = 0xAA+6;</span><br><span style="color: hsl(120, 100%, 40%);">+         //__sbit EP8F   = 0xAA+7;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xAB EP24FIFOFLGS;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xAC EP68FIFOFLGS;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xAF AUTOPTRSETUP;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xAB EP24FIFOFLGS;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xAC EP68FIFOFLGS;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xAF AUTOPTRSETUP;</span><br><span>             /* AUTOPTRSETUP */</span><br><span style="color: hsl(0, 100%, 40%);">-            // sbit EXTACC  = 0xAF+0;</span><br><span style="color: hsl(0, 100%, 40%);">-            // sbit APTR1FZ = 0xAF+1;</span><br><span style="color: hsl(0, 100%, 40%);">-            // sbit APTR2FZ = 0xAF+2;</span><br><span style="color: hsl(120, 100%, 40%);">+            // __sbit EXTACC  = 0xAF+0;</span><br><span style="color: hsl(120, 100%, 40%);">+            // __sbit APTR1FZ = 0xAF+1;</span><br><span style="color: hsl(120, 100%, 40%);">+            // __sbit APTR2FZ = 0xAF+2;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB0 IOD;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB1 IOE;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB2 OEA;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB3 OEB;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB4 OEC;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB5 OED;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB6 OEE;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB0 IOD;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB1 IOE;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB2 OEA;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB3 OEB;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB4 OEC;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB5 OED;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB6 OEE;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xB8 IP;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xB8 IP;</span><br><span>          /*  IP  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xB8+0 PX0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xB8+1 PT0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xB8+2 PX1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xB8+3 PT1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xB8+4 PS0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xB8+5 PT2;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xB8+6 PS1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xB8+0 PX0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xB8+1 PT0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xB8+2 PX1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xB8+3 PT1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xB8+4 PS0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xB8+5 PT2;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xB8+6 PS1;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xBA EP01STAT;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xBB GPIFTRIG;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xBA EP01STAT;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xBB GPIFTRIG;</span><br><span>                 </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xBD GPIFSGLDATH;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xBE GPIFSGLDATLX;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xBF GPIFSGLDATLNOX;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xBD GPIFSGLDATH;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xBE GPIFSGLDATLX;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xBF GPIFSGLDATLNOX;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xC0 SCON1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xC0 SCON1;</span><br><span>          /*  SCON1  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+0 RI1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+1 TI1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+2 RB81;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+3 TB81;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+4 REN1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+5 SM21;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+6 SM11;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC0+7 SM01;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xC1 SBUF1;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xC8 T2CON;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+0 RI1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+1 TI1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+2 RB81;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+3 TB81;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+4 REN1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+5 SM21;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+6 SM11;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC0+7 SM01;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xC1 SBUF1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xC8 T2CON;</span><br><span>          /*  T2CON  */</span><br><span style="color: hsl(0, 100%, 40%);">-      sbit at 0xC8+0 CP_RL2;</span><br><span style="color: hsl(0, 100%, 40%);">-  sbit at 0xC8+1 C_T2;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC8+2 TR2;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC8+3 EXEN2;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC8+4 TCLK;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC8+5 RCLK;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC8+6 EXF2;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xC8+7 TF2;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xCA RCAP2L;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xCB RCAP2H;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xCC TL2;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xCD TH2;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xD0 PSW;</span><br><span style="color: hsl(120, 100%, 40%);">+       __sbit __at 0xC8+0 CP_RL2;</span><br><span style="color: hsl(120, 100%, 40%);">+    __sbit __at 0xC8+1 C_T2;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC8+2 TR2;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC8+3 EXEN2;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC8+4 TCLK;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC8+5 RCLK;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC8+6 EXF2;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xC8+7 TF2;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xCA RCAP2L;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xCB RCAP2H;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xCC TL2;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xCD TH2;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xD0 PSW;</span><br><span>          /*  PSW  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+0 P;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+1 FL;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+2 OV;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+3 RS0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+4 RS1;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+5 F0;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+6 AC;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD0+7 CY;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xD8 EICON; // Was WDCON in DS80C320 EICON; Bit Values differ from Reg320</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+0 P;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+1 FL;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+2 OV;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+3 RS0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+4 RS1;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+5 F0;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+6 AC;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD0+7 CY;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xD8 EICON; // Was WDCON in DS80C320 EICON; Bit Values differ from Reg320</span><br><span>          /*  EICON  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD8+3 INT6;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD8+4 RESI;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD8+5 ERESI;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xD8+7 SMOD1;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xE0 ACC;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xE8 EIE; // EIE Bit Values differ from Reg320</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD8+3 INT6;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD8+4 RESI;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD8+5 ERESI;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xD8+7 SMOD1;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xE0 ACC;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xE8 EIE; // EIE Bit Values differ from Reg320</span><br><span>                         /*  EIE  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xE8+0 EIUSB;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xE8+1 EI2C;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xE8+2 EIEX4;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xE8+3 EIEX5;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xE8+4 EIEX6;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xF0 B;</span><br><span style="color: hsl(0, 100%, 40%);">-sfr at 0xF8 EIP; // EIP Bit Values differ from Reg320</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xE8+0 EIUSB;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xE8+1 EI2C;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xE8+2 EIEX4;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xE8+3 EIEX5;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xE8+4 EIEX6;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xF0 B;</span><br><span style="color: hsl(120, 100%, 40%);">+__sfr __at 0xF8 EIP; // EIP Bit Values differ from Reg320</span><br><span>                         /*  EIP  */</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xF8+0 PUSB;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xF8+1 PI2C;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xF8+2 EIPX4;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xF8+3 EIPX5;</span><br><span style="color: hsl(0, 100%, 40%);">-         sbit at 0xF8+4 EIPX6;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xF8+0 PUSB;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xF8+1 PI2C;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xF8+2 EIPX4;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xF8+3 EIPX5;</span><br><span style="color: hsl(120, 100%, 40%);">+         __sbit __at 0xF8+4 EIPX6;</span><br><span> </span><br><span> /*-----------------------------------------------------------------------------</span><br><span>    Bit Masks</span><br><span>diff --git a/firmware/include/i2c.h b/firmware/include/i2c.h</span><br><span>index 273526d..25f5364 100644</span><br><span>--- a/firmware/include/i2c.h</span><br><span>+++ b/firmware/include/i2c.h</span><br><span>@@ -24,9 +24,9 @@</span><br><span> #define _I2C_H_</span><br><span> </span><br><span> // returns non-zero if successful, else 0</span><br><span style="color: hsl(0, 100%, 40%);">-unsigned char i2c_read (unsigned char addr, xdata unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+unsigned char i2c_read (unsigned char addr, __xdata unsigned char *buf, unsigned char len);</span><br><span> </span><br><span> // returns non-zero if successful, else 0</span><br><span style="color: hsl(0, 100%, 40%);">-unsigned char i2c_write (unsigned char addr, xdata const unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+unsigned char i2c_write (unsigned char addr, __xdata const unsigned char *buf, unsigned char len);</span><br><span> </span><br><span> #endif /* _I2C_H_ */</span><br><span>diff --git a/firmware/include/syncdelay.h b/firmware/include/syncdelay.h</span><br><span>index 0af7d09..107932d 100644</span><br><span>--- a/firmware/include/syncdelay.h</span><br><span>+++ b/firmware/include/syncdelay.h</span><br><span>@@ -58,8 +58,8 @@</span><br><span> /*</span><br><span>  * FIXME ensure that the peep hole optimizer isn't screwing us</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-#define  SYNCDELAY       _asm nop; nop; nop; _endasm</span><br><span style="color: hsl(0, 100%, 40%);">-#define      NOP             _asm nop; _endasm</span><br><span style="color: hsl(120, 100%, 40%);">+#define      SYNCDELAY       __asm nop; nop; nop; __endasm</span><br><span style="color: hsl(120, 100%, 40%);">+#define  NOP             __asm nop; __endasm</span><br><span> </span><br><span> </span><br><span> #endif /* _SYNCDELAY_H_ */</span><br><span>diff --git a/firmware/include/usb_common.h b/firmware/include/usb_common.h</span><br><span>index ae07b23..2fbab6d 100644</span><br><span>--- a/firmware/include/usb_common.h</span><br><span>+++ b/firmware/include/usb_common.h</span><br><span>@@ -23,7 +23,7 @@</span><br><span> #ifndef _USB_COMMON_H_</span><br><span> #define _USB_COMMON_H_</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-extern volatile bit _usb_got_SUDAV;</span><br><span style="color: hsl(120, 100%, 40%);">+extern volatile __bit _usb_got_SUDAV;</span><br><span> </span><br><span> // Provided by user application to handle VENDOR commands.</span><br><span> // returns non-zero if it handled the command.</span><br><span>diff --git a/firmware/include/usb_descriptors.h b/firmware/include/usb_descriptors.h</span><br><span>index 0b8c621..ea91169 100644</span><br><span>--- a/firmware/include/usb_descriptors.h</span><br><span>+++ b/firmware/include/usb_descriptors.h</span><br><span>@@ -20,21 +20,21 @@</span><br><span>  * Boston, MA 02110-1301, USA.</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata const char high_speed_device_descr[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata const char high_speed_devqual_descr[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata const char high_speed_config_descr[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata const char high_speed_device_descr[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata const char high_speed_devqual_descr[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata const char high_speed_config_descr[];</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata const char full_speed_device_descr[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata const char full_speed_devqual_descr[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata const char full_speed_config_descr[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata const char full_speed_device_descr[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata const char full_speed_devqual_descr[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata const char full_speed_config_descr[];</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata unsigned char nstring_descriptors;</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char * xdata string_descriptors[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata unsigned char nstring_descriptors;</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char * __xdata string_descriptors[];</span><br><span> </span><br><span> /*</span><br><span>  * We patch these locations with info read from the usrp config eeprom</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char usb_desc_hw_rev_binary_patch_location_0[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char usb_desc_hw_rev_binary_patch_location_1[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char usb_desc_hw_rev_ascii_patch_location_0[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char usb_desc_serial_number_ascii[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char usb_desc_hw_rev_binary_patch_location_0[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char usb_desc_hw_rev_binary_patch_location_1[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char usb_desc_hw_rev_ascii_patch_location_0[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char usb_desc_serial_number_ascii[];</span><br><span>diff --git a/firmware/lib/delay.c b/firmware/lib/delay.c</span><br><span>index 13cf0ee..f2e8307 100644</span><br><span>--- a/firmware/lib/delay.c</span><br><span>+++ b/firmware/lib/delay.c</span><br><span>@@ -24,11 +24,11 @@</span><br><span>  * Delay approximately 1 microsecond (including overhead in udelay).</span><br><span>  */</span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-udelay1 (void) _naked</span><br><span style="color: hsl(120, 100%, 40%);">+udelay1 (void) __naked</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  _asm                              ; lcall that got us here took 4 bus cycles</span><br><span style="color: hsl(120, 100%, 40%);">+  __asm                             ; lcall that got us here took 4 bus cycles</span><br><span>   ret                     ; 4 bus cycles</span><br><span style="color: hsl(0, 100%, 40%);">-  _endasm;</span><br><span style="color: hsl(120, 100%, 40%);">+  __endasm;</span><br><span> }</span><br><span> </span><br><span> /*</span><br><span>@@ -51,9 +51,9 @@</span><br><span>  * but explains the factor of 4 problem below).</span><br><span>  */</span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-mdelay1 (void) _naked</span><br><span style="color: hsl(120, 100%, 40%);">+mdelay1 (void) __naked</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  _asm</span><br><span style="color: hsl(120, 100%, 40%);">+  __asm</span><br><span>   mov     dptr,#(-1200 & 0xffff)</span><br><span> 002$:     </span><br><span>     inc     dptr            ; 3 bus cycles</span><br><span>@@ -62,7 +62,7 @@</span><br><span>   jnz     002$            ; 3 bus cycles</span><br><span> </span><br><span>   ret</span><br><span style="color: hsl(0, 100%, 40%);">-  _endasm;</span><br><span style="color: hsl(120, 100%, 40%);">+  __endasm;</span><br><span> }</span><br><span> </span><br><span> void</span><br><span>diff --git a/firmware/lib/i2c.c b/firmware/lib/i2c.c</span><br><span>index 0f238b5..dd31a5f 100644</span><br><span>--- a/firmware/lib/i2c.c</span><br><span>+++ b/firmware/lib/i2c.c</span><br><span>@@ -30,7 +30,7 @@</span><br><span> </span><br><span> // returns non-zero if successful, else 0</span><br><span> unsigned char</span><br><span style="color: hsl(0, 100%, 40%);">-i2c_read (unsigned char addr, xdata unsigned char *buf, unsigned char len)</span><br><span style="color: hsl(120, 100%, 40%);">+i2c_read (unsigned char addr, __xdata unsigned char *buf, unsigned char len)</span><br><span> {</span><br><span>   volatile unsigned char junk;</span><br><span>   </span><br><span>@@ -89,7 +89,7 @@</span><br><span> </span><br><span> // returns non-zero if successful, else 0</span><br><span> unsigned char</span><br><span style="color: hsl(0, 100%, 40%);">-i2c_write (unsigned char addr, xdata const unsigned char *buf, unsigned char len)</span><br><span style="color: hsl(120, 100%, 40%);">+i2c_write (unsigned char addr, __xdata const unsigned char *buf, unsigned char len)</span><br><span> {</span><br><span>   while (I2CS & bmSTOP)             // wait for stop to clear</span><br><span>     ;</span><br><span>diff --git a/firmware/lib/isr.c b/firmware/lib/isr.c</span><br><span>index 05412da..61f2dc3 100644</span><br><span>--- a/firmware/lib/isr.c</span><br><span>+++ b/firmware/lib/isr.c</span><br><span>@@ -24,9 +24,9 @@</span><br><span> #include "fx2regs.h"</span><br><span> #include "syncdelay.h"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata unsigned char _standard_interrupt_vector[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata unsigned char _usb_autovector[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata unsigned char _fifo_gpif_autovector[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata unsigned char _standard_interrupt_vector[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata unsigned char _usb_autovector[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata unsigned char _fifo_gpif_autovector[];</span><br><span> </span><br><span> #define LJMP_OPCODE    0x02</span><br><span> </span><br><span>@@ -39,7 +39,7 @@</span><br><span> void </span><br><span> hook_sv (unsigned char vector_number, unsigned short addr)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  bit   t;</span><br><span style="color: hsl(120, 100%, 40%);">+  __bit     t;</span><br><span>   </span><br><span>   // sanity checks</span><br><span> </span><br><span>@@ -66,7 +66,7 @@</span><br><span> void </span><br><span> hook_uv (unsigned char vector_number, unsigned short addr)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  bit t;</span><br><span style="color: hsl(120, 100%, 40%);">+  __bit     t;</span><br><span>   </span><br><span>   // sanity checks</span><br><span> </span><br><span>@@ -93,7 +93,7 @@</span><br><span> void </span><br><span> hook_fgv (unsigned char vector_number, unsigned short addr)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  bit        t;</span><br><span style="color: hsl(120, 100%, 40%);">+  __bit     t;</span><br><span>   </span><br><span>   // sanity checks</span><br><span> </span><br><span>diff --git a/firmware/lib/usb_common.c b/firmware/lib/usb_common.c</span><br><span>index 3b0547b..6a7a103 100644</span><br><span>--- a/firmware/lib/usb_common.c</span><br><span>+++ b/firmware/lib/usb_common.c</span><br><span>@@ -28,12 +28,12 @@</span><br><span> #include "usb_descriptors.h"</span><br><span> #include "usb_requests.h"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char str0[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char str1[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char str2[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char str3[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char str4[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern xdata char str5[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char str0[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char str1[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char str2[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char str3[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char str4[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern __xdata char str5[];</span><br><span> </span><br><span> </span><br><span> #define   bRequestType    SETUPDAT[0]</span><br><span>@@ -48,15 +48,15 @@</span><br><span> #define MSB(x)     (((unsigned short) x) >> 8)</span><br><span> #define LSB(x)     (((unsigned short) x) & 0xff)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-volatile bit _usb_got_SUDAV;</span><br><span style="color: hsl(120, 100%, 40%);">+volatile __bit _usb_got_SUDAV;</span><br><span> </span><br><span> unsigned char  _usb_config = 0;</span><br><span> unsigned char       _usb_alt_setting = 0;   // FIXME really 1/interface</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-xdata unsigned char *current_device_descr;</span><br><span style="color: hsl(0, 100%, 40%);">-xdata unsigned char *current_devqual_descr;</span><br><span style="color: hsl(0, 100%, 40%);">-xdata unsigned char *current_config_descr;</span><br><span style="color: hsl(0, 100%, 40%);">-xdata unsigned char *other_config_descr;</span><br><span style="color: hsl(120, 100%, 40%);">+__xdata unsigned char *current_device_descr;</span><br><span style="color: hsl(120, 100%, 40%);">+__xdata unsigned char *current_devqual_descr;</span><br><span style="color: hsl(120, 100%, 40%);">+__xdata unsigned char *current_config_descr;</span><br><span style="color: hsl(120, 100%, 40%);">+__xdata unsigned char *other_config_descr;</span><br><span> </span><br><span> static void</span><br><span> setup_descriptors (void)</span><br><span>@@ -81,21 +81,21 @@</span><br><span> }</span><br><span> </span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-isr_SUDAV (void) interrupt</span><br><span style="color: hsl(120, 100%, 40%);">+isr_SUDAV (void) __interrupt</span><br><span> {</span><br><span>   clear_usb_irq ();</span><br><span>   _usb_got_SUDAV = 1;</span><br><span> }</span><br><span> </span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-isr_USBRESET (void) interrupt</span><br><span style="color: hsl(120, 100%, 40%);">+isr_USBRESET (void) __interrupt</span><br><span> {</span><br><span>   clear_usb_irq ();</span><br><span>   setup_descriptors ();</span><br><span> }</span><br><span> </span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-isr_HIGHSPEED (void) interrupt</span><br><span style="color: hsl(120, 100%, 40%);">+isr_HIGHSPEED (void) __interrupt</span><br><span> {</span><br><span>   clear_usb_irq ();</span><br><span>   setup_descriptors ();</span><br><span>@@ -133,7 +133,7 @@</span><br><span> // return pointer to control and status register for endpoint.</span><br><span> // only called with plausible_endpoints</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-xdata volatile unsigned char *</span><br><span style="color: hsl(120, 100%, 40%);">+__xdata volatile unsigned char *</span><br><span> epcs (unsigned char ep)</span><br><span> {</span><br><span>   if (ep == 0x01)         // ep1 has different in and out CS regs</span><br><span>@@ -234,7 +234,7 @@</span><br><span>          if (wValueL >= nstring_descriptors)</span><br><span>         fx2_stall_ep0 ();</span><br><span>          else {</span><br><span style="color: hsl(0, 100%, 40%);">-            xdata char *p = string_descriptors[wValueL];</span><br><span style="color: hsl(120, 100%, 40%);">+          __xdata char *p = string_descriptors[wValueL];</span><br><span>       SUDPTRH = MSB (p);</span><br><span>           SUDPTRL = LSB (p);</span><br><span>         }</span><br><span>diff --git a/firmware/src/common/fpga_load.c b/firmware/src/common/fpga_load.c</span><br><span>index c3ae9e7..4c0a85e 100644</span><br><span>--- a/firmware/src/common/fpga_load.c</span><br><span>+++ b/firmware/src/common/fpga_load.c</span><br><span>@@ -89,9 +89,9 @@</span><br><span> #else</span><br><span> </span><br><span> static void </span><br><span style="color: hsl(0, 100%, 40%);">-clock_out_config_byte (unsigned char bits) _naked</span><br><span style="color: hsl(120, 100%, 40%);">+clock_out_config_byte (unsigned char bits) __naked</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-    _asm</span><br><span style="color: hsl(120, 100%, 40%);">+    __asm</span><br><span>   mov     a, dpl</span><br><span>       </span><br><span>     rrc     a</span><br><span>@@ -136,14 +136,14 @@</span><br><span>    </span><br><span>     ret     </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    _endasm;</span><br><span style="color: hsl(120, 100%, 40%);">+    __endasm;</span><br><span> }</span><br><span> </span><br><span> #endif</span><br><span> </span><br><span> static void</span><br><span> clock_out_bytes (unsigned char bytecount,</span><br><span style="color: hsl(0, 100%, 40%);">-               unsigned char xdata *p)</span><br><span style="color: hsl(120, 100%, 40%);">+               unsigned char __xdata *p)</span><br><span> {</span><br><span>   while (bytecount-- > 0)</span><br><span>     clock_out_config_byte (*p++);</span><br><span>@@ -163,7 +163,7 @@</span><br><span>  *        ALTERA_NSTATUS = 1 (input)</span><br><span>  */</span><br><span> unsigned char</span><br><span style="color: hsl(0, 100%, 40%);">-fpga_load_xfer (xdata unsigned char *p, unsigned char bytecount)</span><br><span style="color: hsl(120, 100%, 40%);">+fpga_load_xfer (__xdata unsigned char *p, unsigned char bytecount)</span><br><span> {</span><br><span>   clock_out_bytes (bytecount, p);</span><br><span>   return 1;</span><br><span>diff --git a/firmware/src/common/fpga_load.h b/firmware/src/common/fpga_load.h</span><br><span>index 7c36a04..40ebf92 100644</span><br><span>--- a/firmware/src/common/fpga_load.h</span><br><span>+++ b/firmware/src/common/fpga_load.h</span><br><span>@@ -22,7 +22,7 @@</span><br><span> #define INCLUDED_FPGA_LOAD_H</span><br><span> </span><br><span> unsigned char fpga_load_begin (void);</span><br><span style="color: hsl(0, 100%, 40%);">-unsigned char fpga_load_xfer (xdata unsigned char *p, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+unsigned char fpga_load_xfer (__xdata unsigned char *p, unsigned char len);</span><br><span> unsigned char fpga_load_end (void);</span><br><span> </span><br><span> #endif /* INCLUDED_FPGA_LOAD_H */</span><br><span>diff --git a/firmware/src/usrp2/board_specific.c b/firmware/src/usrp2/board_specific.c</span><br><span>index ef0081d..92fc28f 100644</span><br><span>--- a/firmware/src/usrp2/board_specific.c</span><br><span>+++ b/firmware/src/usrp2/board_specific.c</span><br><span>@@ -64,7 +64,7 @@</span><br><span>   // NOP on usrp1</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static xdata unsigned char xbuf[1];</span><br><span style="color: hsl(120, 100%, 40%);">+static __xdata unsigned char xbuf[1];</span><br><span> </span><br><span> void</span><br><span> write_9862 (unsigned char which, unsigned char regno, unsigned char value)</span><br><span>diff --git a/firmware/src/usrp2/eeprom_init.c b/firmware/src/usrp2/eeprom_init.c</span><br><span>index a6f6cbe..f10ab54 100644</span><br><span>--- a/firmware/src/usrp2/eeprom_init.c</span><br><span>+++ b/firmware/src/usrp2/eeprom_init.c</span><br><span>@@ -29,7 +29,7 @@</span><br><span>  * into hash1.</span><br><span>  */</span><br><span> #define       USRP_HASH_SIZE      16</span><br><span style="color: hsl(0, 100%, 40%);">-xdata at USRP_HASH_SLOT_0_ADDR unsigned char hash0[USRP_HASH_SIZE];</span><br><span style="color: hsl(120, 100%, 40%);">+__xdata __at USRP_HASH_SLOT_0_ADDR unsigned char hash0[USRP_HASH_SIZE];</span><br><span> </span><br><span> </span><br><span> #define enable_codecs() USRP_PA &= ~(bmPA_SEN_CODEC_A | bmPA_SEN_CODEC_B)</span><br><span>diff --git a/firmware/src/usrp2/eeprom_io.c b/firmware/src/usrp2/eeprom_io.c</span><br><span>index 9eeb536..1afdc23 100644</span><br><span>--- a/firmware/src/usrp2/eeprom_io.c</span><br><span>+++ b/firmware/src/usrp2/eeprom_io.c</span><br><span>@@ -27,12 +27,12 @@</span><br><span> // returns non-zero if successful, else 0</span><br><span> unsigned char</span><br><span> eeprom_read (unsigned char i2c_addr, unsigned char eeprom_offset,</span><br><span style="color: hsl(0, 100%, 40%);">-          xdata unsigned char *buf, unsigned char len)</span><br><span style="color: hsl(120, 100%, 40%);">+          __xdata unsigned char *buf, unsigned char len)</span><br><span> {</span><br><span>   // We setup a random read by first doing a "zero byte write".</span><br><span>   // Writes carry an address.  Reads use an implicit address.</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  static xdata unsigned char cmd[1];</span><br><span style="color: hsl(120, 100%, 40%);">+  static __xdata unsigned char cmd[1];</span><br><span>   cmd[0] = eeprom_offset;</span><br><span>   if (!i2c_write(i2c_addr, cmd, 1))</span><br><span>     return 0;</span><br><span>diff --git a/firmware/src/usrp2/eeprom_io.h b/firmware/src/usrp2/eeprom_io.h</span><br><span>index 558017b..d1c4ee6 100644</span><br><span>--- a/firmware/src/usrp2/eeprom_io.h</span><br><span>+++ b/firmware/src/usrp2/eeprom_io.h</span><br><span>@@ -27,12 +27,12 @@</span><br><span> // returns non-zero if successful, else 0</span><br><span> unsigned char</span><br><span> eeprom_read (unsigned char i2c_addr, unsigned char eeprom_offset,</span><br><span style="color: hsl(0, 100%, 40%);">-            xdata unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+         __xdata unsigned char *buf, unsigned char len);</span><br><span> </span><br><span> // returns non-zero if successful, else 0</span><br><span> unsigned char</span><br><span> eeprom_write (unsigned char i2c_addr, unsigned char eeprom_offset,</span><br><span style="color: hsl(0, 100%, 40%);">-          const xdata unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+           const __xdata unsigned char *buf, unsigned char len);</span><br><span> </span><br><span> </span><br><span> #endif /* INCLUDED_EEPROM_IO_H */</span><br><span>diff --git a/firmware/src/usrp2/fpga_rev2.c b/firmware/src/usrp2/fpga_rev2.c</span><br><span>index cca961d..a1081f5 100644</span><br><span>--- a/firmware/src/usrp2/fpga_rev2.c</span><br><span>+++ b/firmware/src/usrp2/fpga_rev2.c</span><br><span>@@ -30,7 +30,7 @@</span><br><span> unsigned char g_rx_reset = 0;</span><br><span> </span><br><span> void</span><br><span style="color: hsl(0, 100%, 40%);">-fpga_write_reg (unsigned char regno, const xdata unsigned char *regval)</span><br><span style="color: hsl(120, 100%, 40%);">+fpga_write_reg (unsigned char regno, const __xdata unsigned char *regval)</span><br><span> {</span><br><span>   spi_write (0, 0x00 | (regno & 0x7f),</span><br><span>       SPI_ENABLE_FPGA,</span><br><span>@@ -39,7 +39,7 @@</span><br><span> }</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static xdata unsigned char regval[4] = {0, 0, 0, 0};</span><br><span style="color: hsl(120, 100%, 40%);">+static __xdata unsigned char regval[4] = {0, 0, 0, 0};</span><br><span> </span><br><span> static void</span><br><span> write_fpga_master_ctrl (void)</span><br><span>diff --git a/firmware/src/usrp2/spi.c b/firmware/src/usrp2/spi.c</span><br><span>index f5803c5..fab0429 100644</span><br><span>--- a/firmware/src/usrp2/spi.c</span><br><span>+++ b/firmware/src/usrp2/spi.c</span><br><span>@@ -98,17 +98,17 @@</span><br><span> write_byte_msb (unsigned char v);</span><br><span> </span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-write_bytes_msb (const xdata unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+write_bytes_msb (const __xdata unsigned char *buf, unsigned char len);</span><br><span> </span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-read_bytes_msb (xdata unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+read_bytes_msb (__xdata unsigned char *buf, unsigned char len);</span><br><span> </span><br><span>   </span><br><span> // returns non-zero if successful, else 0</span><br><span> unsigned char</span><br><span> spi_read (unsigned char header_hi, unsigned char header_lo,</span><br><span>          unsigned char enables, unsigned char format,</span><br><span style="color: hsl(0, 100%, 40%);">-    xdata unsigned char *buf, unsigned char len)</span><br><span style="color: hsl(120, 100%, 40%);">+          __xdata unsigned char *buf, unsigned char len)</span><br><span> {</span><br><span>   if (count_bits8 (enables) > 1)</span><br><span>     return 0;           // error, too many enables set</span><br><span>@@ -165,7 +165,7 @@</span><br><span> unsigned char</span><br><span> spi_write (unsigned char header_hi, unsigned char header_lo,</span><br><span>           unsigned char enables, unsigned char format,</span><br><span style="color: hsl(0, 100%, 40%);">-    const xdata unsigned char *buf, unsigned char len)</span><br><span style="color: hsl(120, 100%, 40%);">+    const __xdata unsigned char *buf, unsigned char len)</span><br><span> {</span><br><span>   setup_enables (enables);</span><br><span> </span><br><span>@@ -261,7 +261,7 @@</span><br><span> }</span><br><span> </span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-write_bytes_msb (const xdata unsigned char *buf, unsigned char len)</span><br><span style="color: hsl(120, 100%, 40%);">+write_bytes_msb (const __xdata unsigned char *buf, unsigned char len)</span><br><span> {</span><br><span>   while (len-- != 0){</span><br><span>     write_byte_msb (*buf++);</span><br><span>@@ -320,9 +320,9 @@</span><br><span> }</span><br><span> #else</span><br><span> static unsigned char</span><br><span style="color: hsl(0, 100%, 40%);">-read_byte_msb (void) _naked</span><br><span style="color: hsl(120, 100%, 40%);">+read_byte_msb (void) __naked</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  _asm</span><br><span style="color: hsl(120, 100%, 40%);">+  __asm</span><br><span>        clr     a</span><br><span> </span><br><span>        setb    _bitS_CLK</span><br><span>@@ -367,12 +367,12 @@</span><br><span> </span><br><span>        mov     dpl,a</span><br><span>        ret</span><br><span style="color: hsl(0, 100%, 40%);">-  _endasm;</span><br><span style="color: hsl(120, 100%, 40%);">+  __endasm;</span><br><span> }</span><br><span> #endif</span><br><span> </span><br><span> static void</span><br><span style="color: hsl(0, 100%, 40%);">-read_bytes_msb (xdata unsigned char *buf, unsigned char len)</span><br><span style="color: hsl(120, 100%, 40%);">+read_bytes_msb (__xdata unsigned char *buf, unsigned char len)</span><br><span> {</span><br><span>   while (len-- != 0){</span><br><span>     *buf++ = read_byte_msb ();</span><br><span>diff --git a/firmware/src/usrp2/spi.h b/firmware/src/usrp2/spi.h</span><br><span>index 12bc5e5..0ee6882 100644</span><br><span>--- a/firmware/src/usrp2/spi.h</span><br><span>+++ b/firmware/src/usrp2/spi.h</span><br><span>@@ -31,13 +31,13 @@</span><br><span> unsigned char</span><br><span> spi_read (unsigned char header_hi, unsigned char header_lo,</span><br><span>    unsigned char enables, unsigned char format,</span><br><span style="color: hsl(0, 100%, 40%);">-    xdata unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+         __xdata unsigned char *buf, unsigned char len);</span><br><span> </span><br><span> // returns non-zero if successful, else 0</span><br><span> unsigned char</span><br><span> spi_write (unsigned char header_hi, unsigned char header_lo,</span><br><span>     unsigned char enables, unsigned char format,</span><br><span style="color: hsl(0, 100%, 40%);">-    const xdata unsigned char *buf, unsigned char len);</span><br><span style="color: hsl(120, 100%, 40%);">+           const __xdata unsigned char *buf, unsigned char len);</span><br><span> </span><br><span> </span><br><span> #endif /* INCLUDED_SPI_H */</span><br><span>diff --git a/firmware/src/usrp2/usrp_main.c b/firmware/src/usrp2/usrp_main.c</span><br><span>index c7c09f8..9e95f16 100644</span><br><span>--- a/firmware/src/usrp2/usrp_main.c</span><br><span>+++ b/firmware/src/usrp2/usrp_main.c</span><br><span>@@ -62,7 +62,7 @@</span><br><span>  * into hash1.</span><br><span>  */</span><br><span> #define      USRP_HASH_SIZE      16</span><br><span style="color: hsl(0, 100%, 40%);">-xdata at USRP_HASH_SLOT_1_ADDR unsigned char hash1[USRP_HASH_SIZE];</span><br><span style="color: hsl(120, 100%, 40%);">+__xdata __at USRP_HASH_SLOT_1_ADDR unsigned char hash1[USRP_HASH_SIZE];</span><br><span> </span><br><span> static void</span><br><span> get_ep0_data (void)</span><br><span>@@ -304,7 +304,7 @@</span><br><span>  * Toggle led 0</span><br><span>  */</span><br><span> void</span><br><span style="color: hsl(0, 100%, 40%);">-isr_tick (void) interrupt</span><br><span style="color: hsl(120, 100%, 40%);">+isr_tick (void) __interrupt</span><br><span> {</span><br><span>   static unsigned char     count = 1;</span><br><span>   </span><br><span>@@ -323,8 +323,8 @@</span><br><span> void</span><br><span> patch_usb_descriptors(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  static xdata unsigned char hw_rev;</span><br><span style="color: hsl(0, 100%, 40%);">-  static xdata unsigned char serial_no[8];</span><br><span style="color: hsl(120, 100%, 40%);">+  static __xdata unsigned char hw_rev;</span><br><span style="color: hsl(120, 100%, 40%);">+  static __xdata unsigned char serial_no[8];</span><br><span>   unsigned char i;</span><br><span> </span><br><span>   eeprom_read(I2C_ADDR_BOOT, HW_REV_OFFSET, &hw_rev, 1);        // LSB of device id</span><br><span>diff --git a/firmware/src/usrp2/usrp_rev2_regs.h b/firmware/src/usrp2/usrp_rev2_regs.h</span><br><span>index a4f1d98..4390f13 100644</span><br><span>--- a/firmware/src/usrp2/usrp_rev2_regs.h</span><br><span>+++ b/firmware/src/usrp2/usrp_rev2_regs.h</span><br><span>@@ -47,9 +47,9 @@</span><br><span> #define     bmPA_TX_UNDERRUN        bmBIT7          // misc pin to FPGA (underflow)</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sbit at 0x80+0 bitS_CLK;         // 0x80 is the bit address of PORT A</span><br><span style="color: hsl(0, 100%, 40%);">-sbit at 0x80+1 bitS_OUT;            // out from FX2 point of view</span><br><span style="color: hsl(0, 100%, 40%);">-sbit at 0x80+2 bitS_IN;                    // in from FX2 point of view</span><br><span style="color: hsl(120, 100%, 40%);">+__sbit __at 0x80+0 bitS_CLK;              // 0x80 is the bit address of PORT A</span><br><span style="color: hsl(120, 100%, 40%);">+__sbit __at 0x80+1 bitS_OUT;              // out from FX2 point of view</span><br><span style="color: hsl(120, 100%, 40%);">+__sbit __at 0x80+2 bitS_IN;                      // in from FX2 point of view</span><br><span> </span><br><span> </span><br><span> /* all outputs except S_DATA_FROM_PERIPH, FX2_2, FX2_3 */</span><br><span>@@ -85,8 +85,8 @@</span><br><span> #define        bmPC_LED0               bmBIT6          // active low</span><br><span> #define        bmPC_LED1               bmBIT7          // active low</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sbit at 0xA0+1 bitALTERA_DATA0;                // 0xA0 is the bit address of PORT C</span><br><span style="color: hsl(0, 100%, 40%);">-sbit at 0xA0+3 bitALTERA_DCLK;</span><br><span style="color: hsl(120, 100%, 40%);">+__sbit __at 0xA0+1 bitALTERA_DATA0;         // 0xA0 is the bit address of PORT C</span><br><span style="color: hsl(120, 100%, 40%);">+__sbit __at 0xA0+3 bitALTERA_DCLK;</span><br><span> </span><br><span> </span><br><span> #define     bmALTERA_BITS           (bmALTERA_DATA0                 \</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12529">change 12529</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12529"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libusrp </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I5df64bc3cc09402bdfacec9c256e96135e3688fd </div>
<div style="display:none"> Gerrit-Change-Number: 12529 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>