=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Building for libretro-vba-next-20200106
sh: git: not found
c++ -c -o src/sound.o src/sound.cpp -O2 -DBYTE_ORDER=BIG_ENDIAN -DWORDS_BIGENDIAN -DMSB_FIRST -DHAVE_POSIX_MEMALIGN=1 -I/usr/include -DGIT_VERSION=\"-pkgsrc\" -O2 -DNDEBUG -fPIC -D__LIBRETRO__ -DINLINE=inline -DHAVE_HLE_BIOS -DFRONTEND_SUPPORTS_RGB565 -DUSE_CHEATS -DTILED_RENDERING   -DHAVE_STDINT_H -DHAVE_INTTYPES_H  -I. -I./libretro-common/include
c++ -c -o src/memory.o src/memory.cpp -O2 -DBYTE_ORDER=BIG_ENDIAN -DWORDS_BIGENDIAN -DMSB_FIRST -DHAVE_POSIX_MEMALIGN=1 -I/usr/include -DGIT_VERSION=\"-pkgsrc\" -O2 -DNDEBUG -fPIC -D__LIBRETRO__ -DINLINE=inline -DHAVE_HLE_BIOS -DFRONTEND_SUPPORTS_RGB565 -DUSE_CHEATS -DTILED_RENDERING   -DHAVE_STDINT_H -DHAVE_INTTYPES_H  -I. -I./libretro-common/include
c++ -c -o src/gba.o src/gba.cpp -O2 -DBYTE_ORDER=BIG_ENDIAN -DWORDS_BIGENDIAN -DMSB_FIRST -DHAVE_POSIX_MEMALIGN=1 -I/usr/include -DGIT_VERSION=\"-pkgsrc\" -O2 -DNDEBUG -fPIC -D__LIBRETRO__ -DINLINE=inline -DHAVE_HLE_BIOS -DFRONTEND_SUPPORTS_RGB565 -DUSE_CHEATS -DTILED_RENDERING   -DHAVE_STDINT_H -DHAVE_INTTYPES_H  -I. -I./libretro-common/include
distcc[11314] ERROR: compile src/sound.cpp on 10.0.20.122:3760 failed
distcc[11314] (dcc_build_somewhere) Warning: remote compilation of 'src/sound.cpp' failed, retrying locally
distcc[11314] Warning: failed to distribute src/sound.cpp to 10.0.20.122:3760, running locally instead
In file included from src/sound.cpp:24:
src/sound.cpp: In function 'void soundEvent_u16(uint32_t, uint16_t)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/sound.cpp:1890:4: note: in expansion of macro 'WRITE16LE'
 1890 |    WRITE16LE( &ioMem [SGCNT0_H], data & 0x770F );
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/sound.cpp:1890:4: note: in expansion of macro 'WRITE16LE'
 1890 |    WRITE16LE( &ioMem [SGCNT0_H], data & 0x770F );
      |    ^~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/sound.cpp:1903:4: note: in expansion of macro 'WRITE16LE'
 1903 |    WRITE16LE( &ioMem[address], data );
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/sound.cpp:1903:4: note: in expansion of macro 'WRITE16LE'
 1903 |    WRITE16LE( &ioMem[address], data );
      |    ^~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/sound.cpp:1912:4: note: in expansion of macro 'WRITE16LE'
 1912 |    WRITE16LE( &ioMem[address], data );
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/sound.cpp:1912:4: note: in expansion of macro 'WRITE16LE'
 1912 |    WRITE16LE( &ioMem[address], data );
      |    ^~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/sound.cpp:1917:4: note: in expansion of macro 'WRITE16LE'
 1917 |    WRITE16LE( &ioMem[address], data );
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/sound.cpp:1917:4: note: in expansion of macro 'WRITE16LE'
 1917 |    WRITE16LE( &ioMem[address], data );
      |    ^~~~~~~~~
src/sound.cpp: In function 'void soundReadGameMem(const uint8_t*&, int)':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/sound.cpp:2147:14: note: in expansion of macro 'READ16LE'
 2147 |  int data = (READ16LE( &ioMem [SGCNT0_H] ) & 0x770F);
      |              ^~~~~~~~
src/sound.cpp:2147:13: note: to match this '('
 2147 |  int data = (READ16LE( &ioMem [SGCNT0_H] ) & 0x770F);
      |             ^
src/sound.cpp:2147:46: error: lvalue required as unary '&' operand
 2147 |  int data = (READ16LE( &ioMem [SGCNT0_H] ) & 0x770F);
      |                                              ^~~~~~
In file included from src/sound.cpp:24:
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/sound.cpp:2148:2: note: in expansion of macro 'WRITE16LE'
 2148 |  WRITE16LE( &ioMem [SGCNT0_H], data & 0x770F );
      |  ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/sound.cpp:2148:2: note: in expansion of macro 'WRITE16LE'
 2148 |  WRITE16LE( &ioMem [SGCNT0_H], data & 0x770F );
      |  ^~~~~~~~~
distcc[11314] ERROR: compile src/sound.cpp on localhost failed
gmake: *** [Makefile.libretro:622: src/sound.o] Error 1
gmake: *** Waiting for unfinished jobs....
distcc[21545] ERROR: compile src/gba.cpp on 10.0.20.122:3760 failed
distcc[21545] (dcc_build_somewhere) Warning: remote compilation of 'src/gba.cpp' failed, retrying locally
distcc[21545] Warning: failed to distribute src/gba.cpp to 10.0.20.122:3760, running locally instead
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'u32 CPUReadMemory(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:872:14: note: in expansion of macro 'READ32LE'
  872 |      value = READ32LE(((u32 *)&biosProtected));
      |              ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:872:14: note: in expansion of macro 'READ32LE'
  872 |      value = READ32LE(((u32 *)&biosProtected));
      |              ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:872:14: note: in expansion of macro 'READ32LE'
  872 |      value = READ32LE(((u32 *)&biosProtected));
      |              ^~~~~~~~
src/gba.cpp:873:5: error: expected '}' before 'else'
  873 |     else goto unreadable;
      |     ^~~~
src/gba.cpp:870:4: note: to match this '{'
  870 |    {
      |    ^
src/gba.cpp:875:4: error: 'else' without a previous 'if'
  875 |    else
      |    ^~~~
In file included from src/gba.cpp:16:
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:876:13: note: in expansion of macro 'READ32LE'
  876 |     value = READ32LE(bios + (address & 0x3FFC));
      |             ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:876:13: note: in expansion of macro 'READ32LE'
  876 |     value = READ32LE(bios + (address & 0x3FFC));
      |             ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:876:13: note: in expansion of macro 'READ32LE'
  876 |     value = READ32LE(bios + (address & 0x3FFC));
      |             ^~~~~~~~
src/gba.cpp:877:4: error: break statement not within loop or switch
  877 |    break;
      |    ^~~~~
src/gba.cpp:878:3: error: case label '2' not within a switch statement
  878 |   case 0x02:
      |   ^~~~
In file included from src/gba.cpp:16:
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:880:12: note: in expansion of macro 'READ32LE'
  880 |    value = READ32LE(workRAM + (address & 0x3FFFC));
      |            ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:880:12: note: in expansion of macro 'READ32LE'
  880 |    value = READ32LE(workRAM + (address & 0x3FFFC));
      |            ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:880:12: note: in expansion of macro 'READ32LE'
  880 |    value = READ32LE(workRAM + (address & 0x3FFFC));
      |            ^~~~~~~~
src/gba.cpp:881:4: error: break statement not within loop or switch
  881 |    break;
      |    ^~~~~
src/gba.cpp:882:3: error: case label '3' not within a switch statement
  882 |   case 0x03:
      |   ^~~~
In file included from src/gba.cpp:16:
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:884:12: note: in expansion of macro 'READ32LE'
  884 |    value = READ32LE(internalRAM + (address & 0x7ffC));
      |            ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:884:12: note: in expansion of macro 'READ32LE'
  884 |    value = READ32LE(internalRAM + (address & 0x7ffC));
      |            ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:884:12: note: in expansion of macro 'READ32LE'
  884 |    value = READ32LE(internalRAM + (address & 0x7ffC));
      |            ^~~~~~~~
src/gba.cpp:885:4: error: break statement not within loop or switch
  885 |    break;
      |    ^~~~~
src/gba.cpp:886:3: error: case label '4' not within a switch statement
  886 |   case 0x04:
      |   ^~~~
In file included from src/gba.cpp:16:
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:891:14: note: in expansion of macro 'READ32LE'
  891 |      value = READ32LE(ioMem + (address & 0x3fC));
      |              ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:891:14: note: in expansion of macro 'READ32LE'
  891 |      value = READ32LE(ioMem + (address & 0x3fC));
      |              ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:891:14: note: in expansion of macro 'READ32LE'
  891 |      value = READ32LE(ioMem + (address & 0x3fC));
      |              ^~~~~~~~
src/gba.cpp:892:5: error: expected '}' before 'else'
  892 |     else
      |     ^~~~
src/gba.cpp:889:4: note: to match this '{'
  889 |    {
      |    ^
src/gba.cpp:873:15: error: label 'unreadable' used but not defined
  873 |     else goto unreadable;
      |               ^~~~~~~~~~
src/gba.cpp:894:4: warning: no return statement in function returning non-void [-Wreturn-type]
  894 |    }
      |    ^
src/gba.cpp: At global scope:
src/gba.cpp:895:4: error: expected unqualified-id before 'else'
  895 |    else
      |    ^~~~
src/gba.cpp:897:4: error: expected unqualified-id before 'break'
  897 |    break;
      |    ^~~~~
src/gba.cpp:898:3: error: expected unqualified-id before 'case'
  898 |   case 0x05:
      |   ^~~~
src/gba.cpp:901:4: error: expected unqualified-id before 'break'
  901 |    break;
      |    ^~~~~
src/gba.cpp:902:3: error: expected unqualified-id before 'case'
  902 |   case 0x06: {
      |   ^~~~
src/gba.cpp:913:5: error: expected unqualified-id before 'break'
  913 |   } break;
      |     ^~~~~
src/gba.cpp:914:3: error: expected unqualified-id before 'case'
  914 |   case 0x07:
      |   ^~~~
src/gba.cpp:917:4: error: expected unqualified-id before 'break'
  917 |    break;
      |    ^~~~~
src/gba.cpp:918:3: error: expected unqualified-id before 'case'
  918 |   case 0x08:
      |   ^~~~
src/gba.cpp:925:4: error: expected unqualified-id before 'break'
  925 |    break;
      |    ^~~~~
src/gba.cpp:926:3: error: expected unqualified-id before 'case'
  926 |   case 0x0D:
      |   ^~~~
src/gba.cpp:928:10: error: expected unqualified-id before 'break'
  928 |          break;
      |          ^~~~~
src/gba.cpp:929:3: error: expected unqualified-id before 'case'
  929 |   case 14:
      |   ^~~~
src/gba.cpp:932:13: error: expected unqualified-id before 'break'
  932 |             break;
      |             ^~~~~
src/gba.cpp:933:3: error: expected unqualified-id before 'default'
  933 |   default:
      |   ^~~~~~~
src/gba.cpp:937:13: error: expected unqualified-id before 'else'
  937 |             else
      |             ^~~~
src/gba.cpp:938:58: error: expected unqualified-id before '|' token
  938 |              value = CPUReadHalfWordQuick(bus.reg[15].I) | CPUReadHalfWordQuick(bus.reg[15].I) << 16;
      |                                                          ^
src/gba.cpp:938:96: error: expected unqualified-id before '<<' token
  938 |              value = CPUReadHalfWordQuick(bus.reg[15].I) | CPUReadHalfWordQuick(bus.reg[15].I) << 16;
      |                                                                                                ^~
src/gba.cpp:939:2: error: expected declaration before '}' token
  939 |  }
      |  ^
src/gba.cpp:941:2: error: expected unqualified-id before 'if'
  941 |  if(address & 3) {
      |  ^~
src/gba.cpp:945:2: error: expected unqualified-id before 'return'
  945 |  return value;
      |  ^~~~~~
src/gba.cpp:946:1: error: expected declaration before '}' token
  946 | }
      | ^
src/gba.cpp: In function 'u32 CPUReadHalfWord(u32)':
src/gba.cpp:959:5: error: expected '}' before 'else'
  959 |     else
      |     ^~~~
src/gba.cpp:956:4: note: to match this '{'
  956 |    {
      |    ^
src/gba.cpp:962:4: error: 'else' without a previous 'if'
  962 |    else
      |    ^~~~
src/gba.cpp:964:4: error: break statement not within loop or switch
  964 |    break;
      |    ^~~~~
src/gba.cpp:965:3: error: case label '2' not within a switch statement
  965 |   case 2:
      |   ^~~~
src/gba.cpp:967:4: error: break statement not within loop or switch
  967 |    break;
      |    ^~~~~
src/gba.cpp:968:3: error: case label '3' not within a switch statement
  968 |   case 3:
      |   ^~~~
src/gba.cpp:970:4: error: break statement not within loop or switch
  970 |    break;
      |    ^~~~~
src/gba.cpp:971:3: error: case label '4' not within a switch statement
  971 |   case 4:
      |   ^~~~
src/gba.cpp:991:4: error: break statement not within loop or switch
  991 |    break;
      |    ^~~~~
src/gba.cpp:992:3: error: case label '5' not within a switch statement
  992 |   case 5:
      |   ^~~~
src/gba.cpp:994:4: error: break statement not within loop or switch
  994 |    break;
      |    ^~~~~
src/gba.cpp:995:3: error: case label '6' not within a switch statement
  995 |   case 6: {
      |   ^~~~
src/gba.cpp:1000:5: error: break statement not within loop or switch
 1000 |     break;
      |     ^~~~~
src/gba.cpp:1005:5: error: break statement not within loop or switch
 1005 |   } break;
      |     ^~~~~
src/gba.cpp:1006:3: error: case label '7' not within a switch statement
 1006 |   case 7:
      |   ^~~~
src/gba.cpp:1008:4: error: break statement not within loop or switch
 1008 |    break;
      |    ^~~~~
src/gba.cpp:1009:3: error: case label '8' not within a switch statement
 1009 |   case 8:
      |   ^~~~
src/gba.cpp:1010:3: error: case label '9' not within a switch statement
 1010 |   case 9:
      |   ^~~~
src/gba.cpp:1011:3: error: case label '10' not within a switch statement
 1011 |   case 10:
      |   ^~~~
src/gba.cpp:1012:3: error: case label '11' not within a switch statement
 1012 |   case 11:
      |   ^~~~
src/gba.cpp:1013:3: error: case label '12' not within a switch statement
 1013 |   case 12:
      |   ^~~~
src/gba.cpp:1028:4: error: break statement not within loop or switch
 1028 |    break;
      |    ^~~~~
src/gba.cpp:1029:3: error: case label '13' not within a switch statement
 1029 |   case 13:
      |   ^~~~
src/gba.cpp:1031:10: error: break statement not within loop or switch
 1031 |          break;
      |          ^~~~~
src/gba.cpp:1032:3: error: case label '14' not within a switch statement
 1032 |   case 14:
      |   ^~~~
src/gba.cpp:1034:10: error: break statement not within loop or switch
 1034 |          break;
      |          ^~~~~
src/gba.cpp:1035:3: error: case label not within a switch statement
 1035 |   default:
      |   ^~~~~~~
src/gba.cpp:1043:4: error: break statement not within loop or switch
 1043 |    break;
      |    ^~~~~
src/gba.cpp: At global scope:
src/gba.cpp:1046:2: error: expected unqualified-id before 'if'
 1046 |  if(address & 1)
      |  ^~
src/gba.cpp:1049:2: error: expected unqualified-id before 'return'
 1049 |  return value;
      |  ^~~~~~
src/gba.cpp:1050:1: error: expected declaration before '}' token
 1050 | }
      | ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void CPUWriteHalfWord(u32, u16)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:1180:4: note: in expansion of macro 'WRITE16LE'
 1180 |    WRITE16LE(workRAM + (address & 0x3FFFE),value);
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:1180:4: note: in expansion of macro 'WRITE16LE'
 1180 |    WRITE16LE(workRAM + (address & 0x3FFFE),value);
      |    ^~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:1183:4: note: in expansion of macro 'WRITE16LE'
 1183 |    WRITE16LE(internalRAM + (address & 0x7ffe), value);
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:1183:4: note: in expansion of macro 'WRITE16LE'
 1183 |    WRITE16LE(internalRAM + (address & 0x7ffe), value);
      |    ^~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:1190:4: note: in expansion of macro 'WRITE16LE'
 1190 |    WRITE16LE(paletteRAM + (address & 0x3fe), value);
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:1190:4: note: in expansion of macro 'WRITE16LE'
 1190 |    WRITE16LE(paletteRAM + (address & 0x3fe), value);
      |    ^~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:1198:4: note: in expansion of macro 'WRITE16LE'
 1198 |    WRITE16LE(vram + address, value);
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:1198:4: note: in expansion of macro 'WRITE16LE'
 1198 |    WRITE16LE(vram + address, value);
      |    ^~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:1201:4: note: in expansion of macro 'WRITE16LE'
 1201 |    WRITE16LE(oam + (address & 0x3fe), value);
      |    ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:1201:4: note: in expansion of macro 'WRITE16LE'
 1201 |    WRITE16LE(oam + (address & 0x3fe), value);
      |    ^~~~~~~~~
src/gba.cpp: In function 'void CPUWriteByte(u32, u8)':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:1302:18: note: in expansion of macro 'READ16LE'
 1302 |         param = (READ16LE(&ioMem[lowerBits]) & 0x00FF) | (b << 8);
      |                  ^~~~~~~~
src/gba.cpp:1302:17: note: to match this '('
 1302 |         param = (READ16LE(&ioMem[lowerBits]) & 0x00FF) | (b << 8);
      |                 ^
src/gba.cpp:1302:48: error: lvalue required as unary '&' operand
 1302 |         param = (READ16LE(&ioMem[lowerBits]) & 0x00FF) | (b << 8);
      |                                                ^~~~~~
src/gba.cpp:1303:8: error: expected '}' before 'else'
 1303 |        else
      |        ^~~~
src/gba.cpp:1298:7: note: to match this '{'
 1298 |       {
      |       ^
src/gba.cpp:1303:8: error: expected '}' before 'else'
 1303 |        else
      |        ^~~~
src/gba.cpp:1245:5: note: to match this '{'
 1245 |     {
      |     ^
src/gba.cpp:1303:8: error: expected '}' before 'else'
 1303 |        else
      |        ^~~~
src/gba.cpp:1243:4: note: to match this '{'
 1243 |    {
      |    ^
src/gba.cpp:1304:9: error: 'param' was not declared in this scope
 1304 |         param = (READ16LE(&ioMem[lowerBits]) & 0xFF00) | b;
      |         ^~~~~
In file included from src/gba.cpp:16:
src/gba.cpp:1304:34: error: 'lowerBits' was not declared in this scope
 1304 |         param = (READ16LE(&ioMem[lowerBits]) & 0xFF00) | b;
      |                                  ^~~~~~~~~
src/port.h:79:32: note: in definition of macro 'READ16LE'
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                ^
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:1304:18: note: in expansion of macro 'READ16LE'
 1304 |         param = (READ16LE(&ioMem[lowerBits]) & 0xFF00) | b;
      |                  ^~~~~~~~
src/gba.cpp:1304:17: note: to match this '('
 1304 |         param = (READ16LE(&ioMem[lowerBits]) & 0xFF00) | b;
      |                 ^
src/gba.cpp:1304:48: error: lvalue required as unary '&' operand
 1304 |         param = (READ16LE(&ioMem[lowerBits]) & 0xFF00) | b;
      |                                                ^~~~~~
src/gba.cpp:1306:26: error: 'lowerBits' was not declared in this scope
 1306 |        CPUUpdateRegister(lowerBits, param);
      |                          ^~~~~~~~~
src/gba.cpp:1306:37: error: 'param' was not declared in this scope
 1306 |        CPUUpdateRegister(lowerBits, param);
      |                                     ^~~~~
src/gba.cpp:1308:6: error: break statement not within loop or switch
 1308 |      break;
      |      ^~~~~
src/gba.cpp: At global scope:
src/gba.cpp:1310:4: error: expected declaration before '}' token
 1310 |    }
      |    ^
src/gba.cpp:1311:4: error: expected unqualified-id before 'break'
 1311 |    break;
      |    ^~~~~
src/gba.cpp:1312:3: error: expected unqualified-id before 'case'
 1312 |   case 5:
      |   ^~~~
src/gba.cpp:1315:4: error: expected unqualified-id before 'break'
 1315 |    break;
      |    ^~~~~
src/gba.cpp:1316:3: error: expected unqualified-id before 'case'
 1316 |   case 6:
      |   ^~~~
src/gba.cpp:1318:4: error: expected unqualified-id before 'if'
 1318 |    if ((R_DISPCNT_Video_Mode >2) && ((address & 0x1C000) == 0x18000))
      |    ^~
src/gba.cpp:1320:4: error: expected unqualified-id before 'if'
 1320 |    if ((address & 0x18000) == 0x18000)
      |    ^~
src/gba.cpp:1325:4: error: expected unqualified-id before 'if'
 1325 |    if ((address) < objTilesAddress[(R_DISPCNT_Video_Mode+1)>>2])
      |    ^~
src/gba.cpp:1327:4: error: expected unqualified-id before 'break'
 1327 |    break;
      |    ^~~~~
src/gba.cpp:1328:3: error: expected unqualified-id before 'case'
 1328 |   case 7:
      |   ^~~~
src/gba.cpp:1333:3: error: expected unqualified-id before 'case'
 1333 |   case 13:
      |   ^~~~
src/gba.cpp:1336:4: error: expected unqualified-id before 'break'
 1336 |    break;
      |    ^~~~~
src/gba.cpp:1337:3: error: expected unqualified-id before 'case'
 1337 |   case 14:
      |   ^~~~
src/gba.cpp:1343:3: error: expected unqualified-id before 'default'
 1343 |   default:
      |   ^~~~~~~
src/gba.cpp:1345:2: error: expected declaration before '}' token
 1345 |  }
      |  ^
src/gba.cpp:1346:1: error: expected declaration before '}' token
 1346 | }
      | ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void CPUSoftwareInterrupt(int)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2356:3: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2356 |   CPU_SOFTWARE_INTERRUPT();
      |   ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2356:3: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2356 |   CPU_SOFTWARE_INTERRUPT();
      |   ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2356:3: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2356 |   CPU_SOFTWARE_INTERRUPT();
      |   ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2356:3: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2356 |   CPU_SOFTWARE_INTERRUPT();
      |   ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2356:3: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2356 |   CPU_SOFTWARE_INTERRUPT();
      |   ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2356:3: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2356 |   CPU_SOFTWARE_INTERRUPT();
      |   ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2364:4: note: in expansion of macro 'ARM_PREFETCH'
 2364 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2364:4: note: in expansion of macro 'ARM_PREFETCH'
 2364 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2364:4: note: in expansion of macro 'ARM_PREFETCH'
 2364 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2364:4: note: in expansion of macro 'ARM_PREFETCH'
 2364 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2364:4: note: in expansion of macro 'ARM_PREFETCH'
 2364 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2364:4: note: in expansion of macro 'ARM_PREFETCH'
 2364 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2382:4: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2382 |    CPU_SOFTWARE_INTERRUPT();
      |    ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2382:4: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2382 |    CPU_SOFTWARE_INTERRUPT();
      |    ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2382:4: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2382 |    CPU_SOFTWARE_INTERRUPT();
      |    ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2382:4: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2382 |    CPU_SOFTWARE_INTERRUPT();
      |    ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2382:4: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2382 |    CPU_SOFTWARE_INTERRUPT();
      |    ^~~~~~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2330:3: note: in expansion of macro 'ARM_PREFETCH'
 2330 |   ARM_PREFETCH; \
      |   ^~~~~~~~~~~~
src/gba.cpp:2382:4: note: in expansion of macro 'CPU_SOFTWARE_INTERRUPT'
 2382 |    CPU_SOFTWARE_INTERRUPT();
      |    ^~~~~~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void armUnknownInsn(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2592:2: note: in expansion of macro 'ARM_PREFETCH'
 2592 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2592:2: note: in expansion of macro 'ARM_PREFETCH'
 2592 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2592:2: note: in expansion of macro 'ARM_PREFETCH'
 2592 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2592:2: note: in expansion of macro 'ARM_PREFETCH'
 2592 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2592:2: note: in expansion of macro 'ARM_PREFETCH'
 2592 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:2592:2: note: in expansion of macro 'ARM_PREFETCH'
 2592 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/gba.cpp: In function 'void arm000(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm001(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm002(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm003(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm004(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm005(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm006(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm007(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm200(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3067:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3067 | DEFINE_ALU_INSN_NC(00, 20, AND,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm010(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm011(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm012(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm013(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm014(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm015(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm016(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm017(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm210(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3069:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3069 | DEFINE_ALU_INSN_C (01, 21, ANDS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm020(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm021(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm022(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm023(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm024(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm025(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm026(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm027(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm220(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3072:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3072 | DEFINE_ALU_INSN_NC(02, 22, EOR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm030(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm031(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm032(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm033(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm034(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm035(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm036(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm037(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm230(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3074:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3074 | DEFINE_ALU_INSN_C (03, 23, EORS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm040(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm041(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm042(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm043(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm044(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm045(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm046(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm047(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm240(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3077:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3077 | DEFINE_ALU_INSN_NC(04, 24, SUB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm050(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm051(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm052(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm053(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm054(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm055(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm056(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm057(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm250(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3079:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3079 | DEFINE_ALU_INSN_NC(05, 25, SUBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm060(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm061(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm062(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm063(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm064(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm065(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm066(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm067(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm260(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3082:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3082 | DEFINE_ALU_INSN_NC(06, 26, RSB,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm070(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm071(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm072(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm073(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm074(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm075(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm076(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm077(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm270(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3084:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3084 | DEFINE_ALU_INSN_NC(07, 27, RSBS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm080(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm081(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm082(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm083(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm084(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm085(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm086(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm087(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm280(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3087:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3087 | DEFINE_ALU_INSN_NC(08, 28, ADD,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm090(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm091(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm092(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm093(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm094(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm095(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm096(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm097(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm290(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3089:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3089 | DEFINE_ALU_INSN_NC(09, 29, ADDS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0A7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm2A0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3092:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3092 | DEFINE_ALU_INSN_NC(0A, 2A, ADC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0B7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm2B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3094:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3094 | DEFINE_ALU_INSN_NC(0B, 2B, ADCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0C7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm2C0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3097:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3097 | DEFINE_ALU_INSN_NC(0C, 2C, SBC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0D7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm2D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3099:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3099 | DEFINE_ALU_INSN_NC(0D, 2D, SBCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0E7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm2E0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3102:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3102 | DEFINE_ALU_INSN_NC(0E, 2E, RSC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm0F7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm2F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3104:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3104 | DEFINE_ALU_INSN_NC(0F, 2F, RSCS, YES)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm110(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm111(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm112(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm113(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm114(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm115(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm116(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm117(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm310(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3107:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3107 | DEFINE_ALU_INSN_C (11, 31, TST,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm130(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm131(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm132(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm133(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm134(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm135(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm136(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm137(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm330(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3110:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3110 | DEFINE_ALU_INSN_C (13, 33, TEQ,  NO)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm150(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm151(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm152(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm153(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm154(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm155(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm156(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm157(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm350(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3113:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3113 | DEFINE_ALU_INSN_NC(15, 35, CMP,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm170(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm171(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm172(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm173(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm174(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm175(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm176(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm177(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm370(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3116:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3116 | DEFINE_ALU_INSN_NC(17, 37, CMN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm180(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm181(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm182(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm183(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm184(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm185(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm186(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm187(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm380(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3119:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3119 | DEFINE_ALU_INSN_NC(18, 38, ORR,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm190(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm191(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm192(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm193(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm194(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm195(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm196(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm197(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm390(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3121:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3121 | DEFINE_ALU_INSN_C (19, 39, ORRS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1A7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm3A0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3124:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3124 | DEFINE_ALU_INSN_NC(1A, 3A, MOV,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1B7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm3B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3126:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3126 | DEFINE_ALU_INSN_C (1B, 3B, MOVS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1C7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm3C0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3129:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3129 | DEFINE_ALU_INSN_NC(1C, 3C, BIC,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1D7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm3D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3131:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3131 | DEFINE_ALU_INSN_C (1D, 3D, BICS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3056:44: note: in expansion of macro 'ALU_INSN'
 3056 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3057:44: note: in expansion of macro 'ALU_INSN'
 3057 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSL_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3058:44: note: in expansion of macro 'ALU_INSN'
 3058 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3059:44: note: in expansion of macro 'ALU_INSN'
 3059 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_LSR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3060:44: note: in expansion of macro 'ALU_INSN'
 3060 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3061:44: note: in expansion of macro 'ALU_INSN'
 3061 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ASR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3062:44: note: in expansion of macro 'ALU_INSN'
 3062 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_IMM_NC, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1E7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3063:44: note: in expansion of macro 'ALU_INSN'
 3063 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_ROR_REG_NC, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm3E0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3064:44: note: in expansion of macro 'ALU_INSN'
 3064 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_NC, VALUE_IMM_NC,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3134:1: note: in expansion of macro 'DEFINE_ALU_INSN_NC'
 3134 | DEFINE_ALU_INSN_NC(1E, 3E, MVN,  NO)
      | ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3046:44: note: in expansion of macro 'ALU_INSN'
 3046 |   static  void arm##CODE1##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F1(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3047:44: note: in expansion of macro 'ALU_INSN'
 3047 |   static  void arm##CODE1##1(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSL_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3048:44: note: in expansion of macro 'ALU_INSN'
 3048 |   static  void arm##CODE1##2(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F3(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3049:44: note: in expansion of macro 'ALU_INSN'
 3049 |   static  void arm##CODE1##3(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_LSR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3050:44: note: in expansion of macro 'ALU_INSN'
 3050 |   static  void arm##CODE1##4(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F5(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3051:44: note: in expansion of macro 'ALU_INSN'
 3051 |   static  void arm##CODE1##5(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ASR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3052:44: note: in expansion of macro 'ALU_INSN'
 3052 |   static  void arm##CODE1##6(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_IMM_C, OP_##OP, MODECHANGE_##MODECHANGE, 0); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1F7(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3053:44: note: in expansion of macro 'ALU_INSN'
 3053 |   static  void arm##CODE1##7(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_ROR_REG_C, OP_##OP, MODECHANGE_##MODECHANGE, 1); }\
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm3F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3032:13: note: in expansion of macro 'ARM_PREFETCH'
 3032 |             ARM_PREFETCH;                                        \
      |             ^~~~~~~~~~~~
src/gba.cpp:3054:44: note: in expansion of macro 'ALU_INSN'
 3054 |   static  void arm##CODE2##0(u32 opcode) { ALU_INSN(ALU_INIT_C, VALUE_IMM_C,     OP_##OP, MODECHANGE_##MODECHANGE, 0); }
      |                                            ^~~~~~~~
src/gba.cpp:3136:1: note: in expansion of macro 'DEFINE_ALU_INSN_C'
 3136 | DEFINE_ALU_INSN_C (1F, 3F, MVNS, YES)
      | ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void arm121(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3388:4: note: in expansion of macro 'ARM_PREFETCH'
 3388 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3388:4: note: in expansion of macro 'ARM_PREFETCH'
 3388 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3388:4: note: in expansion of macro 'ARM_PREFETCH'
 3388 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3388:4: note: in expansion of macro 'ARM_PREFETCH'
 3388 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3388:4: note: in expansion of macro 'ARM_PREFETCH'
 3388 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3388:4: note: in expansion of macro 'ARM_PREFETCH'
 3388 |    ARM_PREFETCH;
      |    ^~~~~~~~~~~~
src/gba.cpp: In function 'void arm01B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3547:35: note: in expansion of macro 'LDR_POSTDEC'
 3547 | static  void arm01B(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3547:35: note: in expansion of macro 'LDR_POSTDEC'
 3547 | static  void arm01B(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3547:35: note: in expansion of macro 'LDR_POSTDEC'
 3547 | static  void arm01B(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3547:35: note: in expansion of macro 'LDR_POSTDEC'
 3547 | static  void arm01B(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3547:35: note: in expansion of macro 'LDR_POSTDEC'
 3547 | static  void arm01B(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3547:35: note: in expansion of macro 'LDR_POSTDEC'
 3547 | static  void arm01B(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm05B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3549:35: note: in expansion of macro 'LDR_POSTDEC'
 3549 | static  void arm05B(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3549:35: note: in expansion of macro 'LDR_POSTDEC'
 3549 | static  void arm05B(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3549:35: note: in expansion of macro 'LDR_POSTDEC'
 3549 | static  void arm05B(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3549:35: note: in expansion of macro 'LDR_POSTDEC'
 3549 | static  void arm05B(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3549:35: note: in expansion of macro 'LDR_POSTDEC'
 3549 | static  void arm05B(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3549:35: note: in expansion of macro 'LDR_POSTDEC'
 3549 | static  void arm05B(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm09B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3551:35: note: in expansion of macro 'LDR_POSTINC'
 3551 | static  void arm09B(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3551:35: note: in expansion of macro 'LDR_POSTINC'
 3551 | static  void arm09B(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3551:35: note: in expansion of macro 'LDR_POSTINC'
 3551 | static  void arm09B(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3551:35: note: in expansion of macro 'LDR_POSTINC'
 3551 | static  void arm09B(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3551:35: note: in expansion of macro 'LDR_POSTINC'
 3551 | static  void arm09B(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3551:35: note: in expansion of macro 'LDR_POSTINC'
 3551 | static  void arm09B(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm0DB(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3553:35: note: in expansion of macro 'LDR_POSTINC'
 3553 | static  void arm0DB(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3553:35: note: in expansion of macro 'LDR_POSTINC'
 3553 | static  void arm0DB(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3553:35: note: in expansion of macro 'LDR_POSTINC'
 3553 | static  void arm0DB(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3553:35: note: in expansion of macro 'LDR_POSTINC'
 3553 | static  void arm0DB(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3553:35: note: in expansion of macro 'LDR_POSTINC'
 3553 | static  void arm0DB(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3553:35: note: in expansion of macro 'LDR_POSTINC'
 3553 | static  void arm0DB(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm11B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3555:35: note: in expansion of macro 'LDR_PREDEC'
 3555 | static  void arm11B(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3555:35: note: in expansion of macro 'LDR_PREDEC'
 3555 | static  void arm11B(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3555:35: note: in expansion of macro 'LDR_PREDEC'
 3555 | static  void arm11B(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3555:35: note: in expansion of macro 'LDR_PREDEC'
 3555 | static  void arm11B(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3555:35: note: in expansion of macro 'LDR_PREDEC'
 3555 | static  void arm11B(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3555:35: note: in expansion of macro 'LDR_PREDEC'
 3555 | static  void arm11B(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm13B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3557:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3557 | static  void arm13B(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3557:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3557 | static  void arm13B(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3557:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3557 | static  void arm13B(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3557:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3557 | static  void arm13B(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3557:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3557 | static  void arm13B(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3557:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3557 | static  void arm13B(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm15B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3559:35: note: in expansion of macro 'LDR_PREDEC'
 3559 | static  void arm15B(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3559:35: note: in expansion of macro 'LDR_PREDEC'
 3559 | static  void arm15B(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3559:35: note: in expansion of macro 'LDR_PREDEC'
 3559 | static  void arm15B(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3559:35: note: in expansion of macro 'LDR_PREDEC'
 3559 | static  void arm15B(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3559:35: note: in expansion of macro 'LDR_PREDEC'
 3559 | static  void arm15B(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3559:35: note: in expansion of macro 'LDR_PREDEC'
 3559 | static  void arm15B(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm17B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3561:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3561 | static  void arm17B(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3561:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3561 | static  void arm17B(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3561:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3561 | static  void arm17B(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3561:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3561 | static  void arm17B(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3561:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3561 | static  void arm17B(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3561:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3561 | static  void arm17B(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm19B(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3563:35: note: in expansion of macro 'LDR_PREINC'
 3563 | static  void arm19B(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3563:35: note: in expansion of macro 'LDR_PREINC'
 3563 | static  void arm19B(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3563:35: note: in expansion of macro 'LDR_PREINC'
 3563 | static  void arm19B(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3563:35: note: in expansion of macro 'LDR_PREINC'
 3563 | static  void arm19B(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3563:35: note: in expansion of macro 'LDR_PREINC'
 3563 | static  void arm19B(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3563:35: note: in expansion of macro 'LDR_PREINC'
 3563 | static  void arm19B(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm1BB(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3565:35: note: in expansion of macro 'LDR_PREINC_WB'
 3565 | static  void arm1BB(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3565:35: note: in expansion of macro 'LDR_PREINC_WB'
 3565 | static  void arm1BB(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3565:35: note: in expansion of macro 'LDR_PREINC_WB'
 3565 | static  void arm1BB(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3565:35: note: in expansion of macro 'LDR_PREINC_WB'
 3565 | static  void arm1BB(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3565:35: note: in expansion of macro 'LDR_PREINC_WB'
 3565 | static  void arm1BB(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3565:35: note: in expansion of macro 'LDR_PREINC_WB'
 3565 | static  void arm1BB(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1DB(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3567:35: note: in expansion of macro 'LDR_PREINC'
 3567 | static  void arm1DB(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3567:35: note: in expansion of macro 'LDR_PREINC'
 3567 | static  void arm1DB(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3567:35: note: in expansion of macro 'LDR_PREINC'
 3567 | static  void arm1DB(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3567:35: note: in expansion of macro 'LDR_PREINC'
 3567 | static  void arm1DB(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3567:35: note: in expansion of macro 'LDR_PREINC'
 3567 | static  void arm1DB(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3567:35: note: in expansion of macro 'LDR_PREINC'
 3567 | static  void arm1DB(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm1FB(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3569:35: note: in expansion of macro 'LDR_PREINC_WB'
 3569 | static  void arm1FB(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3569:35: note: in expansion of macro 'LDR_PREINC_WB'
 3569 | static  void arm1FB(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3569:35: note: in expansion of macro 'LDR_PREINC_WB'
 3569 | static  void arm1FB(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3569:35: note: in expansion of macro 'LDR_PREINC_WB'
 3569 | static  void arm1FB(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3569:35: note: in expansion of macro 'LDR_PREINC_WB'
 3569 | static  void arm1FB(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3569:35: note: in expansion of macro 'LDR_PREINC_WB'
 3569 | static  void arm1FB(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm01D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3572:35: note: in expansion of macro 'LDR_POSTDEC'
 3572 | static  void arm01D(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3572:35: note: in expansion of macro 'LDR_POSTDEC'
 3572 | static  void arm01D(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3572:35: note: in expansion of macro 'LDR_POSTDEC'
 3572 | static  void arm01D(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3572:35: note: in expansion of macro 'LDR_POSTDEC'
 3572 | static  void arm01D(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3572:35: note: in expansion of macro 'LDR_POSTDEC'
 3572 | static  void arm01D(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3572:35: note: in expansion of macro 'LDR_POSTDEC'
 3572 | static  void arm01D(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm05D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3574:35: note: in expansion of macro 'LDR_POSTDEC'
 3574 | static  void arm05D(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3574:35: note: in expansion of macro 'LDR_POSTDEC'
 3574 | static  void arm05D(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3574:35: note: in expansion of macro 'LDR_POSTDEC'
 3574 | static  void arm05D(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3574:35: note: in expansion of macro 'LDR_POSTDEC'
 3574 | static  void arm05D(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3574:35: note: in expansion of macro 'LDR_POSTDEC'
 3574 | static  void arm05D(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3574:35: note: in expansion of macro 'LDR_POSTDEC'
 3574 | static  void arm05D(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm09D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3576:35: note: in expansion of macro 'LDR_POSTINC'
 3576 | static  void arm09D(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3576:35: note: in expansion of macro 'LDR_POSTINC'
 3576 | static  void arm09D(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3576:35: note: in expansion of macro 'LDR_POSTINC'
 3576 | static  void arm09D(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3576:35: note: in expansion of macro 'LDR_POSTINC'
 3576 | static  void arm09D(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3576:35: note: in expansion of macro 'LDR_POSTINC'
 3576 | static  void arm09D(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3576:35: note: in expansion of macro 'LDR_POSTINC'
 3576 | static  void arm09D(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm0DD(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3578:35: note: in expansion of macro 'LDR_POSTINC'
 3578 | static  void arm0DD(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3578:35: note: in expansion of macro 'LDR_POSTINC'
 3578 | static  void arm0DD(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3578:35: note: in expansion of macro 'LDR_POSTINC'
 3578 | static  void arm0DD(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3578:35: note: in expansion of macro 'LDR_POSTINC'
 3578 | static  void arm0DD(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3578:35: note: in expansion of macro 'LDR_POSTINC'
 3578 | static  void arm0DD(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3578:35: note: in expansion of macro 'LDR_POSTINC'
 3578 | static  void arm0DD(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm11D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3580:35: note: in expansion of macro 'LDR_PREDEC'
 3580 | static  void arm11D(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3580:35: note: in expansion of macro 'LDR_PREDEC'
 3580 | static  void arm11D(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3580:35: note: in expansion of macro 'LDR_PREDEC'
 3580 | static  void arm11D(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3580:35: note: in expansion of macro 'LDR_PREDEC'
 3580 | static  void arm11D(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3580:35: note: in expansion of macro 'LDR_PREDEC'
 3580 | static  void arm11D(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3580:35: note: in expansion of macro 'LDR_PREDEC'
 3580 | static  void arm11D(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm13D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3582:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3582 | static  void arm13D(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3582:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3582 | static  void arm13D(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3582:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3582 | static  void arm13D(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3582:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3582 | static  void arm13D(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3582:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3582 | static  void arm13D(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3582:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3582 | static  void arm13D(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm15D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3584:35: note: in expansion of macro 'LDR_PREDEC'
 3584 | static  void arm15D(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3584:35: note: in expansion of macro 'LDR_PREDEC'
 3584 | static  void arm15D(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3584:35: note: in expansion of macro 'LDR_PREDEC'
 3584 | static  void arm15D(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3584:35: note: in expansion of macro 'LDR_PREDEC'
 3584 | static  void arm15D(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3584:35: note: in expansion of macro 'LDR_PREDEC'
 3584 | static  void arm15D(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3584:35: note: in expansion of macro 'LDR_PREDEC'
 3584 | static  void arm15D(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm17D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3586:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3586 | static  void arm17D(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3586:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3586 | static  void arm17D(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3586:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3586 | static  void arm17D(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3586:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3586 | static  void arm17D(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3586:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3586 | static  void arm17D(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3586:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3586 | static  void arm17D(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm19D(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3588:35: note: in expansion of macro 'LDR_PREINC'
 3588 | static  void arm19D(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3588:35: note: in expansion of macro 'LDR_PREINC'
 3588 | static  void arm19D(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3588:35: note: in expansion of macro 'LDR_PREINC'
 3588 | static  void arm19D(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3588:35: note: in expansion of macro 'LDR_PREINC'
 3588 | static  void arm19D(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3588:35: note: in expansion of macro 'LDR_PREINC'
 3588 | static  void arm19D(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3588:35: note: in expansion of macro 'LDR_PREINC'
 3588 | static  void arm19D(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm1BD(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3590:35: note: in expansion of macro 'LDR_PREINC_WB'
 3590 | static  void arm1BD(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3590:35: note: in expansion of macro 'LDR_PREINC_WB'
 3590 | static  void arm1BD(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3590:35: note: in expansion of macro 'LDR_PREINC_WB'
 3590 | static  void arm1BD(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3590:35: note: in expansion of macro 'LDR_PREINC_WB'
 3590 | static  void arm1BD(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3590:35: note: in expansion of macro 'LDR_PREINC_WB'
 3590 | static  void arm1BD(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3590:35: note: in expansion of macro 'LDR_PREINC_WB'
 3590 | static  void arm1BD(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1DD(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3592:35: note: in expansion of macro 'LDR_PREINC'
 3592 | static  void arm1DD(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3592:35: note: in expansion of macro 'LDR_PREINC'
 3592 | static  void arm1DD(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3592:35: note: in expansion of macro 'LDR_PREINC'
 3592 | static  void arm1DD(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3592:35: note: in expansion of macro 'LDR_PREINC'
 3592 | static  void arm1DD(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3592:35: note: in expansion of macro 'LDR_PREINC'
 3592 | static  void arm1DD(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3592:35: note: in expansion of macro 'LDR_PREINC'
 3592 | static  void arm1DD(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm1FD(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3594:35: note: in expansion of macro 'LDR_PREINC_WB'
 3594 | static  void arm1FD(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3594:35: note: in expansion of macro 'LDR_PREINC_WB'
 3594 | static  void arm1FD(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3594:35: note: in expansion of macro 'LDR_PREINC_WB'
 3594 | static  void arm1FD(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3594:35: note: in expansion of macro 'LDR_PREINC_WB'
 3594 | static  void arm1FD(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3594:35: note: in expansion of macro 'LDR_PREINC_WB'
 3594 | static  void arm1FD(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3594:35: note: in expansion of macro 'LDR_PREINC_WB'
 3594 | static  void arm1FD(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm01F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3597:35: note: in expansion of macro 'LDR_POSTDEC'
 3597 | static  void arm01F(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3597:35: note: in expansion of macro 'LDR_POSTDEC'
 3597 | static  void arm01F(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3597:35: note: in expansion of macro 'LDR_POSTDEC'
 3597 | static  void arm01F(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3597:35: note: in expansion of macro 'LDR_POSTDEC'
 3597 | static  void arm01F(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3597:35: note: in expansion of macro 'LDR_POSTDEC'
 3597 | static  void arm01F(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3597:35: note: in expansion of macro 'LDR_POSTDEC'
 3597 | static  void arm01F(u32 opcode) { LDR_POSTDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm05F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3599:35: note: in expansion of macro 'LDR_POSTDEC'
 3599 | static  void arm05F(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3599:35: note: in expansion of macro 'LDR_POSTDEC'
 3599 | static  void arm05F(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3599:35: note: in expansion of macro 'LDR_POSTDEC'
 3599 | static  void arm05F(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3599:35: note: in expansion of macro 'LDR_POSTDEC'
 3599 | static  void arm05F(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3599:35: note: in expansion of macro 'LDR_POSTDEC'
 3599 | static  void arm05F(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3599:35: note: in expansion of macro 'LDR_POSTDEC'
 3599 | static  void arm05F(u32 opcode) { LDR_POSTDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm09F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3601:35: note: in expansion of macro 'LDR_POSTINC'
 3601 | static  void arm09F(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3601:35: note: in expansion of macro 'LDR_POSTINC'
 3601 | static  void arm09F(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3601:35: note: in expansion of macro 'LDR_POSTINC'
 3601 | static  void arm09F(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3601:35: note: in expansion of macro 'LDR_POSTINC'
 3601 | static  void arm09F(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3601:35: note: in expansion of macro 'LDR_POSTINC'
 3601 | static  void arm09F(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3601:35: note: in expansion of macro 'LDR_POSTINC'
 3601 | static  void arm09F(u32 opcode) { LDR_POSTINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm0DF(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3603:35: note: in expansion of macro 'LDR_POSTINC'
 3603 | static  void arm0DF(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3603:35: note: in expansion of macro 'LDR_POSTINC'
 3603 | static  void arm0DF(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3603:35: note: in expansion of macro 'LDR_POSTINC'
 3603 | static  void arm0DF(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3603:35: note: in expansion of macro 'LDR_POSTINC'
 3603 | static  void arm0DF(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3603:35: note: in expansion of macro 'LDR_POSTINC'
 3603 | static  void arm0DF(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3603:35: note: in expansion of macro 'LDR_POSTINC'
 3603 | static  void arm0DF(u32 opcode) { LDR_POSTINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm11F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3605:35: note: in expansion of macro 'LDR_PREDEC'
 3605 | static  void arm11F(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3605:35: note: in expansion of macro 'LDR_PREDEC'
 3605 | static  void arm11F(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3605:35: note: in expansion of macro 'LDR_PREDEC'
 3605 | static  void arm11F(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3605:35: note: in expansion of macro 'LDR_PREDEC'
 3605 | static  void arm11F(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3605:35: note: in expansion of macro 'LDR_PREDEC'
 3605 | static  void arm11F(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3605:35: note: in expansion of macro 'LDR_PREDEC'
 3605 | static  void arm11F(u32 opcode) { LDR_PREDEC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm13F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3607:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3607 | static  void arm13F(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3607:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3607 | static  void arm13F(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3607:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3607 | static  void arm13F(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3607:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3607 | static  void arm13F(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3607:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3607 | static  void arm13F(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3607:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3607 | static  void arm13F(u32 opcode) { LDR_PREDEC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm15F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3609:35: note: in expansion of macro 'LDR_PREDEC'
 3609 | static  void arm15F(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3609:35: note: in expansion of macro 'LDR_PREDEC'
 3609 | static  void arm15F(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3609:35: note: in expansion of macro 'LDR_PREDEC'
 3609 | static  void arm15F(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3609:35: note: in expansion of macro 'LDR_PREDEC'
 3609 | static  void arm15F(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3609:35: note: in expansion of macro 'LDR_PREDEC'
 3609 | static  void arm15F(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3609:35: note: in expansion of macro 'LDR_PREDEC'
 3609 | static  void arm15F(u32 opcode) { LDR_PREDEC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm17F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3611:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3611 | static  void arm17F(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3611:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3611 | static  void arm17F(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3611:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3611 | static  void arm17F(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3611:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3611 | static  void arm17F(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3611:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3611 | static  void arm17F(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3611:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3611 | static  void arm17F(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm19F(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3613:35: note: in expansion of macro 'LDR_PREINC'
 3613 | static  void arm19F(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3613:35: note: in expansion of macro 'LDR_PREINC'
 3613 | static  void arm19F(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3613:35: note: in expansion of macro 'LDR_PREINC'
 3613 | static  void arm19F(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3613:35: note: in expansion of macro 'LDR_PREINC'
 3613 | static  void arm19F(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3613:35: note: in expansion of macro 'LDR_PREINC'
 3613 | static  void arm19F(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3613:35: note: in expansion of macro 'LDR_PREINC'
 3613 | static  void arm19F(u32 opcode) { LDR_PREINC(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm1BF(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3615:35: note: in expansion of macro 'LDR_PREINC_WB'
 3615 | static  void arm1BF(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3615:35: note: in expansion of macro 'LDR_PREINC_WB'
 3615 | static  void arm1BF(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3615:35: note: in expansion of macro 'LDR_PREINC_WB'
 3615 | static  void arm1BF(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3615:35: note: in expansion of macro 'LDR_PREINC_WB'
 3615 | static  void arm1BF(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3615:35: note: in expansion of macro 'LDR_PREINC_WB'
 3615 | static  void arm1BF(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3615:35: note: in expansion of macro 'LDR_PREINC_WB'
 3615 | static  void arm1BF(u32 opcode) { LDR_PREINC_WB(OFFSET_REG, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm1DF(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3617:35: note: in expansion of macro 'LDR_PREINC'
 3617 | static  void arm1DF(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3617:35: note: in expansion of macro 'LDR_PREINC'
 3617 | static  void arm1DF(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3617:35: note: in expansion of macro 'LDR_PREINC'
 3617 | static  void arm1DF(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3617:35: note: in expansion of macro 'LDR_PREINC'
 3617 | static  void arm1DF(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3617:35: note: in expansion of macro 'LDR_PREINC'
 3617 | static  void arm1DF(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3617:35: note: in expansion of macro 'LDR_PREINC'
 3617 | static  void arm1DF(u32 opcode) { LDR_PREINC(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm1FF(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3619:35: note: in expansion of macro 'LDR_PREINC_WB'
 3619 | static  void arm1FF(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3619:35: note: in expansion of macro 'LDR_PREINC_WB'
 3619 | static  void arm1FF(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3619:35: note: in expansion of macro 'LDR_PREINC_WB'
 3619 | static  void arm1FF(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3619:35: note: in expansion of macro 'LDR_PREINC_WB'
 3619 | static  void arm1FF(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3619:35: note: in expansion of macro 'LDR_PREINC_WB'
 3619 | static  void arm1FF(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3619:35: note: in expansion of macro 'LDR_PREINC_WB'
 3619 | static  void arm1FF(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM8, OP_LDRSH, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm410(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3625:35: note: in expansion of macro 'LDR_POSTDEC'
 3625 | static  void arm410(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3625:35: note: in expansion of macro 'LDR_POSTDEC'
 3625 | static  void arm410(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3625:35: note: in expansion of macro 'LDR_POSTDEC'
 3625 | static  void arm410(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3625:35: note: in expansion of macro 'LDR_POSTDEC'
 3625 | static  void arm410(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3625:35: note: in expansion of macro 'LDR_POSTDEC'
 3625 | static  void arm410(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3625:35: note: in expansion of macro 'LDR_POSTDEC'
 3625 | static  void arm410(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm450(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3629:35: note: in expansion of macro 'LDR_POSTDEC'
 3629 | static  void arm450(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3629:35: note: in expansion of macro 'LDR_POSTDEC'
 3629 | static  void arm450(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3629:35: note: in expansion of macro 'LDR_POSTDEC'
 3629 | static  void arm450(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3629:35: note: in expansion of macro 'LDR_POSTDEC'
 3629 | static  void arm450(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3629:35: note: in expansion of macro 'LDR_POSTDEC'
 3629 | static  void arm450(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3629:35: note: in expansion of macro 'LDR_POSTDEC'
 3629 | static  void arm450(u32 opcode) { LDR_POSTDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm490(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3633:35: note: in expansion of macro 'LDR_POSTINC'
 3633 | static  void arm490(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3633:35: note: in expansion of macro 'LDR_POSTINC'
 3633 | static  void arm490(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3633:35: note: in expansion of macro 'LDR_POSTINC'
 3633 | static  void arm490(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3633:35: note: in expansion of macro 'LDR_POSTINC'
 3633 | static  void arm490(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3633:35: note: in expansion of macro 'LDR_POSTINC'
 3633 | static  void arm490(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3633:35: note: in expansion of macro 'LDR_POSTINC'
 3633 | static  void arm490(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm4D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3637:35: note: in expansion of macro 'LDR_POSTINC'
 3637 | static  void arm4D0(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3637:35: note: in expansion of macro 'LDR_POSTINC'
 3637 | static  void arm4D0(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3637:35: note: in expansion of macro 'LDR_POSTINC'
 3637 | static  void arm4D0(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3637:35: note: in expansion of macro 'LDR_POSTINC'
 3637 | static  void arm4D0(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3637:35: note: in expansion of macro 'LDR_POSTINC'
 3637 | static  void arm4D0(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3637:35: note: in expansion of macro 'LDR_POSTINC'
 3637 | static  void arm4D0(u32 opcode) { LDR_POSTINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm510(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3641:35: note: in expansion of macro 'LDR_PREDEC'
 3641 | static  void arm510(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3641:35: note: in expansion of macro 'LDR_PREDEC'
 3641 | static  void arm510(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3641:35: note: in expansion of macro 'LDR_PREDEC'
 3641 | static  void arm510(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3641:35: note: in expansion of macro 'LDR_PREDEC'
 3641 | static  void arm510(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3641:35: note: in expansion of macro 'LDR_PREDEC'
 3641 | static  void arm510(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3641:35: note: in expansion of macro 'LDR_PREDEC'
 3641 | static  void arm510(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm530(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3645:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3645 | static  void arm530(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3645:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3645 | static  void arm530(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3645:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3645 | static  void arm530(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3645:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3645 | static  void arm530(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3645:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3645 | static  void arm530(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3645:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3645 | static  void arm530(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm550(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3649:35: note: in expansion of macro 'LDR_PREDEC'
 3649 | static  void arm550(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3649:35: note: in expansion of macro 'LDR_PREDEC'
 3649 | static  void arm550(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3649:35: note: in expansion of macro 'LDR_PREDEC'
 3649 | static  void arm550(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3649:35: note: in expansion of macro 'LDR_PREDEC'
 3649 | static  void arm550(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3649:35: note: in expansion of macro 'LDR_PREDEC'
 3649 | static  void arm550(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3649:35: note: in expansion of macro 'LDR_PREDEC'
 3649 | static  void arm550(u32 opcode) { LDR_PREDEC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm570(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3653:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3653 | static  void arm570(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3653:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3653 | static  void arm570(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3653:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3653 | static  void arm570(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3653:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3653 | static  void arm570(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3653:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3653 | static  void arm570(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3653:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3653 | static  void arm570(u32 opcode) { LDR_PREDEC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm590(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3657:35: note: in expansion of macro 'LDR_PREINC'
 3657 | static  void arm590(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3657:35: note: in expansion of macro 'LDR_PREINC'
 3657 | static  void arm590(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3657:35: note: in expansion of macro 'LDR_PREINC'
 3657 | static  void arm590(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3657:35: note: in expansion of macro 'LDR_PREINC'
 3657 | static  void arm590(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3657:35: note: in expansion of macro 'LDR_PREINC'
 3657 | static  void arm590(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3657:35: note: in expansion of macro 'LDR_PREINC'
 3657 | static  void arm590(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm5B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3661:35: note: in expansion of macro 'LDR_PREINC_WB'
 3661 | static  void arm5B0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3661:35: note: in expansion of macro 'LDR_PREINC_WB'
 3661 | static  void arm5B0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3661:35: note: in expansion of macro 'LDR_PREINC_WB'
 3661 | static  void arm5B0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3661:35: note: in expansion of macro 'LDR_PREINC_WB'
 3661 | static  void arm5B0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3661:35: note: in expansion of macro 'LDR_PREINC_WB'
 3661 | static  void arm5B0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3661:35: note: in expansion of macro 'LDR_PREINC_WB'
 3661 | static  void arm5B0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm5D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3665:35: note: in expansion of macro 'LDR_PREINC'
 3665 | static  void arm5D0(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3665:35: note: in expansion of macro 'LDR_PREINC'
 3665 | static  void arm5D0(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3665:35: note: in expansion of macro 'LDR_PREINC'
 3665 | static  void arm5D0(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3665:35: note: in expansion of macro 'LDR_PREINC'
 3665 | static  void arm5D0(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3665:35: note: in expansion of macro 'LDR_PREINC'
 3665 | static  void arm5D0(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3665:35: note: in expansion of macro 'LDR_PREINC'
 3665 | static  void arm5D0(u32 opcode) { LDR_PREINC(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm5F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3669:35: note: in expansion of macro 'LDR_PREINC_WB'
 3669 | static  void arm5F0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3669:35: note: in expansion of macro 'LDR_PREINC_WB'
 3669 | static  void arm5F0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3669:35: note: in expansion of macro 'LDR_PREINC_WB'
 3669 | static  void arm5F0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3669:35: note: in expansion of macro 'LDR_PREINC_WB'
 3669 | static  void arm5F0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3669:35: note: in expansion of macro 'LDR_PREINC_WB'
 3669 | static  void arm5F0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3669:35: note: in expansion of macro 'LDR_PREINC_WB'
 3669 | static  void arm5F0(u32 opcode) { LDR_PREINC_WB(OFFSET_IMM, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm610(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3680:35: note: in expansion of macro 'LDR_POSTDEC'
 3680 | static  void arm610(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3680:35: note: in expansion of macro 'LDR_POSTDEC'
 3680 | static  void arm610(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3680:35: note: in expansion of macro 'LDR_POSTDEC'
 3680 | static  void arm610(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3680:35: note: in expansion of macro 'LDR_POSTDEC'
 3680 | static  void arm610(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3680:35: note: in expansion of macro 'LDR_POSTDEC'
 3680 | static  void arm610(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3680:35: note: in expansion of macro 'LDR_POSTDEC'
 3680 | static  void arm610(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm612(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3682:35: note: in expansion of macro 'LDR_POSTDEC'
 3682 | static  void arm612(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3682:35: note: in expansion of macro 'LDR_POSTDEC'
 3682 | static  void arm612(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3682:35: note: in expansion of macro 'LDR_POSTDEC'
 3682 | static  void arm612(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3682:35: note: in expansion of macro 'LDR_POSTDEC'
 3682 | static  void arm612(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3682:35: note: in expansion of macro 'LDR_POSTDEC'
 3682 | static  void arm612(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3682:35: note: in expansion of macro 'LDR_POSTDEC'
 3682 | static  void arm612(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm614(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3684:35: note: in expansion of macro 'LDR_POSTDEC'
 3684 | static  void arm614(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3684:35: note: in expansion of macro 'LDR_POSTDEC'
 3684 | static  void arm614(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3684:35: note: in expansion of macro 'LDR_POSTDEC'
 3684 | static  void arm614(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3684:35: note: in expansion of macro 'LDR_POSTDEC'
 3684 | static  void arm614(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3684:35: note: in expansion of macro 'LDR_POSTDEC'
 3684 | static  void arm614(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3684:35: note: in expansion of macro 'LDR_POSTDEC'
 3684 | static  void arm614(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm616(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3686:35: note: in expansion of macro 'LDR_POSTDEC'
 3686 | static  void arm616(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3686:35: note: in expansion of macro 'LDR_POSTDEC'
 3686 | static  void arm616(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3686:35: note: in expansion of macro 'LDR_POSTDEC'
 3686 | static  void arm616(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3686:35: note: in expansion of macro 'LDR_POSTDEC'
 3686 | static  void arm616(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3686:35: note: in expansion of macro 'LDR_POSTDEC'
 3686 | static  void arm616(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3686:35: note: in expansion of macro 'LDR_POSTDEC'
 3686 | static  void arm616(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm650(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3696:35: note: in expansion of macro 'LDR_POSTDEC'
 3696 | static  void arm650(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3696:35: note: in expansion of macro 'LDR_POSTDEC'
 3696 | static  void arm650(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3696:35: note: in expansion of macro 'LDR_POSTDEC'
 3696 | static  void arm650(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3696:35: note: in expansion of macro 'LDR_POSTDEC'
 3696 | static  void arm650(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3696:35: note: in expansion of macro 'LDR_POSTDEC'
 3696 | static  void arm650(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3696:35: note: in expansion of macro 'LDR_POSTDEC'
 3696 | static  void arm650(u32 opcode) { LDR_POSTDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm652(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3698:35: note: in expansion of macro 'LDR_POSTDEC'
 3698 | static  void arm652(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3698:35: note: in expansion of macro 'LDR_POSTDEC'
 3698 | static  void arm652(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3698:35: note: in expansion of macro 'LDR_POSTDEC'
 3698 | static  void arm652(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3698:35: note: in expansion of macro 'LDR_POSTDEC'
 3698 | static  void arm652(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3698:35: note: in expansion of macro 'LDR_POSTDEC'
 3698 | static  void arm652(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3698:35: note: in expansion of macro 'LDR_POSTDEC'
 3698 | static  void arm652(u32 opcode) { LDR_POSTDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm654(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3700:35: note: in expansion of macro 'LDR_POSTDEC'
 3700 | static  void arm654(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3700:35: note: in expansion of macro 'LDR_POSTDEC'
 3700 | static  void arm654(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3700:35: note: in expansion of macro 'LDR_POSTDEC'
 3700 | static  void arm654(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3700:35: note: in expansion of macro 'LDR_POSTDEC'
 3700 | static  void arm654(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3700:35: note: in expansion of macro 'LDR_POSTDEC'
 3700 | static  void arm654(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3700:35: note: in expansion of macro 'LDR_POSTDEC'
 3700 | static  void arm654(u32 opcode) { LDR_POSTDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm656(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3702:35: note: in expansion of macro 'LDR_POSTDEC'
 3702 | static  void arm656(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3702:35: note: in expansion of macro 'LDR_POSTDEC'
 3702 | static  void arm656(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3702:35: note: in expansion of macro 'LDR_POSTDEC'
 3702 | static  void arm656(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3702:35: note: in expansion of macro 'LDR_POSTDEC'
 3702 | static  void arm656(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3702:35: note: in expansion of macro 'LDR_POSTDEC'
 3702 | static  void arm656(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3509:3: note: in expansion of macro 'LDR'
 3509 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTDEC, SIZE)
      |   ^~~
src/gba.cpp:3702:35: note: in expansion of macro 'LDR_POSTDEC'
 3702 | static  void arm656(u32 opcode) { LDR_POSTDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm690(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3712:35: note: in expansion of macro 'LDR_POSTINC'
 3712 | static  void arm690(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3712:35: note: in expansion of macro 'LDR_POSTINC'
 3712 | static  void arm690(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3712:35: note: in expansion of macro 'LDR_POSTINC'
 3712 | static  void arm690(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3712:35: note: in expansion of macro 'LDR_POSTINC'
 3712 | static  void arm690(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3712:35: note: in expansion of macro 'LDR_POSTINC'
 3712 | static  void arm690(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3712:35: note: in expansion of macro 'LDR_POSTINC'
 3712 | static  void arm690(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm692(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3714:35: note: in expansion of macro 'LDR_POSTINC'
 3714 | static  void arm692(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3714:35: note: in expansion of macro 'LDR_POSTINC'
 3714 | static  void arm692(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3714:35: note: in expansion of macro 'LDR_POSTINC'
 3714 | static  void arm692(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3714:35: note: in expansion of macro 'LDR_POSTINC'
 3714 | static  void arm692(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3714:35: note: in expansion of macro 'LDR_POSTINC'
 3714 | static  void arm692(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3714:35: note: in expansion of macro 'LDR_POSTINC'
 3714 | static  void arm692(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm694(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3716:35: note: in expansion of macro 'LDR_POSTINC'
 3716 | static  void arm694(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3716:35: note: in expansion of macro 'LDR_POSTINC'
 3716 | static  void arm694(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3716:35: note: in expansion of macro 'LDR_POSTINC'
 3716 | static  void arm694(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3716:35: note: in expansion of macro 'LDR_POSTINC'
 3716 | static  void arm694(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3716:35: note: in expansion of macro 'LDR_POSTINC'
 3716 | static  void arm694(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3716:35: note: in expansion of macro 'LDR_POSTINC'
 3716 | static  void arm694(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm696(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3718:35: note: in expansion of macro 'LDR_POSTINC'
 3718 | static  void arm696(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3718:35: note: in expansion of macro 'LDR_POSTINC'
 3718 | static  void arm696(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3718:35: note: in expansion of macro 'LDR_POSTINC'
 3718 | static  void arm696(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3718:35: note: in expansion of macro 'LDR_POSTINC'
 3718 | static  void arm696(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3718:35: note: in expansion of macro 'LDR_POSTINC'
 3718 | static  void arm696(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3718:35: note: in expansion of macro 'LDR_POSTINC'
 3718 | static  void arm696(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm6D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3728:35: note: in expansion of macro 'LDR_POSTINC'
 3728 | static  void arm6D0(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3728:35: note: in expansion of macro 'LDR_POSTINC'
 3728 | static  void arm6D0(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3728:35: note: in expansion of macro 'LDR_POSTINC'
 3728 | static  void arm6D0(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3728:35: note: in expansion of macro 'LDR_POSTINC'
 3728 | static  void arm6D0(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3728:35: note: in expansion of macro 'LDR_POSTINC'
 3728 | static  void arm6D0(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3728:35: note: in expansion of macro 'LDR_POSTINC'
 3728 | static  void arm6D0(u32 opcode) { LDR_POSTINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm6D2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3730:35: note: in expansion of macro 'LDR_POSTINC'
 3730 | static  void arm6D2(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3730:35: note: in expansion of macro 'LDR_POSTINC'
 3730 | static  void arm6D2(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3730:35: note: in expansion of macro 'LDR_POSTINC'
 3730 | static  void arm6D2(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3730:35: note: in expansion of macro 'LDR_POSTINC'
 3730 | static  void arm6D2(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3730:35: note: in expansion of macro 'LDR_POSTINC'
 3730 | static  void arm6D2(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3730:35: note: in expansion of macro 'LDR_POSTINC'
 3730 | static  void arm6D2(u32 opcode) { LDR_POSTINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm6D4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3732:35: note: in expansion of macro 'LDR_POSTINC'
 3732 | static  void arm6D4(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3732:35: note: in expansion of macro 'LDR_POSTINC'
 3732 | static  void arm6D4(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3732:35: note: in expansion of macro 'LDR_POSTINC'
 3732 | static  void arm6D4(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3732:35: note: in expansion of macro 'LDR_POSTINC'
 3732 | static  void arm6D4(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3732:35: note: in expansion of macro 'LDR_POSTINC'
 3732 | static  void arm6D4(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3732:35: note: in expansion of macro 'LDR_POSTINC'
 3732 | static  void arm6D4(u32 opcode) { LDR_POSTINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm6D6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3734:35: note: in expansion of macro 'LDR_POSTINC'
 3734 | static  void arm6D6(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3734:35: note: in expansion of macro 'LDR_POSTINC'
 3734 | static  void arm6D6(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3734:35: note: in expansion of macro 'LDR_POSTINC'
 3734 | static  void arm6D6(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3734:35: note: in expansion of macro 'LDR_POSTINC'
 3734 | static  void arm6D6(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3734:35: note: in expansion of macro 'LDR_POSTINC'
 3734 | static  void arm6D6(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3511:3: note: in expansion of macro 'LDR'
 3511 |   LDR(CALC_OFFSET, ADDRESS_POST, LOAD_DATA, WRITEBACK_POSTINC, SIZE)
      |   ^~~
src/gba.cpp:3734:35: note: in expansion of macro 'LDR_POSTINC'
 3734 | static  void arm6D6(u32 opcode) { LDR_POSTINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~
src/gba.cpp: In function 'void arm710(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3744:35: note: in expansion of macro 'LDR_PREDEC'
 3744 | static  void arm710(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3744:35: note: in expansion of macro 'LDR_PREDEC'
 3744 | static  void arm710(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3744:35: note: in expansion of macro 'LDR_PREDEC'
 3744 | static  void arm710(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3744:35: note: in expansion of macro 'LDR_PREDEC'
 3744 | static  void arm710(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3744:35: note: in expansion of macro 'LDR_PREDEC'
 3744 | static  void arm710(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3744:35: note: in expansion of macro 'LDR_PREDEC'
 3744 | static  void arm710(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm712(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3746:35: note: in expansion of macro 'LDR_PREDEC'
 3746 | static  void arm712(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3746:35: note: in expansion of macro 'LDR_PREDEC'
 3746 | static  void arm712(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3746:35: note: in expansion of macro 'LDR_PREDEC'
 3746 | static  void arm712(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3746:35: note: in expansion of macro 'LDR_PREDEC'
 3746 | static  void arm712(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3746:35: note: in expansion of macro 'LDR_PREDEC'
 3746 | static  void arm712(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3746:35: note: in expansion of macro 'LDR_PREDEC'
 3746 | static  void arm712(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm714(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3748:35: note: in expansion of macro 'LDR_PREDEC'
 3748 | static  void arm714(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3748:35: note: in expansion of macro 'LDR_PREDEC'
 3748 | static  void arm714(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3748:35: note: in expansion of macro 'LDR_PREDEC'
 3748 | static  void arm714(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3748:35: note: in expansion of macro 'LDR_PREDEC'
 3748 | static  void arm714(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3748:35: note: in expansion of macro 'LDR_PREDEC'
 3748 | static  void arm714(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3748:35: note: in expansion of macro 'LDR_PREDEC'
 3748 | static  void arm714(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm716(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3750:35: note: in expansion of macro 'LDR_PREDEC'
 3750 | static  void arm716(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3750:35: note: in expansion of macro 'LDR_PREDEC'
 3750 | static  void arm716(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3750:35: note: in expansion of macro 'LDR_PREDEC'
 3750 | static  void arm716(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3750:35: note: in expansion of macro 'LDR_PREDEC'
 3750 | static  void arm716(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3750:35: note: in expansion of macro 'LDR_PREDEC'
 3750 | static  void arm716(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3750:35: note: in expansion of macro 'LDR_PREDEC'
 3750 | static  void arm716(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm730(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3760:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3760 | static  void arm730(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3760:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3760 | static  void arm730(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3760:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3760 | static  void arm730(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3760:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3760 | static  void arm730(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3760:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3760 | static  void arm730(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3760:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3760 | static  void arm730(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm732(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3762:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3762 | static  void arm732(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3762:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3762 | static  void arm732(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3762:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3762 | static  void arm732(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3762:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3762 | static  void arm732(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3762:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3762 | static  void arm732(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3762:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3762 | static  void arm732(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm734(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3764:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3764 | static  void arm734(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3764:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3764 | static  void arm734(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3764:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3764 | static  void arm734(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3764:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3764 | static  void arm734(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3764:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3764 | static  void arm734(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3764:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3764 | static  void arm734(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm736(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3766:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3766 | static  void arm736(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3766:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3766 | static  void arm736(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3766:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3766 | static  void arm736(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3766:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3766 | static  void arm736(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3766:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3766 | static  void arm736(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3766:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3766 | static  void arm736(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm750(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3776:35: note: in expansion of macro 'LDR_PREDEC'
 3776 | static  void arm750(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3776:35: note: in expansion of macro 'LDR_PREDEC'
 3776 | static  void arm750(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3776:35: note: in expansion of macro 'LDR_PREDEC'
 3776 | static  void arm750(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3776:35: note: in expansion of macro 'LDR_PREDEC'
 3776 | static  void arm750(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3776:35: note: in expansion of macro 'LDR_PREDEC'
 3776 | static  void arm750(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3776:35: note: in expansion of macro 'LDR_PREDEC'
 3776 | static  void arm750(u32 opcode) { LDR_PREDEC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm752(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3778:35: note: in expansion of macro 'LDR_PREDEC'
 3778 | static  void arm752(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3778:35: note: in expansion of macro 'LDR_PREDEC'
 3778 | static  void arm752(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3778:35: note: in expansion of macro 'LDR_PREDEC'
 3778 | static  void arm752(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3778:35: note: in expansion of macro 'LDR_PREDEC'
 3778 | static  void arm752(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3778:35: note: in expansion of macro 'LDR_PREDEC'
 3778 | static  void arm752(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3778:35: note: in expansion of macro 'LDR_PREDEC'
 3778 | static  void arm752(u32 opcode) { LDR_PREDEC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm754(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3780:35: note: in expansion of macro 'LDR_PREDEC'
 3780 | static  void arm754(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3780:35: note: in expansion of macro 'LDR_PREDEC'
 3780 | static  void arm754(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3780:35: note: in expansion of macro 'LDR_PREDEC'
 3780 | static  void arm754(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3780:35: note: in expansion of macro 'LDR_PREDEC'
 3780 | static  void arm754(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3780:35: note: in expansion of macro 'LDR_PREDEC'
 3780 | static  void arm754(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3780:35: note: in expansion of macro 'LDR_PREDEC'
 3780 | static  void arm754(u32 opcode) { LDR_PREDEC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm756(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3782:35: note: in expansion of macro 'LDR_PREDEC'
 3782 | static  void arm756(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3782:35: note: in expansion of macro 'LDR_PREDEC'
 3782 | static  void arm756(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3782:35: note: in expansion of macro 'LDR_PREDEC'
 3782 | static  void arm756(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3782:35: note: in expansion of macro 'LDR_PREDEC'
 3782 | static  void arm756(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3782:35: note: in expansion of macro 'LDR_PREDEC'
 3782 | static  void arm756(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3513:3: note: in expansion of macro 'LDR'
 3513 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3782:35: note: in expansion of macro 'LDR_PREDEC'
 3782 | static  void arm756(u32 opcode) { LDR_PREDEC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm770(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3792:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3792 | static  void arm770(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3792:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3792 | static  void arm770(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3792:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3792 | static  void arm770(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3792:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3792 | static  void arm770(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3792:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3792 | static  void arm770(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3792:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3792 | static  void arm770(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm772(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3794:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3794 | static  void arm772(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3794:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3794 | static  void arm772(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3794:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3794 | static  void arm772(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3794:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3794 | static  void arm772(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3794:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3794 | static  void arm772(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3794:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3794 | static  void arm772(u32 opcode) { LDR_PREDEC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm774(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3796:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3796 | static  void arm774(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3796:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3796 | static  void arm774(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3796:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3796 | static  void arm774(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3796:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3796 | static  void arm774(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3796:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3796 | static  void arm774(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3796:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3796 | static  void arm774(u32 opcode) { LDR_PREDEC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm776(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3798:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3798 | static  void arm776(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3798:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3798 | static  void arm776(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3798:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3798 | static  void arm776(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3798:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3798 | static  void arm776(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3798:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3798 | static  void arm776(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3515:3: note: in expansion of macro 'LDR'
 3515 |   LDR(CALC_OFFSET, ADDRESS_PREDEC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3798:35: note: in expansion of macro 'LDR_PREDEC_WB'
 3798 | static  void arm776(u32 opcode) { LDR_PREDEC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm790(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3808:35: note: in expansion of macro 'LDR_PREINC'
 3808 | static  void arm790(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3808:35: note: in expansion of macro 'LDR_PREINC'
 3808 | static  void arm790(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3808:35: note: in expansion of macro 'LDR_PREINC'
 3808 | static  void arm790(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3808:35: note: in expansion of macro 'LDR_PREINC'
 3808 | static  void arm790(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3808:35: note: in expansion of macro 'LDR_PREINC'
 3808 | static  void arm790(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3808:35: note: in expansion of macro 'LDR_PREINC'
 3808 | static  void arm790(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm792(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3810:35: note: in expansion of macro 'LDR_PREINC'
 3810 | static  void arm792(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3810:35: note: in expansion of macro 'LDR_PREINC'
 3810 | static  void arm792(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3810:35: note: in expansion of macro 'LDR_PREINC'
 3810 | static  void arm792(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3810:35: note: in expansion of macro 'LDR_PREINC'
 3810 | static  void arm792(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3810:35: note: in expansion of macro 'LDR_PREINC'
 3810 | static  void arm792(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3810:35: note: in expansion of macro 'LDR_PREINC'
 3810 | static  void arm792(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm794(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3812:35: note: in expansion of macro 'LDR_PREINC'
 3812 | static  void arm794(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3812:35: note: in expansion of macro 'LDR_PREINC'
 3812 | static  void arm794(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3812:35: note: in expansion of macro 'LDR_PREINC'
 3812 | static  void arm794(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3812:35: note: in expansion of macro 'LDR_PREINC'
 3812 | static  void arm794(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3812:35: note: in expansion of macro 'LDR_PREINC'
 3812 | static  void arm794(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3812:35: note: in expansion of macro 'LDR_PREINC'
 3812 | static  void arm794(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm796(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3814:35: note: in expansion of macro 'LDR_PREINC'
 3814 | static  void arm796(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3814:35: note: in expansion of macro 'LDR_PREINC'
 3814 | static  void arm796(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3814:35: note: in expansion of macro 'LDR_PREINC'
 3814 | static  void arm796(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3814:35: note: in expansion of macro 'LDR_PREINC'
 3814 | static  void arm796(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3814:35: note: in expansion of macro 'LDR_PREINC'
 3814 | static  void arm796(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3814:35: note: in expansion of macro 'LDR_PREINC'
 3814 | static  void arm796(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm7B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3824:35: note: in expansion of macro 'LDR_PREINC_WB'
 3824 | static  void arm7B0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3824:35: note: in expansion of macro 'LDR_PREINC_WB'
 3824 | static  void arm7B0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3824:35: note: in expansion of macro 'LDR_PREINC_WB'
 3824 | static  void arm7B0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3824:35: note: in expansion of macro 'LDR_PREINC_WB'
 3824 | static  void arm7B0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3824:35: note: in expansion of macro 'LDR_PREINC_WB'
 3824 | static  void arm7B0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3824:35: note: in expansion of macro 'LDR_PREINC_WB'
 3824 | static  void arm7B0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm7B2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3826:35: note: in expansion of macro 'LDR_PREINC_WB'
 3826 | static  void arm7B2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3826:35: note: in expansion of macro 'LDR_PREINC_WB'
 3826 | static  void arm7B2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3826:35: note: in expansion of macro 'LDR_PREINC_WB'
 3826 | static  void arm7B2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3826:35: note: in expansion of macro 'LDR_PREINC_WB'
 3826 | static  void arm7B2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3826:35: note: in expansion of macro 'LDR_PREINC_WB'
 3826 | static  void arm7B2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3826:35: note: in expansion of macro 'LDR_PREINC_WB'
 3826 | static  void arm7B2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm7B4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3828:35: note: in expansion of macro 'LDR_PREINC_WB'
 3828 | static  void arm7B4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3828:35: note: in expansion of macro 'LDR_PREINC_WB'
 3828 | static  void arm7B4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3828:35: note: in expansion of macro 'LDR_PREINC_WB'
 3828 | static  void arm7B4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3828:35: note: in expansion of macro 'LDR_PREINC_WB'
 3828 | static  void arm7B4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3828:35: note: in expansion of macro 'LDR_PREINC_WB'
 3828 | static  void arm7B4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3828:35: note: in expansion of macro 'LDR_PREINC_WB'
 3828 | static  void arm7B4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm7B6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3830:35: note: in expansion of macro 'LDR_PREINC_WB'
 3830 | static  void arm7B6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3830:35: note: in expansion of macro 'LDR_PREINC_WB'
 3830 | static  void arm7B6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3830:35: note: in expansion of macro 'LDR_PREINC_WB'
 3830 | static  void arm7B6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3830:35: note: in expansion of macro 'LDR_PREINC_WB'
 3830 | static  void arm7B6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3830:35: note: in expansion of macro 'LDR_PREINC_WB'
 3830 | static  void arm7B6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3830:35: note: in expansion of macro 'LDR_PREINC_WB'
 3830 | static  void arm7B6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDR, 32); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm7D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3840:35: note: in expansion of macro 'LDR_PREINC'
 3840 | static  void arm7D0(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3840:35: note: in expansion of macro 'LDR_PREINC'
 3840 | static  void arm7D0(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3840:35: note: in expansion of macro 'LDR_PREINC'
 3840 | static  void arm7D0(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3840:35: note: in expansion of macro 'LDR_PREINC'
 3840 | static  void arm7D0(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3840:35: note: in expansion of macro 'LDR_PREINC'
 3840 | static  void arm7D0(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3840:35: note: in expansion of macro 'LDR_PREINC'
 3840 | static  void arm7D0(u32 opcode) { LDR_PREINC(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm7D2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3842:35: note: in expansion of macro 'LDR_PREINC'
 3842 | static  void arm7D2(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3842:35: note: in expansion of macro 'LDR_PREINC'
 3842 | static  void arm7D2(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3842:35: note: in expansion of macro 'LDR_PREINC'
 3842 | static  void arm7D2(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3842:35: note: in expansion of macro 'LDR_PREINC'
 3842 | static  void arm7D2(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3842:35: note: in expansion of macro 'LDR_PREINC'
 3842 | static  void arm7D2(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3842:35: note: in expansion of macro 'LDR_PREINC'
 3842 | static  void arm7D2(u32 opcode) { LDR_PREINC(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm7D4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3844:35: note: in expansion of macro 'LDR_PREINC'
 3844 | static  void arm7D4(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3844:35: note: in expansion of macro 'LDR_PREINC'
 3844 | static  void arm7D4(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3844:35: note: in expansion of macro 'LDR_PREINC'
 3844 | static  void arm7D4(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3844:35: note: in expansion of macro 'LDR_PREINC'
 3844 | static  void arm7D4(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3844:35: note: in expansion of macro 'LDR_PREINC'
 3844 | static  void arm7D4(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3844:35: note: in expansion of macro 'LDR_PREINC'
 3844 | static  void arm7D4(u32 opcode) { LDR_PREINC(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm7D6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3846:35: note: in expansion of macro 'LDR_PREINC'
 3846 | static  void arm7D6(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3846:35: note: in expansion of macro 'LDR_PREINC'
 3846 | static  void arm7D6(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3846:35: note: in expansion of macro 'LDR_PREINC'
 3846 | static  void arm7D6(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3846:35: note: in expansion of macro 'LDR_PREINC'
 3846 | static  void arm7D6(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3846:35: note: in expansion of macro 'LDR_PREINC'
 3846 | static  void arm7D6(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3517:3: note: in expansion of macro 'LDR'
 3517 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_NONE, SIZE)
      |   ^~~
src/gba.cpp:3846:35: note: in expansion of macro 'LDR_PREINC'
 3846 | static  void arm7D6(u32 opcode) { LDR_PREINC(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~
src/gba.cpp: In function 'void arm7F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3856:35: note: in expansion of macro 'LDR_PREINC_WB'
 3856 | static  void arm7F0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3856:35: note: in expansion of macro 'LDR_PREINC_WB'
 3856 | static  void arm7F0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3856:35: note: in expansion of macro 'LDR_PREINC_WB'
 3856 | static  void arm7F0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3856:35: note: in expansion of macro 'LDR_PREINC_WB'
 3856 | static  void arm7F0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3856:35: note: in expansion of macro 'LDR_PREINC_WB'
 3856 | static  void arm7F0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3856:35: note: in expansion of macro 'LDR_PREINC_WB'
 3856 | static  void arm7F0(u32 opcode) { LDR_PREINC_WB(OFFSET_LSL, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm7F2(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3858:35: note: in expansion of macro 'LDR_PREINC_WB'
 3858 | static  void arm7F2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3858:35: note: in expansion of macro 'LDR_PREINC_WB'
 3858 | static  void arm7F2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3858:35: note: in expansion of macro 'LDR_PREINC_WB'
 3858 | static  void arm7F2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3858:35: note: in expansion of macro 'LDR_PREINC_WB'
 3858 | static  void arm7F2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3858:35: note: in expansion of macro 'LDR_PREINC_WB'
 3858 | static  void arm7F2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3858:35: note: in expansion of macro 'LDR_PREINC_WB'
 3858 | static  void arm7F2(u32 opcode) { LDR_PREINC_WB(OFFSET_LSR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm7F4(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3860:35: note: in expansion of macro 'LDR_PREINC_WB'
 3860 | static  void arm7F4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3860:35: note: in expansion of macro 'LDR_PREINC_WB'
 3860 | static  void arm7F4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3860:35: note: in expansion of macro 'LDR_PREINC_WB'
 3860 | static  void arm7F4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3860:35: note: in expansion of macro 'LDR_PREINC_WB'
 3860 | static  void arm7F4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3860:35: note: in expansion of macro 'LDR_PREINC_WB'
 3860 | static  void arm7F4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3860:35: note: in expansion of macro 'LDR_PREINC_WB'
 3860 | static  void arm7F4(u32 opcode) { LDR_PREINC_WB(OFFSET_ASR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm7F6(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3862:35: note: in expansion of macro 'LDR_PREINC_WB'
 3862 | static  void arm7F6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3862:35: note: in expansion of macro 'LDR_PREINC_WB'
 3862 | static  void arm7F6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3862:35: note: in expansion of macro 'LDR_PREINC_WB'
 3862 | static  void arm7F6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3862:35: note: in expansion of macro 'LDR_PREINC_WB'
 3862 | static  void arm7F6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3862:35: note: in expansion of macro 'LDR_PREINC_WB'
 3862 | static  void arm7F6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:3485:9: note: in expansion of macro 'ARM_PREFETCH'
 3485 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:3519:3: note: in expansion of macro 'LDR'
 3519 |   LDR(CALC_OFFSET, ADDRESS_PREINC, LOAD_DATA, WRITEBACK_PRE, SIZE)
      |   ^~~
src/gba.cpp:3862:35: note: in expansion of macro 'LDR_PREINC_WB'
 3862 | static  void arm7F6(u32 opcode) { LDR_PREINC_WB(OFFSET_ROR, OP_LDRB, 16); }
      |                                   ^~~~~~~~~~~~~
src/gba.cpp: In function 'void arm810(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4073:5: note: in expansion of macro 'LDM_ALL'
 4073 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4073:5: note: in expansion of macro 'LDM_ALL'
 4073 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4073:5: note: in expansion of macro 'LDM_ALL'
 4073 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4073:5: note: in expansion of macro 'LDM_ALL'
 4073 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4073:5: note: in expansion of macro 'LDM_ALL'
 4073 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4073:5: note: in expansion of macro 'LDM_ALL'
 4073 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm830(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4101:5: note: in expansion of macro 'LDM_ALL'
 4101 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4101:5: note: in expansion of macro 'LDM_ALL'
 4101 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4101:5: note: in expansion of macro 'LDM_ALL'
 4101 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4101:5: note: in expansion of macro 'LDM_ALL'
 4101 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4101:5: note: in expansion of macro 'LDM_ALL'
 4101 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4101:5: note: in expansion of macro 'LDM_ALL'
 4101 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm850(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4132:5: note: in expansion of macro 'LDM_ALL_2B'
 4132 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4132:5: note: in expansion of macro 'LDM_ALL_2B'
 4132 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4132:5: note: in expansion of macro 'LDM_ALL_2B'
 4132 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4132:5: note: in expansion of macro 'LDM_ALL_2B'
 4132 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4132:5: note: in expansion of macro 'LDM_ALL_2B'
 4132 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4132:5: note: in expansion of macro 'LDM_ALL_2B'
 4132 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void arm870(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4163:5: note: in expansion of macro 'LDM_ALL_2B'
 4163 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4163:5: note: in expansion of macro 'LDM_ALL_2B'
 4163 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4163:5: note: in expansion of macro 'LDM_ALL_2B'
 4163 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4163:5: note: in expansion of macro 'LDM_ALL_2B'
 4163 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4163:5: note: in expansion of macro 'LDM_ALL_2B'
 4163 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4163:5: note: in expansion of macro 'LDM_ALL_2B'
 4163 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void arm890(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4187:5: note: in expansion of macro 'LDM_ALL'
 4187 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4187:5: note: in expansion of macro 'LDM_ALL'
 4187 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4187:5: note: in expansion of macro 'LDM_ALL'
 4187 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4187:5: note: in expansion of macro 'LDM_ALL'
 4187 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4187:5: note: in expansion of macro 'LDM_ALL'
 4187 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4187:5: note: in expansion of macro 'LDM_ALL'
 4187 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm8B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4215:5: note: in expansion of macro 'LDM_ALL'
 4215 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4215:5: note: in expansion of macro 'LDM_ALL'
 4215 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4215:5: note: in expansion of macro 'LDM_ALL'
 4215 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4215:5: note: in expansion of macro 'LDM_ALL'
 4215 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4215:5: note: in expansion of macro 'LDM_ALL'
 4215 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4215:5: note: in expansion of macro 'LDM_ALL'
 4215 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm8D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4242:5: note: in expansion of macro 'LDM_ALL_2B'
 4242 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4242:5: note: in expansion of macro 'LDM_ALL_2B'
 4242 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4242:5: note: in expansion of macro 'LDM_ALL_2B'
 4242 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4242:5: note: in expansion of macro 'LDM_ALL_2B'
 4242 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4242:5: note: in expansion of macro 'LDM_ALL_2B'
 4242 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4242:5: note: in expansion of macro 'LDM_ALL_2B'
 4242 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void arm8F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4273:5: note: in expansion of macro 'LDM_ALL_2B'
 4273 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4273:5: note: in expansion of macro 'LDM_ALL_2B'
 4273 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4273:5: note: in expansion of macro 'LDM_ALL_2B'
 4273 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4273:5: note: in expansion of macro 'LDM_ALL_2B'
 4273 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4273:5: note: in expansion of macro 'LDM_ALL_2B'
 4273 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4273:5: note: in expansion of macro 'LDM_ALL_2B'
 4273 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void arm910(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4301:5: note: in expansion of macro 'LDM_ALL'
 4301 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4301:5: note: in expansion of macro 'LDM_ALL'
 4301 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4301:5: note: in expansion of macro 'LDM_ALL'
 4301 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4301:5: note: in expansion of macro 'LDM_ALL'
 4301 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4301:5: note: in expansion of macro 'LDM_ALL'
 4301 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4301:5: note: in expansion of macro 'LDM_ALL'
 4301 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm930(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4329:5: note: in expansion of macro 'LDM_ALL'
 4329 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4329:5: note: in expansion of macro 'LDM_ALL'
 4329 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4329:5: note: in expansion of macro 'LDM_ALL'
 4329 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4329:5: note: in expansion of macro 'LDM_ALL'
 4329 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4329:5: note: in expansion of macro 'LDM_ALL'
 4329 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4329:5: note: in expansion of macro 'LDM_ALL'
 4329 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm950(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4360:5: note: in expansion of macro 'LDM_ALL_2B'
 4360 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4360:5: note: in expansion of macro 'LDM_ALL_2B'
 4360 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4360:5: note: in expansion of macro 'LDM_ALL_2B'
 4360 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4360:5: note: in expansion of macro 'LDM_ALL_2B'
 4360 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4360:5: note: in expansion of macro 'LDM_ALL_2B'
 4360 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4360:5: note: in expansion of macro 'LDM_ALL_2B'
 4360 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void arm970(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4391:5: note: in expansion of macro 'LDM_ALL_2B'
 4391 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4391:5: note: in expansion of macro 'LDM_ALL_2B'
 4391 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4391:5: note: in expansion of macro 'LDM_ALL_2B'
 4391 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4391:5: note: in expansion of macro 'LDM_ALL_2B'
 4391 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4391:5: note: in expansion of macro 'LDM_ALL_2B'
 4391 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4391:5: note: in expansion of macro 'LDM_ALL_2B'
 4391 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void arm990(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4415:5: note: in expansion of macro 'LDM_ALL'
 4415 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4415:5: note: in expansion of macro 'LDM_ALL'
 4415 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4415:5: note: in expansion of macro 'LDM_ALL'
 4415 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4415:5: note: in expansion of macro 'LDM_ALL'
 4415 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4415:5: note: in expansion of macro 'LDM_ALL'
 4415 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4415:5: note: in expansion of macro 'LDM_ALL'
 4415 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm9B0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4443:5: note: in expansion of macro 'LDM_ALL'
 4443 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4443:5: note: in expansion of macro 'LDM_ALL'
 4443 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4443:5: note: in expansion of macro 'LDM_ALL'
 4443 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4443:5: note: in expansion of macro 'LDM_ALL'
 4443 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4443:5: note: in expansion of macro 'LDM_ALL'
 4443 |     LDM_ALL;
      |     ^~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4009:9: note: in expansion of macro 'ARM_PREFETCH'
 4009 |         ARM_PREFETCH;                                   \
      |         ^~~~~~~~~~~~
src/gba.cpp:4443:5: note: in expansion of macro 'LDM_ALL'
 4443 |     LDM_ALL;
      |     ^~~~~~~
src/gba.cpp: In function 'void arm9D0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4470:5: note: in expansion of macro 'LDM_ALL_2B'
 4470 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4470:5: note: in expansion of macro 'LDM_ALL_2B'
 4470 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4470:5: note: in expansion of macro 'LDM_ALL_2B'
 4470 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4470:5: note: in expansion of macro 'LDM_ALL_2B'
 4470 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4470:5: note: in expansion of macro 'LDM_ALL_2B'
 4470 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4470:5: note: in expansion of macro 'LDM_ALL_2B'
 4470 |     LDM_ALL_2B;
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void arm9F0(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4501:2: note: in expansion of macro 'LDM_ALL_2B'
 4501 |  LDM_ALL_2B;
      |  ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4501:2: note: in expansion of macro 'LDM_ALL_2B'
 4501 |  LDM_ALL_2B;
      |  ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4501:2: note: in expansion of macro 'LDM_ALL_2B'
 4501 |  LDM_ALL_2B;
      |  ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4501:2: note: in expansion of macro 'LDM_ALL_2B'
 4501 |  LDM_ALL_2B;
      |  ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4501:2: note: in expansion of macro 'LDM_ALL_2B'
 4501 |  LDM_ALL_2B;
      |  ^~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4039:13: note: in expansion of macro 'ARM_PREFETCH'
 4039 |             ARM_PREFETCH;                               \
      |             ^~~~~~~~~~~~
src/gba.cpp:4501:2: note: in expansion of macro 'LDM_ALL_2B'
 4501 |  LDM_ALL_2B;
      |  ^~~~~~~~~~
src/gba.cpp: In function 'void armA00(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4516:2: note: in expansion of macro 'ARM_PREFETCH'
 4516 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4516:2: note: in expansion of macro 'ARM_PREFETCH'
 4516 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4516:2: note: in expansion of macro 'ARM_PREFETCH'
 4516 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4516:2: note: in expansion of macro 'ARM_PREFETCH'
 4516 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4516:2: note: in expansion of macro 'ARM_PREFETCH'
 4516 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4516:2: note: in expansion of macro 'ARM_PREFETCH'
 4516 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/gba.cpp: In function 'void armB00(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4532:2: note: in expansion of macro 'ARM_PREFETCH'
 4532 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4532:2: note: in expansion of macro 'ARM_PREFETCH'
 4532 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4532:2: note: in expansion of macro 'ARM_PREFETCH'
 4532 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4532:2: note: in expansion of macro 'ARM_PREFETCH'
 4532 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4532:2: note: in expansion of macro 'ARM_PREFETCH'
 4532 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4532:2: note: in expansion of macro 'ARM_PREFETCH'
 4532 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/gba.cpp: In function 'int armExecute()':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:312:45: note: in expansion of macro 'CPUReadMemoryQuick'
  312 | #define ARM_PREFETCH_NEXT  cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);
      |                                             ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4789:7: note: in expansion of macro 'ARM_PREFETCH_NEXT'
 4789 |       ARM_PREFETCH_NEXT;
      |       ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:312:45: note: in expansion of macro 'CPUReadMemoryQuick'
  312 | #define ARM_PREFETCH_NEXT  cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);
      |                                             ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4789:7: note: in expansion of macro 'ARM_PREFETCH_NEXT'
 4789 |       ARM_PREFETCH_NEXT;
      |       ^~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:312:45: note: in expansion of macro 'CPUReadMemoryQuick'
  312 | #define ARM_PREFETCH_NEXT  cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);
      |                                             ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4789:7: note: in expansion of macro 'ARM_PREFETCH_NEXT'
 4789 |       ARM_PREFETCH_NEXT;
      |       ^~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void thumbUnknownInsn(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4892:2: note: in expansion of macro 'ARM_PREFETCH'
 4892 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4892:2: note: in expansion of macro 'ARM_PREFETCH'
 4892 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4892:2: note: in expansion of macro 'ARM_PREFETCH'
 4892 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4892:2: note: in expansion of macro 'ARM_PREFETCH'
 4892 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4892:2: note: in expansion of macro 'ARM_PREFETCH'
 4892 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:4892:2: note: in expansion of macro 'ARM_PREFETCH'
 4892 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/gba.cpp: In function 'void thumb47(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:5677:3: note: in expansion of macro 'ARM_PREFETCH'
 5677 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:5677:3: note: in expansion of macro 'ARM_PREFETCH'
 5677 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:5677:3: note: in expansion of macro 'ARM_PREFETCH'
 5677 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:5677:3: note: in expansion of macro 'ARM_PREFETCH'
 5677 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:5677:3: note: in expansion of macro 'ARM_PREFETCH'
 5677 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:5677:3: note: in expansion of macro 'ARM_PREFETCH'
 5677 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/gba.cpp: In function 'void thumb48(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:5691:22: note: in expansion of macro 'CPUReadMemoryQuick'
 5691 |  bus.reg[regist].I = CPUReadMemoryQuick(address);
      |                      ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:5691:22: note: in expansion of macro 'CPUReadMemoryQuick'
 5691 |  bus.reg[regist].I = CPUReadMemoryQuick(address);
      |                      ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:5691:22: note: in expansion of macro 'CPUReadMemoryQuick'
 5691 |  bus.reg[regist].I = CPUReadMemoryQuick(address);
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void thumb98(u32)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:5886:22: note: in expansion of macro 'CPUReadMemoryQuick'
 5886 |  bus.reg[regist].I = CPUReadMemoryQuick(address);
      |                      ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:5886:22: note: in expansion of macro 'CPUReadMemoryQuick'
 5886 |  bus.reg[regist].I = CPUReadMemoryQuick(address);
      |                      ^~~~~~~~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:5886:22: note: in expansion of macro 'CPUReadMemoryQuick'
 5886 |  bus.reg[regist].I = CPUReadMemoryQuick(address);
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void gfxDrawPixel(u32*, u8, const u16*, u32)':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:6627:21: note: in expansion of macro 'READ16LE'
 6627 |    *dest = color ? (READ16LE(&palette[color]) | prio): 0x80000000;
      |                     ^~~~~~~~
src/gba.cpp:6627:20: note: to match this '('
 6627 |    *dest = color ? (READ16LE(&palette[color]) | prio): 0x80000000;
      |                    ^
In file included from src/gba.cpp:16:
src/port.h:79:58: error: expected ':' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:6627:21: note: in expansion of macro 'READ16LE'
 6627 |    *dest = color ? (READ16LE(&palette[color]) | prio): 0x80000000;
      |                     ^~~~~~~~
src/port.h:79:58: error: expected primary-expression before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:6627:21: note: in expansion of macro 'READ16LE'
 6627 |    *dest = color ? (READ16LE(&palette[color]) | prio): 0x80000000;
      |                     ^~~~~~~~
src/gba.cpp:6627:47: error: expected primary-expression before '|' token
 6627 |    *dest = color ? (READ16LE(&palette[color]) | prio): 0x80000000;
      |                                               ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void gfxDrawRotScreen(u16, u16, u16, u16, u16, u16, u16, u16, u16, int&, int&, int)':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:7282:42: note: in expansion of macro 'READ16LE'
 7282 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                          ^~~~~~~~
src/gba.cpp:7282:41: note: to match this '('
 7282 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                         ^
src/gba.cpp:7282:67: error: expected primary-expression before '|' token
 7282 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                                                   ^
In file included from src/gba.cpp:16:
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:7300:42: note: in expansion of macro 'READ16LE'
 7300 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                          ^~~~~~~~
src/gba.cpp:7300:41: note: to match this '('
 7300 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                         ^
src/gba.cpp:7300:67: error: expected primary-expression before '|' token
 7300 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                                                   ^
In file included from src/gba.cpp:16:
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:7332:42: note: in expansion of macro 'READ16LE'
 7332 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                          ^~~~~~~~
src/gba.cpp:7332:41: note: to match this '('
 7332 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                         ^
src/gba.cpp:7332:67: error: expected primary-expression before '|' token
 7332 |     if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                                                   ^
In file included from src/gba.cpp:16:
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:7352:43: note: in expansion of macro 'READ16LE'
 7352 |      if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                           ^~~~~~~~
src/gba.cpp:7352:42: note: to match this '('
 7352 |      if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                          ^
src/gba.cpp:7352:68: error: expected primary-expression before '|' token
 7352 |      if(color) RENDERER_LINE[layer][x] = (READ16LE(&palette[color])|prio);
      |                                                                    ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void gfxDrawRotScreen16Bit(int&, int&, int)':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:7453:35: note: in expansion of macro 'READ16LE'
 7453 |    RENDERER_LINE[Layer_BG2][x] = (READ16LE(&screenBase[yyy * sizeX + xxx]) | prio);
      |                                   ^~~~~~~~
src/gba.cpp:7453:34: note: to match this '('
 7453 |    RENDERER_LINE[Layer_BG2][x] = (READ16LE(&screenBase[yyy * sizeX + xxx]) | prio);
      |                                  ^
src/gba.cpp:7453:76: error: expected primary-expression before '|' token
 7453 |    RENDERER_LINE[Layer_BG2][x] = (READ16LE(&screenBase[yyy * sizeX + xxx]) | prio);
      |                                                                            ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void gfxDrawRotScreen256(int&, int&, int)':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:7553:46: note: in expansion of macro 'READ16LE'
 7553 |    if (color) RENDERER_LINE[Layer_BG2][x] = (READ16LE(&palette[color]) | prio);
      |                                              ^~~~~~~~
src/gba.cpp:7553:45: note: to match this '('
 7553 |    if (color) RENDERER_LINE[Layer_BG2][x] = (READ16LE(&palette[color]) | prio);
      |                                             ^
src/gba.cpp:7553:72: error: expected primary-expression before '|' token
 7553 |    if (color) RENDERER_LINE[Layer_BG2][x] = (READ16LE(&palette[color]) | prio);
      |                                                                        ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void gfxDrawRotScreen16Bit160(int&, int&, int)':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:7654:35: note: in expansion of macro 'READ16LE'
 7654 |    RENDERER_LINE[Layer_BG2][x] = (READ16LE(&screenBase[yyy * sizeX + xxx]) | prio);
      |                                   ^~~~~~~~
src/gba.cpp:7654:34: note: to match this '('
 7654 |    RENDERER_LINE[Layer_BG2][x] = (READ16LE(&screenBase[yyy * sizeX + xxx]) | prio);
      |                                  ^
src/gba.cpp:7654:76: error: expected primary-expression before '|' token
 7654 |    RENDERER_LINE[Layer_BG2][x] = (READ16LE(&screenBase[yyy * sizeX + xxx]) | prio);
      |                                                                            ^
src/gba.cpp: In function 'void gfxDrawSprites()':
src/gba.cpp:7863:73: error: expected primary-expression before '|' token
 7863 |          RENDERER_LINE[Layer_OBJ][sx] = READ16LE(&spritePalette[color]) | prio;
      |                                                                         ^
src/gba.cpp:7908:81: error: expected primary-expression before '|' token
 7908 |          RENDERER_LINE[Layer_OBJ][sx] = READ16LE(&spritePalette[palette+color]) | prio;
      |                                                                                 ^
src/gba.cpp:7988:73: error: expected primary-expression before '|' token
 7988 |          RENDERER_LINE[Layer_OBJ][sx] = READ16LE(&spritePalette[color]) | prio;
      |                                                                         ^
src/gba.cpp:8059:84: error: expected primary-expression before '|' token
 8059 |           RENDERER_LINE[Layer_OBJ][sx] = READ16LE(&spritePalette[palette + color]) | prio;
      |                                                                                    ^
src/gba.cpp:8105:84: error: expected primary-expression before '|' token
 8105 |           RENDERER_LINE[Layer_OBJ][sx] = READ16LE(&spritePalette[palette + color]) | prio;
      |                                                                                    ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'int CPULoadRom(const char*)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:9192:3: note: in expansion of macro 'WRITE16LE'
 9192 |   WRITE16LE(temp, (i >> 1) & 0xFFFF);
      |   ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:9192:3: note: in expansion of macro 'WRITE16LE'
 9192 |   WRITE16LE(temp, (i >> 1) & 0xFFFF);
      |   ^~~~~~~~~
src/gba.cpp: In function 'int CPULoadRomData(const char*, int)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:9216:3: note: in expansion of macro 'WRITE16LE'
 9216 |   WRITE16LE(temp, (i >> 1) & 0xFFFF);
      |   ^~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:9216:3: note: in expansion of macro 'WRITE16LE'
 9216 |   WRITE16LE(temp, (i >> 1) & 0xFFFF);
      |   ^~~~~~~~~
src/gba.cpp: In function 'void mode0RenderLine()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:9287:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9287 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:9287:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9287 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:9287:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9287 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode0RenderLineNoWindow()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:9381:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9381 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:9381:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9381 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:9381:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9381 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode0RenderLineAll()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:9529:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9529 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:9529:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9529 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:9529:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9529 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode1RenderLine()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:9720:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9720 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:9720:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9720 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:9720:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9720 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode1RenderLineNoWindow()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:9820:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9820 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:9820:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9820 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:9820:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9820 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode1RenderLineAll()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:9972:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9972 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:9972:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9972 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:9972:22: note: in expansion of macro 'RENDERER_BACKDROP'
 9972 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode2RenderLine()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10141:22: note: in expansion of macro 'RENDERER_BACKDROP'
10141 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10141:22: note: in expansion of macro 'RENDERER_BACKDROP'
10141 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10141:22: note: in expansion of macro 'RENDERER_BACKDROP'
10141 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode2RenderLineNoWindow()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10227:22: note: in expansion of macro 'RENDERER_BACKDROP'
10227 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10227:22: note: in expansion of macro 'RENDERER_BACKDROP'
10227 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10227:22: note: in expansion of macro 'RENDERER_BACKDROP'
10227 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode2RenderLineAll()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10353:22: note: in expansion of macro 'RENDERER_BACKDROP'
10353 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10353:22: note: in expansion of macro 'RENDERER_BACKDROP'
10353 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10353:22: note: in expansion of macro 'RENDERER_BACKDROP'
10353 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode3RenderLine()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10503:24: note: in expansion of macro 'RENDERER_BACKDROP'
10503 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10503:24: note: in expansion of macro 'RENDERER_BACKDROP'
10503 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10503:24: note: in expansion of macro 'RENDERER_BACKDROP'
10503 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode3RenderLineNoWindow()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10557:24: note: in expansion of macro 'RENDERER_BACKDROP'
10557 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10557:24: note: in expansion of macro 'RENDERER_BACKDROP'
10557 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10557:24: note: in expansion of macro 'RENDERER_BACKDROP'
10557 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode3RenderLineAll()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10647:24: note: in expansion of macro 'RENDERER_BACKDROP'
10647 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10647:24: note: in expansion of macro 'RENDERER_BACKDROP'
10647 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10647:24: note: in expansion of macro 'RENDERER_BACKDROP'
10647 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode4RenderLine()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10773:22: note: in expansion of macro 'RENDERER_BACKDROP'
10773 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10773:22: note: in expansion of macro 'RENDERER_BACKDROP'
10773 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10773:22: note: in expansion of macro 'RENDERER_BACKDROP'
10773 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode4RenderLineNoWindow()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10827:22: note: in expansion of macro 'RENDERER_BACKDROP'
10827 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10827:22: note: in expansion of macro 'RENDERER_BACKDROP'
10827 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10827:22: note: in expansion of macro 'RENDERER_BACKDROP'
10827 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode4RenderLineAll()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:10917:22: note: in expansion of macro 'RENDERER_BACKDROP'
10917 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:10917:22: note: in expansion of macro 'RENDERER_BACKDROP'
10917 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:10917:22: note: in expansion of macro 'RENDERER_BACKDROP'
10917 |  uint32_t backdrop = RENDERER_BACKDROP;
      |                      ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode5RenderLine()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:11045:24: note: in expansion of macro 'RENDERER_BACKDROP'
11045 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:11045:24: note: in expansion of macro 'RENDERER_BACKDROP'
11045 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:11045:24: note: in expansion of macro 'RENDERER_BACKDROP'
11045 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode5RenderLineNoWindow()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:11098:24: note: in expansion of macro 'RENDERER_BACKDROP'
11098 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:11098:24: note: in expansion of macro 'RENDERER_BACKDROP'
11098 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:11098:24: note: in expansion of macro 'RENDERER_BACKDROP'
11098 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void mode5RenderLineAll()':
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:302:28: note: in expansion of macro 'READ16LE'
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                            ^~~~~~~~
src/gba.cpp:11188:24: note: in expansion of macro 'RENDERER_BACKDROP'
11188 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:27: note: to match this '('
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                           ^
src/gba.cpp:11188:24: note: in expansion of macro 'RENDERER_BACKDROP'
11188 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
src/gba.cpp:302:88: error: expected primary-expression before '|' token
  302 | #define RENDERER_BACKDROP (READ16LE(&reinterpret_cast<uint16_t*>(RENDERER_PALETTE)[0]) | 0x30000000)
      |                                                                                        ^
src/gba.cpp:11188:24: note: in expansion of macro 'RENDERER_BACKDROP'
11188 |  uint32_t background = RENDERER_BACKDROP;
      |                        ^~~~~~~~~~~~~~~~~
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'bool CPUReadState(const uint8_t*, unsigned int)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:11661:3: note: in expansion of macro 'ARM_PREFETCH'
11661 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:11661:3: note: in expansion of macro 'ARM_PREFETCH'
11661 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:11661:3: note: in expansion of macro 'ARM_PREFETCH'
11661 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:11661:3: note: in expansion of macro 'ARM_PREFETCH'
11661 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:11661:3: note: in expansion of macro 'ARM_PREFETCH'
11661 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:11661:3: note: in expansion of macro 'ARM_PREFETCH'
11661 |   ARM_PREFETCH;
      |   ^~~~~~~~~~~~
src/port.h:79:58: error: expected ')' before ';' token
   79 | #define READ16LE(x) (*((u16 *)(x))<<8)|(*((u16 *)(x))>>8);
      |                                                          ^
src/gba.cpp:761:36: note: in expansion of macro 'READ16LE'
  761 | #define CPUReadHalfWordQuick(addr) READ16LE(((u16*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                    ^~~~~~~~
src/gba.cpp:11666:27: note: in expansion of macro 'CPUReadHalfWordQuick'
11666 |  CPUUpdateRegister(0x204, CPUReadHalfWordQuick(0x4000204));
      |                           ^~~~~~~~~~~~~~~~~~~~
src/gba.cpp:11666:19: note: to match this '('
11666 |  CPUUpdateRegister(0x204, CPUReadHalfWordQuick(0x4000204));
      |                   ^
src/gba.cpp:11666:58: error: expected primary-expression before ')' token
11666 |  CPUUpdateRegister(0x204, CPUReadHalfWordQuick(0x4000204));
      |                                                          ^
In file included from src/gba.cpp:16:
src/gba.cpp: In function 'void CPUCheckDMA(int, int)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11889:5: note: in expansion of macro 'UPDATE_REG'
11889 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11889:5: note: in expansion of macro 'UPDATE_REG'
11889 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11899:5: note: in expansion of macro 'UPDATE_REG'
11899 |     UPDATE_REG(0xBA, DM0CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11899:5: note: in expansion of macro 'UPDATE_REG'
11899 |     UPDATE_REG(0xBA, DM0CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11929:5: note: in expansion of macro 'UPDATE_REG'
11929 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11929:5: note: in expansion of macro 'UPDATE_REG'
11929 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11939:5: note: in expansion of macro 'UPDATE_REG'
11939 |     UPDATE_REG(0xC6, DM1CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11939:5: note: in expansion of macro 'UPDATE_REG'
11939 |     UPDATE_REG(0xC6, DM1CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11969:5: note: in expansion of macro 'UPDATE_REG'
11969 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11969:5: note: in expansion of macro 'UPDATE_REG'
11969 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11979:5: note: in expansion of macro 'UPDATE_REG'
11979 |     UPDATE_REG(0xD2, DM2CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11979:5: note: in expansion of macro 'UPDATE_REG'
11979 |     UPDATE_REG(0xD2, DM2CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11999:5: note: in expansion of macro 'UPDATE_REG'
11999 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:11999:5: note: in expansion of macro 'UPDATE_REG'
11999 |     UPDATE_REG(0x202, io_registers[REG_IF]);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12009:5: note: in expansion of macro 'UPDATE_REG'
12009 |     UPDATE_REG(0xDE, DM3CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12009:5: note: in expansion of macro 'UPDATE_REG'
12009 |     UPDATE_REG(0xDE, DM3CNT_H);
      |     ^~~~~~~~~~
src/gba.cpp: In function 'void CPUUpdateRegister(uint32_t, uint16_t)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12031:5: note: in expansion of macro 'UPDATE_REG'
12031 |     UPDATE_REG(0x00, io_registers[REG_DISPCNT]);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12031:5: note: in expansion of macro 'UPDATE_REG'
12031 |     UPDATE_REG(0x00, io_registers[REG_DISPCNT]);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12048:7: note: in expansion of macro 'UPDATE_REG'
12048 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12048:7: note: in expansion of macro 'UPDATE_REG'
12048 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:12049:7: note: in expansion of macro 'CPUCompareVCOUNT'
12049 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:12049:7: note: in expansion of macro 'CPUCompareVCOUNT'
12049 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:12049:7: note: in expansion of macro 'CPUCompareVCOUNT'
12049 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:12049:7: note: in expansion of macro 'CPUCompareVCOUNT'
12049 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:12049:7: note: in expansion of macro 'CPUCompareVCOUNT'
12049 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:12049:7: note: in expansion of macro 'CPUCompareVCOUNT'
12049 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12075:4: note: in expansion of macro 'UPDATE_REG'
12075 |    UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12075:4: note: in expansion of macro 'UPDATE_REG'
12075 |    UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12083:4: note: in expansion of macro 'UPDATE_REG'
12083 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12083:4: note: in expansion of macro 'UPDATE_REG'
12083 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12088:4: note: in expansion of macro 'UPDATE_REG'
12088 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12088:4: note: in expansion of macro 'UPDATE_REG'
12088 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12099:4: note: in expansion of macro 'UPDATE_REG'
12099 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12099:4: note: in expansion of macro 'UPDATE_REG'
12099 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12106:4: note: in expansion of macro 'UPDATE_REG'
12106 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12106:4: note: in expansion of macro 'UPDATE_REG'
12106 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12110:4: note: in expansion of macro 'UPDATE_REG'
12110 |    UPDATE_REG(0x28, BG2X_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12110:4: note: in expansion of macro 'UPDATE_REG'
12110 |    UPDATE_REG(0x28, BG2X_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12115:4: note: in expansion of macro 'UPDATE_REG'
12115 |    UPDATE_REG(0x2A, BG2X_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12115:4: note: in expansion of macro 'UPDATE_REG'
12115 |    UPDATE_REG(0x2A, BG2X_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12120:4: note: in expansion of macro 'UPDATE_REG'
12120 |    UPDATE_REG(0x2C, BG2Y_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12120:4: note: in expansion of macro 'UPDATE_REG'
12120 |    UPDATE_REG(0x2C, BG2Y_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12125:4: note: in expansion of macro 'UPDATE_REG'
12125 |    UPDATE_REG(0x2E, BG2Y_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12125:4: note: in expansion of macro 'UPDATE_REG'
12125 |    UPDATE_REG(0x2E, BG2Y_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12133:4: note: in expansion of macro 'UPDATE_REG'
12133 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12133:4: note: in expansion of macro 'UPDATE_REG'
12133 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12137:4: note: in expansion of macro 'UPDATE_REG'
12137 |    UPDATE_REG(0x38, BG3X_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12137:4: note: in expansion of macro 'UPDATE_REG'
12137 |    UPDATE_REG(0x38, BG3X_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12142:4: note: in expansion of macro 'UPDATE_REG'
12142 |    UPDATE_REG(0x3A, BG3X_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12142:4: note: in expansion of macro 'UPDATE_REG'
12142 |    UPDATE_REG(0x3A, BG3X_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12147:4: note: in expansion of macro 'UPDATE_REG'
12147 |    UPDATE_REG(0x3C, BG3Y_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12147:4: note: in expansion of macro 'UPDATE_REG'
12147 |    UPDATE_REG(0x3C, BG3Y_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12152:4: note: in expansion of macro 'UPDATE_REG'
12152 |    UPDATE_REG(0x3E, BG3Y_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12152:4: note: in expansion of macro 'UPDATE_REG'
12152 |    UPDATE_REG(0x3E, BG3Y_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12157:4: note: in expansion of macro 'UPDATE_REG'
12157 |    UPDATE_REG(0x40, io_registers[REG_WIN0H]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12157:4: note: in expansion of macro 'UPDATE_REG'
12157 |    UPDATE_REG(0x40, io_registers[REG_WIN0H]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12162:4: note: in expansion of macro 'UPDATE_REG'
12162 |    UPDATE_REG(0x42, io_registers[REG_WIN1H]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12162:4: note: in expansion of macro 'UPDATE_REG'
12162 |    UPDATE_REG(0x42, io_registers[REG_WIN1H]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12168:4: note: in expansion of macro 'UPDATE_REG'
12168 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12168:4: note: in expansion of macro 'UPDATE_REG'
12168 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12173:4: note: in expansion of macro 'UPDATE_REG'
12173 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12173:4: note: in expansion of macro 'UPDATE_REG'
12173 |    UPDATE_REG(address, *address_lut[address]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12177:4: note: in expansion of macro 'UPDATE_REG'
12177 |    UPDATE_REG(0x4C, MOSAIC);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12177:4: note: in expansion of macro 'UPDATE_REG'
12177 |    UPDATE_REG(0x4C, MOSAIC);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12181:4: note: in expansion of macro 'UPDATE_REG'
12181 |    UPDATE_REG(0x50, BLDMOD);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12181:4: note: in expansion of macro 'UPDATE_REG'
12181 |    UPDATE_REG(0x50, BLDMOD);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12187:4: note: in expansion of macro 'UPDATE_REG'
12187 |    UPDATE_REG(0x52, COLEV);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12187:4: note: in expansion of macro 'UPDATE_REG'
12187 |    UPDATE_REG(0x52, COLEV);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12191:4: note: in expansion of macro 'UPDATE_REG'
12191 |    UPDATE_REG(0x54, COLY);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12191:4: note: in expansion of macro 'UPDATE_REG'
12191 |    UPDATE_REG(0x54, COLY);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12226:4: note: in expansion of macro 'UPDATE_REG'
12226 |    UPDATE_REG(0xB0, DM0SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12226:4: note: in expansion of macro 'UPDATE_REG'
12226 |    UPDATE_REG(0xB0, DM0SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12230:4: note: in expansion of macro 'UPDATE_REG'
12230 |    UPDATE_REG(0xB2, DM0SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12230:4: note: in expansion of macro 'UPDATE_REG'
12230 |    UPDATE_REG(0xB2, DM0SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12234:4: note: in expansion of macro 'UPDATE_REG'
12234 |    UPDATE_REG(0xB4, DM0DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12234:4: note: in expansion of macro 'UPDATE_REG'
12234 |    UPDATE_REG(0xB4, DM0DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12238:4: note: in expansion of macro 'UPDATE_REG'
12238 |    UPDATE_REG(0xB6, DM0DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12238:4: note: in expansion of macro 'UPDATE_REG'
12238 |    UPDATE_REG(0xB6, DM0DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12250:5: note: in expansion of macro 'UPDATE_REG'
12250 |     UPDATE_REG(0xBA, DM0CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12250:5: note: in expansion of macro 'UPDATE_REG'
12250 |     UPDATE_REG(0xBA, DM0CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12262:4: note: in expansion of macro 'UPDATE_REG'
12262 |    UPDATE_REG(0xBC, DM1SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12262:4: note: in expansion of macro 'UPDATE_REG'
12262 |    UPDATE_REG(0xBC, DM1SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12266:4: note: in expansion of macro 'UPDATE_REG'
12266 |    UPDATE_REG(0xBE, DM1SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12266:4: note: in expansion of macro 'UPDATE_REG'
12266 |    UPDATE_REG(0xBE, DM1SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12270:4: note: in expansion of macro 'UPDATE_REG'
12270 |    UPDATE_REG(0xC0, DM1DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12270:4: note: in expansion of macro 'UPDATE_REG'
12270 |    UPDATE_REG(0xC0, DM1DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12274:4: note: in expansion of macro 'UPDATE_REG'
12274 |    UPDATE_REG(0xC2, DM1DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12274:4: note: in expansion of macro 'UPDATE_REG'
12274 |    UPDATE_REG(0xC2, DM1DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12286:5: note: in expansion of macro 'UPDATE_REG'
12286 |     UPDATE_REG(0xC6, DM1CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12286:5: note: in expansion of macro 'UPDATE_REG'
12286 |     UPDATE_REG(0xC6, DM1CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12298:4: note: in expansion of macro 'UPDATE_REG'
12298 |    UPDATE_REG(0xC8, DM2SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12298:4: note: in expansion of macro 'UPDATE_REG'
12298 |    UPDATE_REG(0xC8, DM2SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12302:4: note: in expansion of macro 'UPDATE_REG'
12302 |    UPDATE_REG(0xCA, DM2SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12302:4: note: in expansion of macro 'UPDATE_REG'
12302 |    UPDATE_REG(0xCA, DM2SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12306:4: note: in expansion of macro 'UPDATE_REG'
12306 |    UPDATE_REG(0xCC, DM2DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12306:4: note: in expansion of macro 'UPDATE_REG'
12306 |    UPDATE_REG(0xCC, DM2DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12310:4: note: in expansion of macro 'UPDATE_REG'
12310 |    UPDATE_REG(0xCE, DM2DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12310:4: note: in expansion of macro 'UPDATE_REG'
12310 |    UPDATE_REG(0xCE, DM2DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12323:5: note: in expansion of macro 'UPDATE_REG'
12323 |     UPDATE_REG(0xD2, DM2CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12323:5: note: in expansion of macro 'UPDATE_REG'
12323 |     UPDATE_REG(0xD2, DM2CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12335:4: note: in expansion of macro 'UPDATE_REG'
12335 |    UPDATE_REG(0xD4, DM3SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12335:4: note: in expansion of macro 'UPDATE_REG'
12335 |    UPDATE_REG(0xD4, DM3SAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12339:4: note: in expansion of macro 'UPDATE_REG'
12339 |    UPDATE_REG(0xD6, DM3SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12339:4: note: in expansion of macro 'UPDATE_REG'
12339 |    UPDATE_REG(0xD6, DM3SAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12343:4: note: in expansion of macro 'UPDATE_REG'
12343 |    UPDATE_REG(0xD8, DM3DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12343:4: note: in expansion of macro 'UPDATE_REG'
12343 |    UPDATE_REG(0xD8, DM3DAD_L);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12347:4: note: in expansion of macro 'UPDATE_REG'
12347 |    UPDATE_REG(0xDA, DM3DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12347:4: note: in expansion of macro 'UPDATE_REG'
12347 |    UPDATE_REG(0xDA, DM3DAD_H);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12360:5: note: in expansion of macro 'UPDATE_REG'
12360 |     UPDATE_REG(0xDE, DM3CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12360:5: note: in expansion of macro 'UPDATE_REG'
12360 |     UPDATE_REG(0xDE, DM3CNT_H);
      |     ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12403:4: note: in expansion of macro 'UPDATE_REG'
12403 |    UPDATE_REG(0x130, io_registers[REG_P1]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12403:4: note: in expansion of macro 'UPDATE_REG'
12403 |    UPDATE_REG(0x130, io_registers[REG_P1]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12406:4: note: in expansion of macro 'UPDATE_REG'
12406 |    UPDATE_REG(0x132, value & 0xC3FF);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12406:4: note: in expansion of macro 'UPDATE_REG'
12406 |    UPDATE_REG(0x132, value & 0xC3FF);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12410:4: note: in expansion of macro 'UPDATE_REG'
12410 |    UPDATE_REG(0x200, io_registers[REG_IE]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12410:4: note: in expansion of macro 'UPDATE_REG'
12410 |    UPDATE_REG(0x200, io_registers[REG_IE]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12416:4: note: in expansion of macro 'UPDATE_REG'
12416 |    UPDATE_REG(0x202, io_registers[REG_IF]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12416:4: note: in expansion of macro 'UPDATE_REG'
12416 |    UPDATE_REG(0x202, io_registers[REG_IF]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12460:4: note: in expansion of macro 'UPDATE_REG'
12460 |    UPDATE_REG(0x204, value & 0x7FFF);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12460:4: note: in expansion of macro 'UPDATE_REG'
12460 |    UPDATE_REG(0x204, value & 0x7FFF);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12464:4: note: in expansion of macro 'UPDATE_REG'
12464 |    UPDATE_REG(0x208, io_registers[REG_IME]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12464:4: note: in expansion of macro 'UPDATE_REG'
12464 |    UPDATE_REG(0x208, io_registers[REG_IME]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12471:4: note: in expansion of macro 'UPDATE_REG'
12471 |    UPDATE_REG(0x300, value);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12471:4: note: in expansion of macro 'UPDATE_REG'
12471 |    UPDATE_REG(0x300, value);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12474:4: note: in expansion of macro 'UPDATE_REG'
12474 |    UPDATE_REG(address&0x3FE, value);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12474:4: note: in expansion of macro 'UPDATE_REG'
12474 |    UPDATE_REG(address&0x3FE, value);
      |    ^~~~~~~~~~
src/gba.cpp: In function 'void CPUReset()':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12748:2: note: in expansion of macro 'UPDATE_REG'
12748 |  UPDATE_REG(0x00, io_registers[REG_DISPCNT]);
      |  ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12748:2: note: in expansion of macro 'UPDATE_REG'
12748 |  UPDATE_REG(0x00, io_registers[REG_DISPCNT]);
      |  ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12749:2: note: in expansion of macro 'UPDATE_REG'
12749 |  UPDATE_REG(0x06, io_registers[REG_VCOUNT]);
      |  ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12749:2: note: in expansion of macro 'UPDATE_REG'
12749 |  UPDATE_REG(0x06, io_registers[REG_VCOUNT]);
      |  ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12750:2: note: in expansion of macro 'UPDATE_REG'
12750 |  UPDATE_REG(0x20, io_registers[REG_BG2PA]);
      |  ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12750:2: note: in expansion of macro 'UPDATE_REG'
12750 |  UPDATE_REG(0x20, io_registers[REG_BG2PA]);
      |  ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12751:2: note: in expansion of macro 'UPDATE_REG'
12751 |  UPDATE_REG(0x26, io_registers[REG_BG2PD]);
      |  ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12751:2: note: in expansion of macro 'UPDATE_REG'
12751 |  UPDATE_REG(0x26, io_registers[REG_BG2PD]);
      |  ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12752:2: note: in expansion of macro 'UPDATE_REG'
12752 |  UPDATE_REG(0x30, io_registers[REG_BG3PA]);
      |  ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12752:2: note: in expansion of macro 'UPDATE_REG'
12752 |  UPDATE_REG(0x30, io_registers[REG_BG3PA]);
      |  ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12753:2: note: in expansion of macro 'UPDATE_REG'
12753 |  UPDATE_REG(0x36, io_registers[REG_BG3PD]);
      |  ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12753:2: note: in expansion of macro 'UPDATE_REG'
12753 |  UPDATE_REG(0x36, io_registers[REG_BG3PD]);
      |  ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12754:2: note: in expansion of macro 'UPDATE_REG'
12754 |  UPDATE_REG(0x130, io_registers[REG_P1]);
      |  ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12754:2: note: in expansion of macro 'UPDATE_REG'
12754 |  UPDATE_REG(0x130, io_registers[REG_P1]);
      |  ^~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12899:2: note: in expansion of macro 'ARM_PREFETCH'
12899 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12899:2: note: in expansion of macro 'ARM_PREFETCH'
12899 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12899:2: note: in expansion of macro 'ARM_PREFETCH'
12899 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12899:2: note: in expansion of macro 'ARM_PREFETCH'
12899 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12899:2: note: in expansion of macro 'ARM_PREFETCH'
12899 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12899:2: note: in expansion of macro 'ARM_PREFETCH'
12899 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/gba.cpp: In function 'void CPUInterrupt()':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12923:2: note: in expansion of macro 'ARM_PREFETCH'
12923 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12923:2: note: in expansion of macro 'ARM_PREFETCH'
12923 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:317:22: note: in expansion of macro 'CPUReadMemoryQuick'
  317 |     cpuPrefetch[0] = CPUReadMemoryQuick(bus.armNextPC);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12923:2: note: in expansion of macro 'ARM_PREFETCH'
12923 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12923:2: note: in expansion of macro 'ARM_PREFETCH'
12923 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12923:2: note: in expansion of macro 'ARM_PREFETCH'
12923 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:762:34: note: in expansion of macro 'READ32LE'
  762 | #define CPUReadMemoryQuick(addr) READ32LE(((u32*)&map[(addr)>>24].address[(addr) & map[(addr)>>24].mask]))
      |                                  ^~~~~~~~
src/gba.cpp:318:22: note: in expansion of macro 'CPUReadMemoryQuick'
  318 |     cpuPrefetch[1] = CPUReadMemoryQuick(bus.armNextPC+4);\
      |                      ^~~~~~~~~~~~~~~~~~
src/gba.cpp:12923:2: note: in expansion of macro 'ARM_PREFETCH'
12923 |  ARM_PREFETCH;
      |  ^~~~~~~~~~~~
src/gba.cpp: In function 'void UpdateJoypad()':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12943:4: note: in expansion of macro 'UPDATE_REG'
12943 |    UPDATE_REG(0x130, io_registers[REG_P1]);
      |    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12943:4: note: in expansion of macro 'UPDATE_REG'
12943 |    UPDATE_REG(0x130, io_registers[REG_P1]);
      |    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12954:13: note: in expansion of macro 'UPDATE_REG'
12954 |             UPDATE_REG(0x202, io_registers[REG_IF]);
      |             ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12954:13: note: in expansion of macro 'UPDATE_REG'
12954 |             UPDATE_REG(0x202, io_registers[REG_IF]);
      |             ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12959:13: note: in expansion of macro 'UPDATE_REG'
12959 |             UPDATE_REG(0x202, io_registers[REG_IF]);
      |             ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:12959:13: note: in expansion of macro 'UPDATE_REG'
12959 |             UPDATE_REG(0x202, io_registers[REG_IF]);
      |             ^~~~~~~~~~
src/gba.cpp: In function 'void CPULoop()':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13035:7: note: in expansion of macro 'UPDATE_REG'
13035 |       UPDATE_REG(0x06, R_VCOUNT);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13035:7: note: in expansion of macro 'UPDATE_REG'
13035 |       UPDATE_REG(0x06, R_VCOUNT);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13037:7: note: in expansion of macro 'UPDATE_REG'
13037 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13037:7: note: in expansion of macro 'UPDATE_REG'
13037 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13038:7: note: in expansion of macro 'CPUCompareVCOUNT'
13038 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13038:7: note: in expansion of macro 'CPUCompareVCOUNT'
13038 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:13038:7: note: in expansion of macro 'CPUCompareVCOUNT'
13038 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:13038:7: note: in expansion of macro 'CPUCompareVCOUNT'
13038 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13038:7: note: in expansion of macro 'CPUCompareVCOUNT'
13038 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13038:7: note: in expansion of macro 'CPUCompareVCOUNT'
13038 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13044:7: note: in expansion of macro 'UPDATE_REG'
13044 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13044:7: note: in expansion of macro 'UPDATE_REG'
13044 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13048:8: note: in expansion of macro 'UPDATE_REG'
13048 |        UPDATE_REG(0x202, io_registers[REG_IF]);
      |        ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13048:8: note: in expansion of macro 'UPDATE_REG'
13048 |        UPDATE_REG(0x202, io_registers[REG_IF]);
      |        ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13056:7: note: in expansion of macro 'UPDATE_REG'
13056 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13056:7: note: in expansion of macro 'UPDATE_REG'
13056 |       UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13058:7: note: in expansion of macro 'UPDATE_REG'
13058 |       UPDATE_REG(0x06, R_VCOUNT);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13058:7: note: in expansion of macro 'UPDATE_REG'
13058 |       UPDATE_REG(0x06, R_VCOUNT);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13059:7: note: in expansion of macro 'CPUCompareVCOUNT'
13059 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13059:7: note: in expansion of macro 'CPUCompareVCOUNT'
13059 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:13059:7: note: in expansion of macro 'CPUCompareVCOUNT'
13059 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:13059:7: note: in expansion of macro 'CPUCompareVCOUNT'
13059 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13059:7: note: in expansion of macro 'CPUCompareVCOUNT'
13059 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13059:7: note: in expansion of macro 'CPUCompareVCOUNT'
13059 |       CPUCompareVCOUNT();
      |       ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13066:6: note: in expansion of macro 'UPDATE_REG'
13066 |      UPDATE_REG(0x06, R_VCOUNT);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13066:6: note: in expansion of macro 'UPDATE_REG'
13066 |      UPDATE_REG(0x06, R_VCOUNT);
      |      ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13081:16: note: in expansion of macro 'UPDATE_REG'
13081 |                UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |                ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13081:16: note: in expansion of macro 'UPDATE_REG'
13081 |                UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |                ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13085:20: note: in expansion of macro 'UPDATE_REG'
13085 |                    UPDATE_REG(0x202, io_registers[REG_IF]);
      |                    ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13085:20: note: in expansion of macro 'UPDATE_REG'
13085 |                    UPDATE_REG(0x202, io_registers[REG_IF]);
      |                    ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13109:6: note: in expansion of macro 'UPDATE_REG'
13109 |      UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13109:6: note: in expansion of macro 'UPDATE_REG'
13109 |      UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |      ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13110:6: note: in expansion of macro 'CPUCompareVCOUNT'
13110 |      CPUCompareVCOUNT();
      |      ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8847:5: note: in expansion of macro 'UPDATE_REG'
 8847 |     UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13110:6: note: in expansion of macro 'CPUCompareVCOUNT'
13110 |      CPUCompareVCOUNT();
      |      ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:13110:6: note: in expansion of macro 'CPUCompareVCOUNT'
13110 |      CPUCompareVCOUNT();
      |      ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8851:7: note: in expansion of macro 'UPDATE_REG'
 8851 |       UPDATE_REG(0x202, io_registers[REG_IF]); \
      |       ^~~~~~~~~~
src/gba.cpp:13110:6: note: in expansion of macro 'CPUCompareVCOUNT'
13110 |      CPUCompareVCOUNT();
      |      ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13110:6: note: in expansion of macro 'CPUCompareVCOUNT'
13110 |      CPUCompareVCOUNT();
      |      ^~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:8857:5: note: in expansion of macro 'UPDATE_REG'
 8857 |     UPDATE_REG(0x4, io_registers[REG_DISPSTAT]); \
      |     ^~~~~~~~~~
src/gba.cpp:13110:6: note: in expansion of macro 'CPUCompareVCOUNT'
13110 |      CPUCompareVCOUNT();
      |      ^~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13139:6: note: in expansion of macro 'UPDATE_REG'
13139 |      UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13139:6: note: in expansion of macro 'UPDATE_REG'
13139 |      UPDATE_REG(0x04, io_registers[REG_DISPSTAT]);
      |      ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13145:7: note: in expansion of macro 'UPDATE_REG'
13145 |       UPDATE_REG(0x202, io_registers[REG_IF]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13145:7: note: in expansion of macro 'UPDATE_REG'
13145 |       UPDATE_REG(0x202, io_registers[REG_IF]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13169:8: note: in expansion of macro 'UPDATE_REG'
13169 |        UPDATE_REG(0x202, io_registers[REG_IF]);
      |        ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13169:8: note: in expansion of macro 'UPDATE_REG'
13169 |        UPDATE_REG(0x202, io_registers[REG_IF]);
      |        ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13173:6: note: in expansion of macro 'UPDATE_REG'
13173 |      UPDATE_REG(0x100, io_registers[REG_TM0D]);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13173:6: note: in expansion of macro 'UPDATE_REG'
13173 |      UPDATE_REG(0x100, io_registers[REG_TM0D]);
      |      ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13186:10: note: in expansion of macro 'UPDATE_REG'
13186 |          UPDATE_REG(0x202, io_registers[REG_IF]);
      |          ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13186:10: note: in expansion of macro 'UPDATE_REG'
13186 |          UPDATE_REG(0x202, io_registers[REG_IF]);
      |          ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13189:8: note: in expansion of macro 'UPDATE_REG'
13189 |        UPDATE_REG(0x104, io_registers[REG_TM1D]);
      |        ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13189:8: note: in expansion of macro 'UPDATE_REG'
13189 |        UPDATE_REG(0x104, io_registers[REG_TM1D]);
      |        ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13199:9: note: in expansion of macro 'UPDATE_REG'
13199 |         UPDATE_REG(0x202, io_registers[REG_IF]);
      |         ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13199:9: note: in expansion of macro 'UPDATE_REG'
13199 |         UPDATE_REG(0x202, io_registers[REG_IF]);
      |         ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13203:7: note: in expansion of macro 'UPDATE_REG'
13203 |       UPDATE_REG(0x104, io_registers[REG_TM1D]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13203:7: note: in expansion of macro 'UPDATE_REG'
13203 |       UPDATE_REG(0x104, io_registers[REG_TM1D]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13216:10: note: in expansion of macro 'UPDATE_REG'
13216 |          UPDATE_REG(0x202, io_registers[REG_IF]);
      |          ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13216:10: note: in expansion of macro 'UPDATE_REG'
13216 |          UPDATE_REG(0x202, io_registers[REG_IF]);
      |          ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13219:8: note: in expansion of macro 'UPDATE_REG'
13219 |        UPDATE_REG(0x108, io_registers[REG_TM2D]);
      |        ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13219:8: note: in expansion of macro 'UPDATE_REG'
13219 |        UPDATE_REG(0x108, io_registers[REG_TM2D]);
      |        ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13228:9: note: in expansion of macro 'UPDATE_REG'
13228 |         UPDATE_REG(0x202, io_registers[REG_IF]);
      |         ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13228:9: note: in expansion of macro 'UPDATE_REG'
13228 |         UPDATE_REG(0x202, io_registers[REG_IF]);
      |         ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13232:7: note: in expansion of macro 'UPDATE_REG'
13232 |       UPDATE_REG(0x108, io_registers[REG_TM2D]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13232:7: note: in expansion of macro 'UPDATE_REG'
13232 |       UPDATE_REG(0x108, io_registers[REG_TM2D]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13244:10: note: in expansion of macro 'UPDATE_REG'
13244 |          UPDATE_REG(0x202, io_registers[REG_IF]);
      |          ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13244:10: note: in expansion of macro 'UPDATE_REG'
13244 |          UPDATE_REG(0x202, io_registers[REG_IF]);
      |          ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13247:8: note: in expansion of macro 'UPDATE_REG'
13247 |        UPDATE_REG(0x10C, io_registers[REG_TM3D]);
      |        ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13247:8: note: in expansion of macro 'UPDATE_REG'
13247 |        UPDATE_REG(0x10C, io_registers[REG_TM3D]);
      |        ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13255:9: note: in expansion of macro 'UPDATE_REG'
13255 |         UPDATE_REG(0x202, io_registers[REG_IF]);
      |         ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13255:9: note: in expansion of macro 'UPDATE_REG'
13255 |         UPDATE_REG(0x202, io_registers[REG_IF]);
      |         ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13259:7: note: in expansion of macro 'UPDATE_REG'
13259 |       UPDATE_REG(0x10C, io_registers[REG_TM3D]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13259:7: note: in expansion of macro 'UPDATE_REG'
13259 |       UPDATE_REG(0x10C, io_registers[REG_TM3D]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13344:7: note: in expansion of macro 'UPDATE_REG'
13344 |       UPDATE_REG(0x100, io_registers[REG_TM0D]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13344:7: note: in expansion of macro 'UPDATE_REG'
13344 |       UPDATE_REG(0x100, io_registers[REG_TM0D]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13348:6: note: in expansion of macro 'UPDATE_REG'
13348 |      UPDATE_REG(0x102, io_registers[REG_TM0CNT]);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13348:6: note: in expansion of macro 'UPDATE_REG'
13348 |      UPDATE_REG(0x102, io_registers[REG_TM0CNT]);
      |      ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13357:7: note: in expansion of macro 'UPDATE_REG'
13357 |       UPDATE_REG(0x104, io_registers[REG_TM1D]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13357:7: note: in expansion of macro 'UPDATE_REG'
13357 |       UPDATE_REG(0x104, io_registers[REG_TM1D]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13361:6: note: in expansion of macro 'UPDATE_REG'
13361 |      UPDATE_REG(0x106, io_registers[REG_TM1CNT]);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13361:6: note: in expansion of macro 'UPDATE_REG'
13361 |      UPDATE_REG(0x106, io_registers[REG_TM1CNT]);
      |      ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13370:7: note: in expansion of macro 'UPDATE_REG'
13370 |       UPDATE_REG(0x108, io_registers[REG_TM2D]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13370:7: note: in expansion of macro 'UPDATE_REG'
13370 |       UPDATE_REG(0x108, io_registers[REG_TM2D]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13374:6: note: in expansion of macro 'UPDATE_REG'
13374 |      UPDATE_REG(0x10A, io_registers[REG_TM2CNT]);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13374:6: note: in expansion of macro 'UPDATE_REG'
13374 |      UPDATE_REG(0x10A, io_registers[REG_TM2CNT]);
      |      ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13383:7: note: in expansion of macro 'UPDATE_REG'
13383 |       UPDATE_REG(0x10C, io_registers[REG_TM3D]);
      |       ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13383:7: note: in expansion of macro 'UPDATE_REG'
13383 |       UPDATE_REG(0x10C, io_registers[REG_TM3D]);
      |       ^~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13387:6: note: in expansion of macro 'UPDATE_REG'
13387 |      UPDATE_REG(0x10E, io_registers[REG_TM3CNT]);
      |      ^~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:311:36: note: in expansion of macro 'WRITE16LE'
  311 | #define UPDATE_REG(address, value) WRITE16LE(((u16 *)&ioMem[address]),value);
      |                                    ^~~~~~~~~
src/gba.cpp:13387:6: note: in expansion of macro 'UPDATE_REG'
13387 |      UPDATE_REG(0x10E, io_registers[REG_TM3CNT]);
      |      ^~~~~~~~~~
src/gba.cpp: In function 'int cheatsCheckKeys(u32, u32)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:13972:7: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
13972 |       CHEAT_PATCH_ROM_16BIT(rompatch2addr [i],rompatch2oldval [i]);
      |       ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:13972:7: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
13972 |       CHEAT_PATCH_ROM_16BIT(rompatch2addr [i],rompatch2oldval [i]);
      |       ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14075:13: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14075 |             CHEAT_PATCH_ROM_16BIT(cheatsList[i].address, cheatsList[i].value);
      |             ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14075:13: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14075 |             CHEAT_PATCH_ROM_16BIT(cheatsList[i].address, cheatsList[i].value);
      |             ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14684:11: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14684 |           CHEAT_PATCH_ROM_16BIT(cheatsList[i].address, cheatsList[i].value);
      |           ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14684:11: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14684 |           CHEAT_PATCH_ROM_16BIT(cheatsList[i].address, cheatsList[i].value);
      |           ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14701:7: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14701 |       CHEAT_PATCH_ROM_16BIT(rompatch2addr [i],rompatch2val [i]);
      |       ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14701:7: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14701 |       CHEAT_PATCH_ROM_16BIT(rompatch2addr [i],rompatch2val [i]);
      |       ^~~~~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void cheatsDelete(int, bool)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14766:11: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14766 |           CHEAT_PATCH_ROM_16BIT(cheatsList[x].address, cheatsList[x].oldValue);
      |           ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14766:11: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14766 |           CHEAT_PATCH_ROM_16BIT(cheatsList[x].address, cheatsList[x].oldValue);
      |           ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14780:11: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14780 |           CHEAT_PATCH_ROM_16BIT(cheatsList[x].address,
      |           ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14780:11: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14780 |           CHEAT_PATCH_ROM_16BIT(cheatsList[x].address,
      |           ^~~~~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void cheatsDisable(int)':
src/port.h:81:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                           ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14827:9: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14827 |         CHEAT_PATCH_ROM_16BIT(cheatsList[i].address,
      |         ^~~~~~~~~~~~~~~~~~~~~
src/port.h:81:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   81 | #define WRITE16LE(x,v) *((u16 *)(x)) = (*((u16 *)(v))<<8)|(*((u16 *)(v))>>8);
      |                                                              ^~~~~~~~~~
src/gba.cpp:13700:3: note: in expansion of macro 'WRITE16LE'
13700 |   WRITE16LE(((u16 *)&rom[(a) & 0x1ffffff]), v);
      |   ^~~~~~~~~
src/gba.cpp:14827:9: note: in expansion of macro 'CHEAT_PATCH_ROM_16BIT'
14827 |         CHEAT_PATCH_ROM_16BIT(cheatsList[i].address,
      |         ^~~~~~~~~~~~~~~~~~~~~
src/gba.cpp: In function 'void cheatsAddGSACode(const char*, const char*, bool)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:15003:20: note: in expansion of macro 'READ32LE'
15003 |     u32 gamecode = READ32LE(((u32 *)&rom[0xac]));
      |                    ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:15003:20: note: in expansion of macro 'READ32LE'
15003 |     u32 gamecode = READ32LE(((u32 *)&rom[0xac]));
      |                    ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:15003:20: note: in expansion of macro 'READ32LE'
15003 |     u32 gamecode = READ32LE(((u32 *)&rom[0xac]));
      |                    ^~~~~~~~
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:15009:27: note: in expansion of macro 'READ32LE'
15009 |       *((u32 *)buffer2) = READ32LE(((u32 *)&rom[0xac]));
      |                           ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:15009:27: note: in expansion of macro 'READ32LE'
15009 |       *((u32 *)buffer2) = READ32LE(((u32 *)&rom[0xac]));
      |                           ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:15009:27: note: in expansion of macro 'READ32LE'
15009 |       *((u32 *)buffer2) = READ32LE(((u32 *)&rom[0xac]));
      |                           ^~~~~~~~
src/gba.cpp: In function 'void cheatsAddCBACode(const char*, const char*)':
src/port.h:80:90: error: expression cannot be used as a function
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                                          ^
src/gba.cpp:15887:15: note: in expansion of macro 'READ32LE'
15887 |     address = READ32LE(((u32 *)array));
      |               ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                        ~                                                  ^
src/gba.cpp:15887:15: note: in expansion of macro 'READ32LE'
15887 |     address = READ32LE(((u32 *)array));
      |               ^~~~~~~~
src/port.h:80:123: error: expected ')' before ';' token
   80 | #define READ32LE(x) (*((u32 *)(x))<<24)|((*((u32 *)(x))<<8)&0xff0000)|((((*((u32 *)(x))(x)>>8)&0xff00)|(*((u32 *)(x))>>24);
      |                                                                       ~                                                   ^
src/gba.cpp:15887:15: note: in expansion of macro 'READ32LE'
15887 |     address = READ32LE(((u32 *)array));
      |               ^~~~~~~~
src/gba.cpp: In function 'u32 CPUReadHalfWord(u32)':
src/gba.cpp:1041:11: warning: control reaches end of non-void function [-Wreturn-type]
 1041 |     value = CPUReadHalfWordQuick(param);
distcc[21545] ERROR: compile src/gba.cpp on localhost failed
gmake: *** [Makefile.libretro:622: src/gba.o] Error 1
*** Error code 2

Stop.
make[1]: stopped in /usr/pkgsrc/emulators/libretro-vba-next
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/emulators/libretro-vba-next