#include <string.h>\r
#include "cz80.h"\r
\r
+#if PICODRIVE_HACKS\r
+#undef EMU_M68K\r
+#include <Pico/PicoInt.h>\r
+#endif\r
+\r
#ifndef ALIGN_DATA\r
+#ifdef _MSC_VER\r
+#define ALIGN_DATA\r
+#define inline\r
+#undef CZ80_USE_JUMPTABLE\r
+#define CZ80_USE_JUMPTABLE 0\r
+#else\r
#define ALIGN_DATA __attribute__((aligned(4)))\r
#endif\r
+#endif\r
\r
#define CF 0x01\r
#define NF 0x02\r
Cz80_Set_Reg(CPU, CZ80_PC, 0);\r
}\r
\r
+/* */\r
+#if PICODRIVE_HACKS\r
+static inline unsigned char picodrive_read(unsigned short a)\r
+{\r
+ return (a < 0x4000) ? Pico.zram[a&0x1fff] : z80_read(a);\r
+}\r
+#endif\r
\r
/*--------------------------------------------------------\r
CPU\8eÀ\8ds\r
UINT32 res;\r
UINT32 val;\r
int afterEI = 0;\r
+ union16 *data;\r
\r
PC = CPU->PC;\r
#if CZ80_ENCRYPTED_ROM\r
Cz80_Exec:\r
if (CPU->ICount > 0)\r
{\r
- union16 *data = pzHL;\r
+Cz80_Exec_nocheck:\r
+ data = pzHL;\r
Opcode = READ_OP();\r
#if CZ80_EMULATE_R_EXACTLY\r
zR++;\r
{\r
afterEI = 0;\r
Cz80_Check_Interrupt:\r
- CHECK_INT\r
+ if (CPU->IRQState != CLEAR_LINE)\r
+ {\r
+ CHECK_INT\r
+ CPU->ICount -= CPU->ExtraCycles;\r
+ CPU->ExtraCycles = 0;\r
+ }\r
goto Cz80_Exec;\r
}\r
}\r