optimizations, fixes, hacks, psp, ...
[picodrive.git] / cpu / cz80 / cz80macro.h
index 91b49ef..7118dcc 100644 (file)
 //#ifndef BUILD_CPS1PSP\r
 //#define READ_MEM8(A)         memory_region_cpu2[(A)]\r
 //#else\r
+#if PICODRIVE_HACKS\r
+#define READ_MEM8(A)           picodrive_read(A)\r
+#else\r
 #define READ_MEM8(A)           CPU->Read_Byte(A)\r
+#endif\r
 //#endif\r
 #if CZ80_LITTLE_ENDIAN\r
 #define READ_MEM16(A)          (READ_MEM8(A) | (READ_MEM8((A) + 1) << 8))\r
 #define READ_MEM16(A)          ((READ_MEM8(A) << 8) | READ_MEM8((A) + 1))\r
 #endif\r
 \r
+#if PICODRIVE_HACKS\r
+#define WRITE_MEM8(A, D) { \\r
+       unsigned short a = A; \\r
+       unsigned char d = D; \\r
+       if (a < 0x4000) Pico.zram[a&0x1fff] = d; \\r
+       else z80_write(a, d); \\r
+}\r
+#else\r
 #define WRITE_MEM8(A, D)       CPU->Write_Byte(A, D);\r
+#endif\r
 #if CZ80_LITTLE_ENDIAN\r
 #define WRITE_MEM16(A, D)      { WRITE_MEM8(A, D); WRITE_MEM8((A) + 1, (D) >> 8); }\r
 #else\r