32x drc functional on ARM, random adjustments
[picodrive.git] / cpu / sh2 / mame / sh2pico.c
index 0ed1397..57b7d9c 100644 (file)
@@ -8,12 +8,12 @@ typedef unsigned int   UINT32;
 typedef unsigned short UINT16;
 typedef unsigned char  UINT8;
 
-#define RB(a) p32x_sh2_read8(a,sh2->is_slave)
-#define RW(a) p32x_sh2_read16(a,sh2->is_slave)
-#define RL(a) p32x_sh2_read32(a,sh2->is_slave)
-#define WB(a,d) p32x_sh2_write8(a,d,sh2->is_slave)
-#define WW(a,d) p32x_sh2_write16(a,d,sh2->is_slave)
-#define WL(a,d) p32x_sh2_write32(a,d,sh2->is_slave)
+#define RB(a) p32x_sh2_read8(a,sh2)
+#define RW(a) p32x_sh2_read16(a,sh2)
+#define RL(a) p32x_sh2_read32(a,sh2)
+#define WB(a,d) p32x_sh2_write8(a,d,sh2)
+#define WW(a,d) p32x_sh2_write16(a,d,sh2)
+#define WL(a,d) p32x_sh2_write32(a,d,sh2)
 
 // some stuff from sh2comn.h
 #define T      0x00000001
@@ -104,8 +104,14 @@ void sh2_execute(SH2 *sh2_, int cycles)
 
 #else // DRC_TMP
 
+#ifdef __i386__
+#define REGPARM(x) __attribute__((regparm(x)))
+#else
+#define REGPARM(x)
+#endif
+
 // tmp
-void __attribute__((regparm(2))) sh2_do_op(SH2 *sh2_, int opcode)
+void REGPARM(2) sh2_do_op(SH2 *sh2_, int opcode)
 {
        sh2 = sh2_;
        sh2->pc += 2;