//#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
+ unsigned long v = z80_write_map[a >> Z80_MEM_SHIFT]; \\r
+ if (map_flag_set(v)) \\r
+ ((z80_write_f *)(v << 1))(a, d); \\r
+ else \\r
+ *(unsigned char *)((v << 1) + 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