plugin_lib: fix a silly crash
[pcsx_rearmed.git] / libpcsxcore / psxmem.h
index a7c6dd1..129973c 100644 (file)
@@ -28,11 +28,8 @@ extern "C" {
 
 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 
-#define _SWAP16(b) ((((unsigned char *)&(b))[0] & 0xff) | (((unsigned char *)&(b))[1] & 0xff) << 8)
-#define _SWAP32(b) ((((unsigned char *)&(b))[0] & 0xff) | ((((unsigned char *)&(b))[1] & 0xff) << 8) | ((((unsigned char *)&(b))[2] & 0xff) << 16) | (((unsigned char *)&(b))[3] << 24))
-
-#define SWAP16(v) ((((v) & 0xff00) >> 8) +(((v) & 0xff) << 8))
-#define SWAP32(v) ((((v) & 0xff000000ul) >> 24) + (((v) & 0xff0000ul) >> 8) + (((v) & 0xff00ul)<<8) +(((v) & 0xfful) << 24))
+#define SWAP16(v) __builtin_bswap16(v)
+#define SWAP32(v) __builtin_bswap32(v)
 #define SWAPu32(v) SWAP32((u32)(v))
 #define SWAPs32(v) SWAP32((s32)(v))
 
@@ -49,7 +46,11 @@ extern "C" {
 
 #endif
 
+#ifdef LIGHTREC
 #define INVALID_PTR ((void *)-1)
+#else
+#define INVALID_PTR NULL
+#endif
 
 extern s8 *psxM;
 #define psxMs8(mem)            psxM[(mem) & 0x1fffff]
@@ -126,6 +127,7 @@ extern u8 **psxMemRLUT;
 
 int psxMemInit();
 void psxMemReset();
+void psxMemOnIsolate(int enable);
 void psxMemShutdown();
 
 u8 psxMemRead8 (u32 mem);