summaryrefslogtreecommitdiffstats
path: root/misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch')
-rw-r--r--misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch300
1 files changed, 300 insertions, 0 deletions
diff --git a/misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch b/misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch
new file mode 100644
index 0000000000..a591d310b9
--- /dev/null
+++ b/misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch
@@ -0,0 +1,300 @@
+From: Matthew Cengia <redacted>
+Date: Tue, 15 Aug 2023 00:35:45 +0000 (+1000)
+Subject: fx2lafw: Update __at syntax for sdcc>=4.2.3
+X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=commitdiff_plain;h=96b0b476522c3f93a47ff8f479ec08105ba6a2a5
+
+fx2lafw: Update __at syntax for sdcc>=4.2.3
+
+The SDCC user manual https://sdcc.sourceforge.net/doc/sdccman.pdf
+section 1.5 "Compatibility with previous versions" on page 12 states:
+
+> In 4.2.3, support for non-parenthesized arguments to __at that are
+> not constants was dropped.
+
+Adjust the sigrok fx2lafw application source to unbreak compilation with
+more recent SDCC versions.
+---
+
+diff --git a/fx2lib/include/fx2regs.h b/fx2lib/include/fx2regs.h
+index 0645fe36..6ae3339d 100644
+--- a/fx2lib/include/fx2regs.h
++++ b/fx2lib/include/fx2regs.h
+@@ -266,14 +266,14 @@ __xdata __at 0xE50D volatile BYTE GPCR2; ///< Chip Features
+
+ __sfr __at 0x80 IOA;
+ /* IOA */
+- __sbit __at 0x80 + 0 PA0;
+- __sbit __at 0x80 + 1 PA1;
+- __sbit __at 0x80 + 2 PA2;
+- __sbit __at 0x80 + 3 PA3;
+- __sbit __at 0x80 + 4 PA4;
+- __sbit __at 0x80 + 5 PA5;
+- __sbit __at 0x80 + 6 PA6;
+- __sbit __at 0x80 + 7 PA7;
++ __sbit __at (0x80+0) PA0;
++ __sbit __at (0x80+1) PA1;
++ __sbit __at (0x80+2) PA2;
++ __sbit __at (0x80+3) PA3;
++ __sbit __at (0x80+4) PA4;
++ __sbit __at (0x80+5) PA5;
++ __sbit __at (0x80+6) PA6;
++ __sbit __at (0x80+7) PA7;
+ __sfr __at 0x81 SP;
+ __sfr __at 0x82 DPL;
+ __sfr __at 0x83 DPH;
+@@ -283,14 +283,14 @@ __sfr __at 0x86 DPS;
+ __sfr __at 0x87 PCON;
+ __sfr __at 0x88 TCON;
+ /* TCON */
+- __sbit __at 0x88+0 IT0;
+- __sbit __at 0x88+1 IE0;
+- __sbit __at 0x88+2 IT1;
+- __sbit __at 0x88+3 IE1;
+- __sbit __at 0x88+4 TR0;
+- __sbit __at 0x88+5 TF0;
+- __sbit __at 0x88+6 TR1;
+- __sbit __at 0x88+7 TF1;
++ __sbit __at (0x88+0) IT0;
++ __sbit __at (0x88+1) IE0;
++ __sbit __at (0x88+2) IT1;
++ __sbit __at (0x88+3) IE1;
++ __sbit __at (0x88+4) TR0;
++ __sbit __at (0x88+5) TF0;
++ __sbit __at (0x88+6) TR1;
++ __sbit __at (0x88+7) TF1;
+ __sfr __at 0x89 TMOD;
+ __sfr __at 0x8A TL0;
+ __sfr __at 0x8B TL1;
+@@ -299,28 +299,28 @@ __sfr __at 0x8D TH1;
+ __sfr __at 0x8E CKCON;
+ __sfr __at 0x90 IOB;
+ /* IOB */
+- __sbit __at 0x90 + 0 PB0;
+- __sbit __at 0x90 + 1 PB1;
+- __sbit __at 0x90 + 2 PB2;
+- __sbit __at 0x90 + 3 PB3;
+- __sbit __at 0x90 + 4 PB4;
+- __sbit __at 0x90 + 5 PB5;
+- __sbit __at 0x90 + 6 PB6;
+- __sbit __at 0x90 + 7 PB7;
++ __sbit __at (0x90+0) PB0;
++ __sbit __at (0x90+1) PB1;
++ __sbit __at (0x90+2) PB2;
++ __sbit __at (0x90+3) PB3;
++ __sbit __at (0x90+4) PB4;
++ __sbit __at (0x90+5) PB5;
++ __sbit __at (0x90+6) PB6;
++ __sbit __at (0x90+7) PB7;
+ __sfr __at 0x91 EXIF;
+
+ //__sfr __at 0x92 MPAGE;
+ __sfr __at 0x92 _XPAGE; // same as MPAGE for pdata __sfr access w/ sdcc
+ __sfr __at 0x98 SCON0;
+ /* SCON0 */
+- __sbit __at 0x98+0 RI;
+- __sbit __at 0x98+1 TI;
+- __sbit __at 0x98+2 RB8;
+- __sbit __at 0x98+3 TB8;
+- __sbit __at 0x98+4 REN;
+- __sbit __at 0x98+5 SM2;
+- __sbit __at 0x98+6 SM1;
+- __sbit __at 0x98+7 SM0;
++ __sbit __at (0x98+0) RI;
++ __sbit __at (0x98+1) TI;
++ __sbit __at (0x98+2) RB8;
++ __sbit __at (0x98+3) TB8;
++ __sbit __at (0x98+4) REN;
++ __sbit __at (0x98+5) SM2;
++ __sbit __at (0x98+6) SM1;
++ __sbit __at (0x98+7) SM0;
+ __sfr __at 0x99 SBUF0;
+
+ __sfr __at 0x9A AUTOPTRH1;
+@@ -330,27 +330,27 @@ __sfr __at 0x9E AUTOPTRL2;
+
+ __sfr __at 0xA0 IOC;
+ /* IOC */
+- __sbit __at 0xA0 + 0 PC0;
+- __sbit __at 0xA0 + 1 PC1;
+- __sbit __at 0xA0 + 2 PC2;
+- __sbit __at 0xA0 + 3 PC3;
+- __sbit __at 0xA0 + 4 PC4;
+- __sbit __at 0xA0 + 5 PC5;
+- __sbit __at 0xA0 + 6 PC6;
+- __sbit __at 0xA0 + 7 PC7;
++ __sbit __at (0xA0+0) PC0;
++ __sbit __at (0xA0+1) PC1;
++ __sbit __at (0xA0+2) PC2;
++ __sbit __at (0xA0+3) PC3;
++ __sbit __at (0xA0+4) PC4;
++ __sbit __at (0xA0+5) PC5;
++ __sbit __at (0xA0+6) PC6;
++ __sbit __at (0xA0+7) PC7;
+ __sfr __at 0xA1 INT2CLR;
+ __sfr __at 0xA2 INT4CLR;
+
+ __sfr __at 0xA8 IE;
+ /* IE */
+- __sbit __at 0xA8+0 EX0;
+- __sbit __at 0xA8+1 ET0;
+- __sbit __at 0xA8+2 EX1;
+- __sbit __at 0xA8+3 ET1;
+- __sbit __at 0xA8+4 ES0;
+- __sbit __at 0xA8+5 ET2;
+- __sbit __at 0xA8+6 ES1;
+- __sbit __at 0xA8+7 EA;
++ __sbit __at (0xA8+0) EX0;
++ __sbit __at (0xA8+1) ET0;
++ __sbit __at (0xA8+2) EX1;
++ __sbit __at (0xA8+3) ET1;
++ __sbit __at (0xA8+4) ES0;
++ __sbit __at (0xA8+5) ET2;
++ __sbit __at (0xA8+6) ES1;
++ __sbit __at (0xA8+7) EA;
+
+ __sfr __at 0xAA EP2468STAT;
+ __sfr __at 0xAB EP24FIFOFLGS;
+@@ -358,14 +358,14 @@ __sfr __at 0xAC EP68FIFOFLGS;
+ __sfr __at 0xAF AUTOPTRSETUP;
+ __sfr __at 0xB0 IOD;
+ /* IOD */
+- __sbit __at 0xB0 + 0 PD0;
+- __sbit __at 0xB0 + 1 PD1;
+- __sbit __at 0xB0 + 2 PD2;
+- __sbit __at 0xB0 + 3 PD3;
+- __sbit __at 0xB0 + 4 PD4;
+- __sbit __at 0xB0 + 5 PD5;
+- __sbit __at 0xB0 + 6 PD6;
+- __sbit __at 0xB0 + 7 PD7;
++ __sbit __at (0xB0+0) PD0;
++ __sbit __at (0xB0+1) PD1;
++ __sbit __at (0xB0+2) PD2;
++ __sbit __at (0xB0+3) PD3;
++ __sbit __at (0xB0+4) PD4;
++ __sbit __at (0xB0+5) PD5;
++ __sbit __at (0xB0+6) PD6;
++ __sbit __at (0xB0+7) PD7;
+ __sfr __at 0xB1 IOE;
+ __sfr __at 0xB2 OEA;
+ __sfr __at 0xB3 OEB;
+@@ -375,13 +375,13 @@ __sfr __at 0xB6 OEE;
+
+ __sfr __at 0xB8 IP;
+ /* IP */
+- __sbit __at 0xB8+0 PX0;
+- __sbit __at 0xB8+1 PT0;
+- __sbit __at 0xB8+2 PX1;
+- __sbit __at 0xB8+3 PT1;
+- __sbit __at 0xB8+4 PS0;
+- __sbit __at 0xB8+5 PT2;
+- __sbit __at 0xB8+6 PS1;
++ __sbit __at (0xB8+0) PX0;
++ __sbit __at (0xB8+1) PT0;
++ __sbit __at (0xB8+2) PX1;
++ __sbit __at (0xB8+3) PT1;
++ __sbit __at (0xB8+4) PS0;
++ __sbit __at (0xB8+5) PT2;
++ __sbit __at (0xB8+6) PS1;
+
+ __sfr __at 0xBA EP01STAT;
+ __sfr __at 0xBB GPIFTRIG;
+@@ -392,61 +392,61 @@ __sfr __at 0xBF GPIFSGLDATLNOX;
+
+ __sfr __at 0xC0 SCON1;
+ /* SCON1 */
+- __sbit __at 0xC0+0 RI1;
+- __sbit __at 0xC0+1 TI1;
+- __sbit __at 0xC0+2 RB81;
+- __sbit __at 0xC0+3 TB81;
+- __sbit __at 0xC0+4 REN1;
+- __sbit __at 0xC0+5 SM21;
+- __sbit __at 0xC0+6 SM11;
+- __sbit __at 0xC0+7 SM01;
++ __sbit __at (0xC0+0) RI1;
++ __sbit __at (0xC0+1) TI1;
++ __sbit __at (0xC0+2) RB81;
++ __sbit __at (0xC0+3) TB81;
++ __sbit __at (0xC0+4) REN1;
++ __sbit __at (0xC0+5) SM21;
++ __sbit __at (0xC0+6) SM11;
++ __sbit __at (0xC0+7) SM01;
+ __sfr __at 0xC1 SBUF1;
+ __sfr __at 0xC8 T2CON;
+ /* T2CON */
+- __sbit __at 0xC8+0 CP_RL2;
+- __sbit __at 0xC8+1 C_T2;
+- __sbit __at 0xC8+2 TR2;
+- __sbit __at 0xC8+3 EXEN2;
+- __sbit __at 0xC8+4 TCLK;
+- __sbit __at 0xC8+5 RCLK;
+- __sbit __at 0xC8+6 EXF2;
+- __sbit __at 0xC8+7 TF2;
++ __sbit __at (0xC8+0) CP_RL2;
++ __sbit __at (0xC8+1) C_T2;
++ __sbit __at (0xC8+2) TR2;
++ __sbit __at (0xC8+3) EXEN2;
++ __sbit __at (0xC8+4) TCLK;
++ __sbit __at (0xC8+5) RCLK;
++ __sbit __at (0xC8+6) EXF2;
++ __sbit __at (0xC8+7) TF2;
+ __sfr __at 0xCA RCAP2L;
+ __sfr __at 0xCB RCAP2H;
+ __sfr __at 0xCC TL2;
+ __sfr __at 0xCD TH2;
+ __sfr __at 0xD0 PSW;
+ /* PSW */
+- __sbit __at 0xD0+0 P;
+- __sbit __at 0xD0+1 FL;
+- __sbit __at 0xD0+2 OV;
+- __sbit __at 0xD0+3 RS0;
+- __sbit __at 0xD0+4 RS1;
+- __sbit __at 0xD0+5 F0;
+- __sbit __at 0xD0+6 AC;
+- __sbit __at 0xD0+7 CY;
++ __sbit __at (0xD0+0) P;
++ __sbit __at (0xD0+1) FL;
++ __sbit __at (0xD0+2) OV;
++ __sbit __at (0xD0+3) RS0;
++ __sbit __at (0xD0+4) RS1;
++ __sbit __at (0xD0+5) F0;
++ __sbit __at (0xD0+6) AC;
++ __sbit __at (0xD0+7) CY;
+ __sfr __at 0xD8 EICON; // Was WDCON in DS80C320; Bit Values differ from Reg320
+ /* EICON */
+- __sbit __at 0xD8+3 INT6;
+- __sbit __at 0xD8+4 RESI;
+- __sbit __at 0xD8+5 ERESI;
+- __sbit __at 0xD8+7 SMOD1;
++ __sbit __at (0xD8+3) INT6;
++ __sbit __at (0xD8+4) RESI;
++ __sbit __at (0xD8+5) ERESI;
++ __sbit __at (0xD8+7) SMOD1;
+ __sfr __at 0xE0 ACC;
+ __sfr __at 0xE8 EIE; // EIE Bit Values differ from Reg320
+ /* EIE */
+- __sbit __at 0xE8+0 EUSB;
+- __sbit __at 0xE8+1 EI2C;
+- __sbit __at 0xE8+2 EIEX4;
+- __sbit __at 0xE8+3 EIEX5;
+- __sbit __at 0xE8+4 EIEX6;
++ __sbit __at (0xE8+0) EUSB;
++ __sbit __at (0xE8+1) EI2C;
++ __sbit __at (0xE8+2) EIEX4;
++ __sbit __at (0xE8+3) EIEX5;
++ __sbit __at (0xE8+4) EIEX6;
+ __sfr __at 0xF0 B;
+ __sfr __at 0xF8 EIP; // EIP Bit Values differ from Reg320
+ /* EIP */
+- __sbit __at 0xF8+0 PUSB;
+- __sbit __at 0xF8+1 PI2C;
+- __sbit __at 0xF8+2 EIPX4;
+- __sbit __at 0xF8+3 EIPX5;
+- __sbit __at 0xF8+4 EIPX6;
++ __sbit __at (0xF8+0) PUSB;
++ __sbit __at (0xF8+1) PI2C;
++ __sbit __at (0xF8+2) EIPX4;
++ __sbit __at (0xF8+3) EIPX5;
++ __sbit __at (0xF8+4) EIPX6;
+
+
+ /* CPU Control & Status Register (CPUCS) */