--- PsxBios.c.old 2006-05-02 21:22:52.000000000 +0200 +++ PsxBios.c 2006-05-02 21:41:56.000000000 +0200 @@ -2253,7 +2253,7 @@ if (ptr) psxRu32ref(base) = SWAPu32((u32)ptr - (u32)psxM); \ else psxRu32ref(base) = 0; \ } else { \ - if (psxRu32(base)) (u8*)ptr = (u8*)(psxM + psxRu32(base)); \ + if (psxRu32(base)) *(u8**)&ptr = (u8*)(psxM + psxRu32(base)); \ else ptr = NULL; \ } \ base+=4; --- R3000A.h.old 2006-05-02 21:44:36.000000000 +0200 +++ R3000A.h 2006-05-02 21:45:07.000000000 +0200 @@ -135,7 +135,7 @@ psxRegisters psxRegs; -#define _i32(x) (long)x +#define _i32(x) *(long *)&x #define _u32(x) x #define _i16(x) (short)x